# 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`.