# Тестовые серверы SHiNE Этот файл описывает тестовые контуры, которые сейчас фигурируют в проекте. ## 1. Основной test-сервер - SSH: `player@193.8.215.70` - Домен: `t.shineup.me` - IP: `193.8.215.70` - Назначение: основной test для обычных `deployServer` / `deployUI` Структура: - каталог SHiNE: `/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` Сервисы: - `shine-server.service` - `caddy.service` Deploy: - `./gradlew deployServer` - `./gradlew deployServerTest2` - `./gradlew deployUI` - `./gradlew deployUITest2` Примечания: - это основной тестовый контур; - default deploy по проекту должен идти сюда; - тестовая БД синхронизируется от production `shineup.me`. ## 2. Резервный test-сервер - SSH: `player@93.170.12.154` - Домен: `test.shineup.me` - IP: `93.170.12.154` - Назначение: резервный test Структура по проектным докам: - каталог SHiNE: `/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` Deploy: - `./gradlew deployServerTest` - `./gradlew deployUITest` Примечания: - этот хост резервный; - использовать его без отдельной причины не нужно. ## 3. Отдельный quad-devnet стенд `t1..t4` - VPS: `178.208.90.249` - пользователь: `player` - назначение: 4 независимых SHiNE-инстанса на Solana `devnet` Домены и логины: - `server_t1` -> `https://t1.shineup.me` - `server_t2` -> `https://t2.shineup.me` - `server_t3` -> `https://t3.shineup.me` - `server_t4` -> `https://t4.shineup.me` Каталоги: - `/home/player/t1/server` - `/home/player/t1/UI` - `/home/player/t2/server` - `/home/player/t2/UI` - `/home/player/t3/server` - `/home/player/t3/UI` - `/home/player/t4/server` - `/home/player/t4/UI` Подробная памятка на самом VPS: - `/home/player/Agents.md` Порты и systemd: - `t1` -> `7101` -> `shine-t1.service` - `t2` -> `7102` -> `shine-t2.service` - `t3` -> `7103` -> `shine-t3.service` - `t4` -> `7104` -> `shine-t4.service` Что важно по конфигу каждого инстанса: - отдельный `/home/player/tX/server/application.properties` - `server.port=710X` - `server.SHiNE.login=server_tX` - `db.path=data/shine.sqlite` - `solana.cluster=devnet` - `solana.rpcUrl=https://api.devnet.solana.com` - `server.ui.indexPath=/home/player/tX/UI/index.html` - `server.info.url=https://tX.shineup.me` UI каждого инстанса: - живёт в отдельной копии `shine-UI`; - использует свой `js/deploy-config.js`; - по умолчанию смотрит именно на свой `tX.shineup.me`. Caddy на стенде: - конфиг: `/etc/caddy/Caddyfile` - статика: `/home/player/tX/UI` - `/ws` проксируется на `127.0.0.1:710X` Operational-нюанс: - при одновременных рестартах возможны `HTTP 429` от `api.devnet.solana.com`; - поэтому сервисы `shine-t1..shine-t4` лучше перезапускать по одному, с паузой. ## 4. Что проверять первым делом Для любого test-контура полезны такие быстрые проверки: ```bash curl -I https://t.shineup.me curl -I https://test.shineup.me curl -I https://t1.shineup.me curl -I https://t2.shineup.me curl -I https://t3.shineup.me curl -I https://t4.shineup.me ``` Для quad-devnet VPS: ```bash sudo systemctl --no-pager --full status caddy shine-t1 shine-t2 shine-t3 shine-t4 ``` Для основного/резервного test: ```bash sudo systemctl --no-pager --full status shine-server caddy ```