Перенос 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

Заходим на наш сайт. Все!

Добавить комментарий