SHA256
89 lines
3.7 KiB
Markdown
89 lines
3.7 KiB
Markdown
# Production-серверы SHiNE
|
|
|
|
Production-контуров два. В документах и скриптах использовать домены, а не IP: физический VPS можно заменить без изменения deploy-логики.
|
|
|
|
Текущее фактическое состояние на `2026-07-28`:
|
|
|
|
- `shineup.me` и `server2.shineup.me` оба уже переведены на `PostgreSQL 18.4`;
|
|
- оба production используют локальный Docker-контейнер `shine-postgres`;
|
|
- оба production работают без `SQLite`;
|
|
- оба production используют Helius mainnet RPC/WS для Solana users sync и runtime Solana RPC.
|
|
|
|
## Основной production
|
|
|
|
- Домен: `shineup.me`
|
|
- SSH: `player@shineup.me`
|
|
- Логин сервера SHiNE: `shineupme`
|
|
- Базовый каталог: `/home/player/SHiNE`
|
|
- Сервер: `/home/player/SHiNE/shine-server/shine-server.jar`
|
|
- UI: `/home/player/SHiNE/shine-ui`
|
|
- Данные: `/home/player/SHiNE/shine-server/data/`
|
|
- Логи: `/home/player/SHiNE/shine-server/logs/app.log`
|
|
- systemd service: `shine-server.service`
|
|
- Caddy site: `shineup.me`
|
|
- WebSocket: `/ws` -> `127.0.0.1:7070`
|
|
- Solana cluster: `mainnet-beta`
|
|
- Solana RPC/WS: Helius mainnet
|
|
- Runtime DB: PostgreSQL в Docker
|
|
- PostgreSQL container: `shine-postgres`
|
|
- PostgreSQL image: `postgres:18`
|
|
- PostgreSQL engine version на `2026-07-28`: `18.4`
|
|
- PostgreSQL data dir: `/home/player/SHiNE/postgres`
|
|
- PostgreSQL app DB: `shine_main_db`
|
|
- PostgreSQL app user: `shine_main`
|
|
- Web push: отдельный production VAPID key для `shineup.me`
|
|
- TURN для звонков: `turn1.shineup.me`, `turn2.shineup.me`
|
|
- SQLite runtime больше не используется
|
|
|
|
Deploy:
|
|
|
|
```bash
|
|
bash deploy/scripts/production_shineupme_server.sh
|
|
bash deploy/scripts/production_shineupme_ui.sh
|
|
```
|
|
|
|
## Второй production
|
|
|
|
- Домен: `server2.shineup.me`
|
|
- SSH: `player@server2.shineup.me`
|
|
- Логин сервера SHiNE: `server2shineupme`
|
|
- Базовый каталог: `/home/player/SHiNE`
|
|
- Сервер: `/home/player/SHiNE/shine-server/shine-server.jar`
|
|
- UI: `/home/player/SHiNE/shine-ui`
|
|
- Данные: `/home/player/SHiNE/shine-server/data/`
|
|
- Логи: `/home/player/SHiNE/shine-server/logs/app.log`
|
|
- systemd service: `shine-server.service`
|
|
- Caddy site: `server2.shineup.me`
|
|
- WebSocket: `/ws` -> `127.0.0.1:7070`
|
|
- Solana cluster: `mainnet-beta`
|
|
- Solana RPC/WS: Helius mainnet
|
|
- Runtime DB: PostgreSQL в Docker
|
|
- PostgreSQL container: `shine-postgres`
|
|
- PostgreSQL image: `postgres:18`
|
|
- PostgreSQL engine version на `2026-07-28`: `18.4`
|
|
- PostgreSQL data dir: `/home/player/SHiNE/postgres`
|
|
- PostgreSQL app DB: `shine_server2_db`
|
|
- PostgreSQL app user: `shine_server2`
|
|
- Web push: отдельный production VAPID key для `server2.shineup.me`
|
|
- TURN для звонков: `turn1.shineup.me`, `turn3.shineup.me`
|
|
- SQLite runtime больше не используется
|
|
|
|
Deploy:
|
|
|
|
```bash
|
|
bash deploy/scripts/production_server2_server.sh
|
|
bash deploy/scripts/production_server2_ui.sh
|
|
```
|
|
|
|
## Обязательное правило backup
|
|
|
|
Перед любым production deploy нужно обновить локальный бэкап в `deploy/backup/archive/`.
|
|
|
|
Production wrappers проверяют наличие `MANIFEST.txt` в `deploy/backup/archive/<date>/`. Если свежий бэкап не скопирован, deploy должен быть остановлен.
|
|
|
|
## Запрещено
|
|
|
|
- Не использовать IP как основной target deploy.
|
|
- Не возвращать старые deploy-алиасы с названием `test2`.
|
|
- Не считать `t2.shineup.me` вторым production: это test/devnet.
|