#!/usr/bin/env bash set -euo pipefail if [[ "$#" -eq 0 ]]; then echo "Usage: $0 [stack...]" echo "Example: $0 gitea kuma" exit 1 fi for stack in "$@"; do stack_dir="/srv/ops/stacks/$stack" if [[ ! -d "$stack_dir" ]]; then echo "Skipping unknown stack: $stack" continue fi if [[ -f "$stack_dir/.env.example" && ! -f "$stack_dir/.env" ]]; then cp "$stack_dir/.env.example" "$stack_dir/.env" echo "Created $stack_dir/.env from .env.example; fill secrets before production" fi echo "Deploying stack: $stack" (cd "$stack_dir" && docker compose up -d) done