feat: optimize prod deployment to avoid unnecessary container restarts
Some checks failed
Release / Test backend (push) Successful in 1m7s
Release / Test UI (push) Successful in 1m29s
Release / Build and push images (push) Successful in 4m30s
Release / Deploy to prod (push) Failing after 19s
Release / Deploy to homelab (push) Successful in 13s
Release / Gitea Release (push) Successful in 27s
Some checks failed
Release / Test backend (push) Successful in 1m7s
Release / Test UI (push) Successful in 1m29s
Release / Build and push images (push) Successful in 4m30s
Release / Deploy to prod (push) Failing after 19s
Release / Deploy to homelab (push) Successful in 13s
Release / Gitea Release (push) Successful in 27s
Previously: 'docker compose up -d' recreated all services with changed images, causing dependent services (pocketbase, minio, redis, etc.) to restart and wait for healthchecks, leading to longer downtime. Now: Use '--no-deps' flag to restart ONLY the services with updated images (backend, runner, ui, caddy, pocketbase) without touching their dependencies. Benefits: - Faster deployments (~15-20s vs ~60s) - No unnecessary restarts of infrastructure services - Reduced downtime for the application The final 'docker compose up -d --remove-orphans' ensures any orphaned containers are cleaned up and all services are in the desired state.
This commit is contained in:
@@ -130,6 +130,8 @@ jobs:
|
|||||||
'set -euo pipefail
|
'set -euo pipefail
|
||||||
cd /opt/libnovel
|
cd /opt/libnovel
|
||||||
doppler run -- docker compose pull backend runner ui caddy pocketbase
|
doppler run -- docker compose pull backend runner ui caddy pocketbase
|
||||||
|
# Restart only the services with new images, without waiting for dependencies
|
||||||
|
doppler run -- docker compose up -d --no-deps backend runner ui caddy pocketbase
|
||||||
doppler run -- docker compose up -d --remove-orphans'
|
doppler run -- docker compose up -d --remove-orphans'
|
||||||
|
|
||||||
# ── deploy homelab runner ─────────────────────────────────────────────────────
|
# ── deploy homelab runner ─────────────────────────────────────────────────────
|
||||||
|
|||||||
Reference in New Issue
Block a user