SHA256
Навести порядок в deploy и документации проекта
This commit is contained in:
@@ -0,0 +1,113 @@
|
||||
# Настройка SHiNE-сервера с нуля
|
||||
|
||||
Инструкция описывает базовую подготовку существующего Linux/VPS-хоста под SHiNE server + UI. Привязка должна идти к домену, а не к IP.
|
||||
|
||||
## 1. DNS
|
||||
|
||||
Создать DNS-запись домена:
|
||||
|
||||
- production: `shineup.me` или `server2.shineup.me`;
|
||||
- test/devnet: `t1.shineup.me` ... `t4.shineup.me`.
|
||||
|
||||
После смены физического сервера достаточно обновить DNS.
|
||||
|
||||
## 2. Пользователь и пакеты
|
||||
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt install -y openjdk-17-jre-headless rsync caddy
|
||||
sudo useradd -m -s /bin/bash player || true
|
||||
```
|
||||
|
||||
## 3. Каталоги
|
||||
|
||||
Production:
|
||||
|
||||
```bash
|
||||
mkdir -p /home/player/SHiNE/shine-server/data
|
||||
mkdir -p /home/player/SHiNE/shine-server/logs
|
||||
mkdir -p /home/player/SHiNE/shine-ui
|
||||
```
|
||||
|
||||
Test/devnet:
|
||||
|
||||
```bash
|
||||
mkdir -p /home/player/tX/server/data
|
||||
mkdir -p /home/player/tX/server/logs
|
||||
mkdir -p /home/player/tX/UI
|
||||
```
|
||||
|
||||
## 4. application.properties
|
||||
|
||||
Каждый сервер должен иметь локальный внешний конфиг в рабочей директории сервиса.
|
||||
|
||||
Production пример:
|
||||
|
||||
```properties
|
||||
server.port=7070
|
||||
server.SHiNE.login=shineupme
|
||||
db.path=data/shine.sqlite
|
||||
server.ui.indexPath=/home/player/SHiNE/shine-ui/index.html
|
||||
server.info.url=https://shineup.me
|
||||
server.info.origin=production
|
||||
solana.cluster=mainnet-beta
|
||||
```
|
||||
|
||||
Test/devnet пример:
|
||||
|
||||
```properties
|
||||
server.port=7102
|
||||
server.SHiNE.login=server_t2
|
||||
db.path=data/shine.sqlite
|
||||
server.ui.indexPath=/home/player/t2/UI/index.html
|
||||
server.info.url=https://t2.shineup.me
|
||||
server.info.origin=devnet
|
||||
solana.cluster=devnet
|
||||
solana.rpcUrl=https://api.devnet.solana.com
|
||||
```
|
||||
|
||||
## 5. Caddy
|
||||
|
||||
Минимальный site block:
|
||||
|
||||
```caddyfile
|
||||
t2.shineup.me {
|
||||
encode zstd gzip
|
||||
|
||||
@ws path /ws /ws/*
|
||||
handle @ws {
|
||||
reverse_proxy 127.0.0.1:7102
|
||||
}
|
||||
|
||||
handle {
|
||||
root * /home/player/t2/UI
|
||||
try_files {path} /index.html
|
||||
file_server
|
||||
header -Etag
|
||||
header {
|
||||
Cache-Control "no-store, no-cache, must-revalidate, max-age=0"
|
||||
Pragma "no-cache"
|
||||
Expires "0"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Проверка:
|
||||
|
||||
```bash
|
||||
sudo caddy validate --config /etc/caddy/Caddyfile
|
||||
sudo systemctl restart caddy
|
||||
curl -I https://t2.shineup.me
|
||||
```
|
||||
|
||||
## 6. Первый deploy
|
||||
|
||||
Из репозитория:
|
||||
|
||||
```bash
|
||||
bash deploy/scripts/test_t2_server.sh
|
||||
bash deploy/scripts/test_t2_ui.sh
|
||||
```
|
||||
|
||||
Для production перед этими командами обязательно обновить `deploy/backup/archive/`.
|
||||
Reference in New Issue
Block a user