Завершена настройка домена для дева, теста и прода. Соединение через ssh-туннель
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# Raspberry Pi — ПРОД (`forbiddenstars.ru`)
|
||||
|
||||
Pi запускает приложение в Docker и держит постоянный SSH reverse-туннель к VPS.
|
||||
Снаружи Pi недоступен (CGNAT) — публичная точка только VPS, Pi сам стучится наружу.
|
||||
|
||||
## 1. Приложение (Docker)
|
||||
Из ветки `main`:
|
||||
```bash
|
||||
git pull
|
||||
cp .env.example .env # заполни секреты; APP_ENV контейнер форсит в production
|
||||
docker compose up -d --build
|
||||
curl http://localhost:8000/api/health # → {"status":"ok"}
|
||||
```
|
||||
БД на томе `db-data`, миграции и бутстрап админа — автоматически (`entrypoint.sh`).
|
||||
|
||||
## 2. Ключ для туннеля (без пароля)
|
||||
```bash
|
||||
sudo apt -y install autossh
|
||||
ssh-keygen -t ed25519 -f ~/.ssh/id_tunnel -N ""
|
||||
ssh-copy-id -i ~/.ssh/id_tunnel.pub tunnel@186.246.51.17
|
||||
# (или вручную добавь ~/.ssh/id_tunnel.pub в /home/tunnel/.ssh/authorized_keys на VPS)
|
||||
```
|
||||
Проверка туннеля вручную:
|
||||
```bash
|
||||
autossh -M 0 -N -R 9000:localhost:8000 -i ~/.ssh/id_tunnel tunnel@186.246.51.17
|
||||
# в другом окне/браузере открой https://forbiddenstars.ru — должно работать. Ctrl+C.
|
||||
```
|
||||
|
||||
## 3. Туннель как служба (автозапуск + переподключение)
|
||||
```bash
|
||||
sudo cp deploy/pi/forbidden-stars-tunnel.service /etc/systemd/system/
|
||||
sudoedit /etc/systemd/system/forbidden-stars-tunnel.service # поправь User= и путь к ключу
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable --now forbidden-stars-tunnel
|
||||
systemctl status forbidden-stars-tunnel
|
||||
```
|
||||
|
||||
Готово: `https://forbiddenstars.ru` отдаёт прод. Логи туннеля: `journalctl -u forbidden-stars-tunnel -f`.
|
||||
Reference in New Issue
Block a user