SHA256
3.9 KiB
3.9 KiB
Test/devnet серверы SHiNE
Отдельный test/devnet стенд состоит из четырёх независимых SHiNE-инстансов:
t1.shineup.met2.shineup.met3.shineup.met4.shineup.me
Это не production. Все deploy-цели задаются через домены.
Текущее фактическое состояние на 2026-07-28:
- все четыре тестовых контура
t1/t2/t3/t4уже работают безSQLite; - все четыре контура используют
PostgreSQL 18.4; - PostgreSQL на test-хосте общий для всех четырёх контуров и запущен в Docker-контейнере
shine-test-postgres; - все четыре контура используют один и тот же Helius devnet RPC/WS endpoint;
- во всех четырёх UI включён web push client-код и встроен один и тот же test
VAPIDpublic key.
Общие параметры
- SSH:
player@tX.shineup.me - Solana cluster:
devnet - Solana RPC:
https://devnet.helius-rpc.com/?api-key=0614c894-52d8-4ddc-bbbc-0947ce5ec3a4 - Solana WS:
wss://devnet.helius-rpc.com/?api-key=0614c894-52d8-4ddc-bbbc-0947ce5ec3a4 - Caddy config:
/etc/caddy/Caddyfile - Общий PostgreSQL container:
shine-test-postgres - PostgreSQL image:
postgres:18 - PostgreSQL engine version на
2026-07-28:18.4 - Web push в UI: общий test
VAPIDpublic keyBOdoWZndZRaNe9kyUFsJ5-xEfFABXNKennAKg15Z7ycAwUIQ7yDV_sIWWYJCwJriN4g9oU-CyJPrn1U6lfxuDbI
Инстансы
| Домен | Логин сервера | Сервер | UI | Порт | systemd | PostgreSQL DB | PostgreSQL user |
|---|---|---|---|---|---|---|---|
t1.shineup.me |
server_t1 |
/home/player/t1/server |
/home/player/t1/UI |
7101 |
shine-t1.service |
shine_t1_db |
shine_t1 |
t2.shineup.me |
server_t2 |
/home/player/t2/server |
/home/player/t2/UI |
7102 |
shine-t2.service |
shine_t2_db |
shine_t2 |
t3.shineup.me |
server_t3 |
/home/player/t3/server |
/home/player/t3/UI |
7103 |
shine-t3.service |
shine_t3_db |
shine_t3 |
t4.shineup.me |
server_t4 |
/home/player/t4/server |
/home/player/t4/UI |
7104 |
shine-t4.service |
shine_t4_db |
shine_t4 |
Deploy
bash deploy/scripts/test_t1_server.sh
bash deploy/scripts/test_t1_ui.sh
bash deploy/scripts/test_t2_server.sh
bash deploy/scripts/test_t2_ui.sh
bash deploy/scripts/test_t3_server.sh
bash deploy/scripts/test_t3_ui.sh
bash deploy/scripts/test_t4_server.sh
bash deploy/scripts/test_t4_ui.sh
Проверка
curl -I https://t1.shineup.me
curl -I https://t2.shineup.me
curl -I https://t3.shineup.me
curl -I https://t4.shineup.me
На сервере:
sudo systemctl --no-pager --full status caddy shine-t1 shine-t2 shine-t3 shine-t4
sudo docker ps --format 'table {{.Names}}\t{{.Image}}\t{{.Status}}'
Operational-нюанс
Общий Helius devnet endpoint тоже может начать ограничивать запросы, если несколько инстансов одновременно делают тяжёлый bootstrap. Если после деплоя какой-то инстанс не подтянул sync_servers или завис на startup sync, рестартовать сервисы по одному с паузой.
Отдельный нюанс по web push:
- у
t1,t2,t3,t4в UI уже есть одинаковый встроенныйVAPIDpublic key; - то есть
t3иt4используют тот же web push клиентский код, что иt1/t2; - если позже понадобится разделить push-ключи по тестовым контурам, это нужно делать отдельным UI deploy с новым
DEPLOY_WEBPUSH_VAPID_PUBLIC.