Прод-деплой через Gitea-реестр: arm64-образы собираются на ПК, Pi делает pull

- docker-compose.yml: image у app и tunnel → путь реестра ${IMAGE_REGISTRY}/...:${IMAGE_TAG}
  (build: оставлен фолбэком для сборки на Pi). Тома/настройки прежние.
- scripts/build-push.sh: buildx bake под linux/arm64 + push обоих образов в реестр (запуск на ПК).
- .env.example: блок ОБРАЗЫ ПРОДА (IMAGE_REGISTRY=gitea.arseniev.info/notbigghost, IMAGE_TAG=latest).
- deploy/pi/README: запуск/обновление через docker compose pull; альтернатива — сборка на Pi;
  заметка про HTTPS-реестр / insecure-registries.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-27 00:16:04 +03:00
co-authored by Claude Opus 4.8
parent b3db5a4047
commit 1a61b05923
4 changed files with 56 additions and 8 deletions
+4 -2
View File
@@ -15,7 +15,9 @@
services:
app:
build: .
image: forbidden-stars:latest
# Образ из реестра (Gitea): собирается под arm64 на ПК (scripts/build-push.sh) и тянется
# на Pi через `docker compose pull`. build: оставлен как локальный фолбэк (сборка на Pi).
image: ${IMAGE_REGISTRY:-gitea.arseniev.info/notbigghost}/forbidden-stars:${IMAGE_TAG:-latest}
restart: unless-stopped
init: true # PID 1 пробрасывает сигналы → корректный SIGTERM
stop_grace_period: 30s # время на чек-пойнт WAL SQLite перед остановкой
@@ -47,7 +49,7 @@ services:
# Ключ — ./deploy/tunnel/id_tunnel (в git не идёт); его pubkey в authorized_keys у tunnel@VPS.
tunnel:
build: ./deploy/tunnel
image: forbidden-stars-tunnel:latest
image: ${IMAGE_REGISTRY:-gitea.arseniev.info/notbigghost}/forbidden-stars-tunnel:${IMAGE_TAG:-latest}
restart: unless-stopped
init: true
depends_on: