Файл: .github/workflows/deploy.yml. Прямой SSH к ${SSH_HOST} (netcup IP, без CF Access proxy).
| Secret | Значение |
|---|---|
SSH_HOST |
159.195.54.89 |
SSH_PORT |
22 |
SSH_USER |
root |
SSH_KEY |
Приватный ключ (id_ed25519_zipvpn_new) |
DEPLOY_PATH |
/root/zipvpnbot |
ROOT_ENV_FILE |
Содержимое .env |
REMNAWAVE_ENV_FILE |
Содержимое remnawave/.env |
ZIPVPN_SITE_ENV_FILE |
Содержимое zipvpn.org/.env |
CLOUDFLARE_TUNNEL_TOKEN |
CF Tunnel token |
ssh -i ~/.ssh/id_ed25519_zipvpn_new root@159.195.54.89
cd /root/zipvpnbot
git pull
docker compose build --no-cache <service>
docker compose up -d <service>
docker compose build --no-cache
docker compose up -d
⚠️ При использовании
docker compose runв скриптах с heredoc — обязательно добавлять флаг-T. Без него контейнер захватывает stdin и остальная часть скрипта молча пропускается. Симптом: деплой "успешен", но только DB/Redis поднялись.