diff --git a/scripts/deploy-swarm.sh b/scripts/deploy.sh similarity index 62% rename from scripts/deploy-swarm.sh rename to scripts/deploy.sh index 399337a1c354a71d4ddd4b8aab730224ea530fb1..6cf7917e0147755e1620ce68e520aee0f471fd35 100755 --- a/scripts/deploy-swarm.sh +++ b/scripts/deploy.sh @@ -6,7 +6,7 @@ print_help() { cat </dev/null || echo "unknown") -if [ "$SWARM_STATE" != "active" ]; then - echo "Initializing Docker Swarm (single-node, localhost only)..." - docker swarm init --advertise-addr 127.0.0.1 --listen-addr 127.0.0.1:2377 -fi +COMPOSE_DIR="$SCRIPT_DIR/../docker" echo "Deploying version: $VERSION" echo "Blog env: $BLOG_ENV_FILE" echo "Wallet env: $WALLET_ENV_FILE" -docker pull "registry.gitlab.syncad.com/hive/denser/blog:${VERSION}" -docker pull "registry.gitlab.syncad.com/hive/denser/wallet:${VERSION}" +BLOG_IMAGE="registry.gitlab.syncad.com/hive/denser/blog:${VERSION}" +WALLET_IMAGE="registry.gitlab.syncad.com/hive/denser/wallet:${VERSION}" + +# Check for local images and pull only if needed +pull_if_needed() { + local image="$1" + local name="$2" + + if [ "$FORCE_PULL" = "true" ]; then + echo "Pulling $name (--pull specified)..." + docker pull "$image" + elif docker image inspect "$image" >/dev/null 2>&1; then + echo "Using local $name image" + else + echo "Local $name image not found, pulling from registry..." + docker pull "$image" + fi +} + +pull_if_needed "$BLOG_IMAGE" "blog" +pull_if_needed "$WALLET_IMAGE" "wallet" export VERSION export BLOG_ENV_FILE export WALLET_ENV_FILE -docker stack deploy -c "$COMPOSE_FILE" denser + +cd "$COMPOSE_DIR" +docker compose up -d --wait --wait-timeout 120 echo "" -echo "Deployment initiated. Services will update in the background." -echo "Check status with: docker service ls" -echo "Check logs with: docker service logs denser_denser-blog" +echo "Deployment complete. All services healthy." +echo "Check status with: docker ps" +echo "Check logs with: docker logs docker-denser-blog-1"