Перенос Nightscout на свой сервер VPS/VDS (Ubuntu 20.04)
Настройка NightScout на Ubuntu 20.04
Подготовка сервера к установке NightScout
Запускаем обновление Ubuntu
apt update -y
Устанавливаем найденные обновления
apt dist-upgrade -y
Создаем Виртуальный файл подкачки
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
swapon --show
Устанавливаем дополнительные пакеты которые нам пригодятся при сборке след программ
sudo apt install build-essential checkinstall libssl-dev
Устанавливаем пакет Node.JS
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - &&\
sudo apt-get install -y nodejs
Установка и настройка базы данных MongoDB
sudo apt-get install gnupg
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
systemctl start mongod.service
systemctl status mongod.service
Добавляем в MongoDB пароль для админа (пароль делаем свой не копируйте пароль в целях безопасности!!!)
mongosh
use admin
db.createUser({user:"admin",pwd:"GSg9d8ehgewoH",roles:[{role:'userAdminAnyDatabase',db:'admin'}, "readWriteAnyDatabase"]})
exit
Ставим защиту на MongoDB, открываем текстовый файл
sudo nano /etc/mongod.conf
Ищем параметр security , рядом с которым удаляем решетку и добавляем параметр authorization, должно получиться так:
security:
authorization: enabled
Перезапуском базу данных
sudo systemctl restart mongod
Логинимся в Базу данных и создаем новую базу данных для нашего NightScout (пароль делаем свой не копируйте пароль в целях безопасности!!!)
use nightscout
db.createUser({user:"nightscout",pwd:"Skdgud87gIKSTYgehe",roles:[{role:'readWrite',db:'nightscout'}]})
db.createCollection("entries")
exit
Установка и настройка базы данных NightScout
git clone https://github.com/nightscout/cgm-remote-monitor.git
cd cgm-remote-monitor
export NODE_OPTIONS=--max-old-space-size=8192
npm install
Создаем конфигурационный файл my.env
nano my.env
Вставляем код (API_SECRET делаем свой не копируйте пароль в целях безопасности!!!)
MONGODB_URI=mongodb://nightscout:Skdgud87gIKSTYgehe@127.0.0.1:27017/nightscout
BASE_URL=http://127.0.0.1:1337
API_SECRET=12345678!!!nibbl
MONGODB_COLLECTION=entries
DISPLAY_UNITS=mmol
ENABLE=careportal%20basal%20dbsize%20rawbg%20iob%20maker%20cob%20bwp%20cage%20iage%20sage%20boluscalc%20pushover%20treatmentnotify%20loop%20pump%20profile%20food%20openaps%20bage%20alexa%20override%20speech%20cors
THEME=colors
TIME_FORMAT=24
MONGODB_URI – путь к нашей базе данных (обязательно сделайте свой уникальный пароль)
API_SECRET – секретный пароль к нашей базе данных (обязательно сделайте свой уникальный пароль)
Создаем файл запуска скрипта start.sh
(eval $(cat my.env | sed 's/^/export /') && PORT=1337 node server.js)
Делаем его исполняемым
chmod +x start.sh
Данный пункт очень важный. Сейчас мы будем запускать фоновый режим в котором запустим наш скрипт start.sh
screen
Теперь нажимаем Enter и вводим команду
./start.sh
Теперь надо аккуратно выйти из этого фонового режима, для этого нажимаем комбинацию клавиш "Ctrl + A" и "Ctrl + D"
Прикрепление доменного имено к серверу NightScout
Устанавливаем WEB сервер nginx через который мы и будем следить за нашими показателями.
sudo apt install nginx -y
Создаем конфигурационный файл
sudo nano /etc/nginx/sites-available/nightscout
Копируем настройки в наш конфигурационный файл
server {
listen 80;
server_name vashdomen.ru;
location / {
proxy_pass http://127.0.0.1:1337;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-Proto https;
}
}
vashdomen.ru – тут вписываем название вашего домена
Активируем нашу конфигурацию
sudo ln -s /etc/nginx/sites-available/nightscout /etc/nginx/sites-enabled
Проверяем на ошибки наш конфигурационный файл
sudo nginx -t
Перезапускаем сервер nginx для того чтобы заработал наш конфигурационный файл
sudo systemctl restart nginx
Заходим на наш сайт. Все!