Деплой и эксплуатация
Docker
Dockerfile, docker-compose, volumes, healthcheck, бэкап томов.
Docker-вариант
Альтернатива systemd-установке: multi-stage Dockerfile и docker-compose со стеком surrealdb + app.
Быстрый старт
docker build -t wallet-scoring:0.1.0 .
docker compose up -d # surrealdb + app + volumes
docker compose exec app /app/wallet-scoring \
superuser upsert admin@example.com '<pass>'Состав
Dockerfile— multi-stage (golang:1.27→gcr.io/distroless/static-debian12),CGO_ENABLED=0, non-root.docker-compose.yml— сервисы:surrealdb(образsurrealdb/surrealdb, volumews_surreal);app(volumesws_pbдля pb_data,ws_jobsдля очереди), env_file.env, опциональный профильproxy(caddy).
- Healthcheck:
GET /api/health(app),GET /health(surrealdb).
В docker-варианте SurrealDB слушает surrealdb:27182 (не 127.0.0.1) — подключение приложения зависит от хардкоженного store.DefaultURL. До появления env-override в store compose использует network alias.
Эксплуатация
docker compose ps
docker compose logs -f app
docker compose exec app /app/wallet-scoring superuser upsert admin@example.com '<pass>'
docker compose stop app surrealdb # перед бэкапом томовБэкап
Остановить стек → tar томов (ws_pb, ws_surreal, ws_jobs) → старт:
docker compose stop app surrealdb
tar -czf backup-$(date -u +%Y%m%d).tar.gz <volumes>
docker compose start surrealdb appОстальные процедуры (health, метрики, DLQ, инциденты) идентичны systemd-варианту — см. Ранбук.