1. Подготовьте сервер
Подойдет Ubuntu 22.04/24.04 или другой Linux-сервер с root/sudo доступом. Домен должен смотреть на IP сервера.
sudo apt update
sudo apt install -y curl git nginx
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
sudo mkdir -p /opt/nnop-panel
sudo chown "$USER":"$USER" /opt/nnop-panel
cd /opt/nnop-panel
wget https://nn-cloud.top/panel/releases/nnop-panel-1.0.0-source.tar.gz
tar -xzf nnop-panel-1.0.0-source.tar.gz --strip-components=1
npm install
cp .env.example .env.local
2. Настройте окружение
Откройте .env.local, задайте логин администратора, сильный пароль, случайный session secret и публичный HTTPS-адрес панели.
NNOP_PANEL_ADMIN_USERNAME=admin
NNOP_PANEL_ADMIN_PASSWORD=change-this-password-now
NNOP_PANEL_SESSION_SECRET=replace-with-a-long-random-secret
NNOP_PANEL_PUBLIC_BASE_URL=https://panel.example.com
NNOP_PANEL_CORE_BINARY_PATH=/usr/local/bin/secure-core
NNOP_PANEL_CORE_CONFIG_PATH=/usr/local/etc/secure-core/config.json
NNOP_PANEL_CORE_SERVICE_NAME=secure-core
# For UI-only testing without applying server changes:
# NNOP_PANEL_DISABLE_CORE_APPLY=1
4. Создайте systemd-сервис
Сохраните блок ниже в /etc/systemd/system/nnop-panel.service, затем включите сервис.
[Unit]
Description=NNOP Panel
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/nnop-panel
Environment=NODE_ENV=production
Environment=PORT=3010
ExecStart=/usr/bin/npm run start
Restart=always
RestartSec=5
User=root
[Install]
WantedBy=multi-user.target
5. Подключите домен через Nginx
Пример ниже проксирует домен на локальный порт панели. После этого можно добавить HTTPS через certbot.
server {
listen 80;
server_name panel.example.com;
location / {
proxy_pass http://127.0.0.1:3010;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}