v0.5.13: DevOps-деплой гайд + .env.example
This commit is contained in:
+23
-12
@@ -1,16 +1,27 @@
|
||||
# База данных
|
||||
DB_HOST=your-db-host.svc.cluster.local
|
||||
# ── База данных PostgreSQL ──
|
||||
DB_HOST=localhost
|
||||
DB_PORT=5432
|
||||
DB_NAME=postgres
|
||||
DB_USER=your-user
|
||||
DB_PASS=your-password
|
||||
DB_SSLMODE=require
|
||||
DB_NAME=ipwhitelist
|
||||
DB_USER=super
|
||||
DB_PASS=сменить_пароль
|
||||
DB_SSLMODE=disable
|
||||
|
||||
# Сервер
|
||||
PORT=3000
|
||||
|
||||
# Лимиты
|
||||
# ── Режим разработки (true = без Keycloak, mock-логин) ──
|
||||
DEV_MODE=true
|
||||
DEFAULT_LIMIT=15
|
||||
|
||||
# Режим разработки (true = без Keycloak, читать X-Dev-User из заголовка)
|
||||
DEV_MODE=true
|
||||
# ── Сессия (сменить на случайные строки) ──
|
||||
SESSION_SECRET=сменить_на_случайную_строку
|
||||
CSRF_SECRET=сменить_на_случайную_строку
|
||||
|
||||
# ── Порт сервера ──
|
||||
PORT=3001
|
||||
|
||||
# ── Администратор (clientId) ──
|
||||
ADMIN_CLIENT_ID=WZ01112
|
||||
|
||||
# ── Keycloak (оставить пустым пока нет OIDC) ──
|
||||
# KC_CLIENT_ID=
|
||||
# KC_CLIENT_SECRET=
|
||||
# KC_BASE_URL=https://keycloak.nubes.ru/realms/cloud
|
||||
# APP_URL=https://ваш-домен.ru
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
# Деплой ipwhitelist для DevOps
|
||||
|
||||
> Репозиторий: `https://gitea.services.ngcloud.ru/Nail/ipwhitelist-app.git`
|
||||
|
||||
## Быстрый старт
|
||||
|
||||
```bash
|
||||
# 1. Установить Node.js v20+
|
||||
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
|
||||
apt install -y nodejs git
|
||||
|
||||
# 2. Скачать
|
||||
git clone https://gitea.services.ngcloud.ru/Nail/ipwhitelist-app.git
|
||||
cd ipwhitelist-app
|
||||
npm install
|
||||
|
||||
# 3. Создать .env (см. ниже)
|
||||
cp .env.example .env
|
||||
nano .env
|
||||
|
||||
# 4. Создать БД PostgreSQL
|
||||
sudo -u postgres psql -c "CREATE USER super WITH PASSWORD '...';"
|
||||
sudo -u postgres psql -c "CREATE DATABASE ipwhitelist OWNER super;"
|
||||
psql -h localhost -U super -d ipwhitelist -f sql/schema.sql
|
||||
|
||||
# 5. Запустить
|
||||
npm start
|
||||
# ИЛИ через PM2:
|
||||
npm i -g pm2
|
||||
pm2 start server.js --name ipwhitelist
|
||||
```
|
||||
|
||||
## .env (все параметры)
|
||||
|
||||
```bash
|
||||
# ── База данных PostgreSQL ──
|
||||
DB_HOST=localhost
|
||||
DB_PORT=5432
|
||||
DB_NAME=ipwhitelist
|
||||
DB_USER=super
|
||||
DB_PASS=ваш_пароль
|
||||
DB_SSLMODE=disable
|
||||
|
||||
# ── Режим разработки (оставить true пока нет Keycloak) ──
|
||||
DEV_MODE=true
|
||||
DEFAULT_LIMIT=15
|
||||
|
||||
# ── Сессия (сменить на случайные строки) ──
|
||||
SESSION_SECRET=случайная_строка_32_символа
|
||||
CSRF_SECRET=другая_случайная_строка_32_символа
|
||||
|
||||
# ── Порт ──
|
||||
PORT=3001
|
||||
|
||||
# ── Админ (clientId администратора) ──
|
||||
ADMIN_CLIENT_ID=WZ01112
|
||||
|
||||
# ── Keycloak (не заполнять пока нет) ──
|
||||
# KC_CLIENT_ID=ipwhitelist
|
||||
# KC_CLIENT_SECRET=секрет
|
||||
# KC_BASE_URL=https://keycloak.nubes.ru/realms/cloud
|
||||
# APP_URL=https://ваш-домен.ru
|
||||
```
|
||||
|
||||
## nginx
|
||||
|
||||
```nginx
|
||||
server {
|
||||
listen 80;
|
||||
server_name ваш-домен.ru;
|
||||
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:3001;
|
||||
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;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Keycloak (когда появится)
|
||||
|
||||
Нужно будет вписать в `.env`:
|
||||
```
|
||||
DEV_MODE=false
|
||||
KC_CLIENT_ID=ipwhitelist
|
||||
KC_CLIENT_SECRET=...
|
||||
KC_BASE_URL=https://keycloak.nubes.ru/realms/cloud
|
||||
APP_URL=https://ваш-домен.ru
|
||||
```
|
||||
|
||||
И в админке Keycloak зарегистрировать клиента (см. `docs/deploy-keycloak.md`).
|
||||
|
||||
## Проверка
|
||||
|
||||
| URL | Что должно быть |
|
||||
|---|---|
|
||||
| `https://ваш-домен.ru/healthz` | `OK` |
|
||||
| `https://ваш-домен.ru/export` | Список CIDR (text/plain) |
|
||||
| `https://ваш-домен.ru/` | Страница входа (при DEV_MODE) |
|
||||
Reference in New Issue
Block a user