Files
hantim-server/scripts/deploy.sh
T
timothykim 5c38b0631a
Deploy nginx / deploy (push) Failing after 3s
Deploy timothykim.net / deploy (push) Successful in 3s
replace NPM with vanilla nginx + certbot
- nginx:alpine replaces nginx-proxy-manager
- certbot on host with standalone issuance and auto-renewal
- per-site nginx configs in conf.d/ (HTTP->HTTPS, bare->www)
- container names use underscores (timothykim_net)
- setup.sh: automated cert issuance, dynamic app startup
- deploy.sh: nginx -t guard, graceful image-not-found
- new-app.sh: Gitea API repo creation, nginx conf generation
- add ARCHITECTURE.md, USECASES.md, CLAUDE.md
- remove old NPM data/certs from tracking
2026-03-16 00:55:13 -04:00

30 lines
656 B
Bash
Executable File

#!/bin/bash
set -euo pipefail
CMD="${SSH_ORIGINAL_COMMAND:-${1:-}}"
if ! [[ "$CMD" =~ ^deploy-[a-zA-Z0-9._-]+$ ]]; then
echo "Unknown command: $CMD"
exit 1
fi
APP="${CMD#deploy-}"
cd /opt/hantim
git pull
cd "docker/$APP"
if ! docker compose pull; then
echo "Image not yet available for $APP — skipping. It will deploy when the app repo is first pushed."
exit 0
fi
if [ "$APP" = "nginx" ]; then
# Test config before applying — a bad config (e.g. missing cert) would take down all sites
docker compose run --rm -T nginx nginx -t
fi
docker compose up -d
if [ "$APP" = "nginx" ]; then
docker exec nginx nginx -s reload
fi