Add deploy.sh to redeploy the stack on the server

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Movses Aslanyan
2026-10-09 15:42:07 +03:30
co-authored by Claude Sonnet 5.5
parent 476478c681
commit 9f0d19c08f
Executable
+21
View File
@@ -0,0 +1,21 @@
#!/usr/bin/env bash
# Redeploy Ledgerline on the server: pull the latest code and (re)start the
# stack behind Traefik. Run from your own machine:
#
# ./deploy.sh
#
# Override the target with env vars, e.g. DEPLOY_HOST=other ./deploy.sh
set -euo pipefail
DEPLOY_HOST="${DEPLOY_HOST:-czy}"
DEPLOY_DIR="${DEPLOY_DIR:-/opt/apps/LedgerLine}"
# Always both files: the base file alone would publish every service port.
COMPOSE="docker compose -f docker-compose.yml -f docker-compose.traefik.yml"
# The server pulls from the remote, so unpushed commits would not be deployed.
if [ -n "$(git log '@{u}..HEAD' --oneline 2>/dev/null)" ]; then
echo "warning: local commits are not pushed; the server will not see them" >&2
fi
ssh "$DEPLOY_HOST" "cd '$DEPLOY_DIR' && git pull --ff-only && $COMPOSE up -d --build && $COMPOSE ps"