mirror of
https://github.com/Patiun/com.gregkilmer.www.git
synced 2026-11-07 19:58:24 +00:00
754c6482be
- Dockerfile with a check target (typecheck and tests) and one image per service on a pinned Node 22.20 Alpine base, each with only its own production dependencies and a health check. - deploy/compose.yaml: gk-content, gk-admin and gk-site on homelab_network with no host ports, read-only root filesystems, no capabilities, the vault's Site folder mounted into the content service, and backup.dump=sqlite on it. - deploy/deploy.sh builds and checks the commit, restarts the stack, and goes back to the last good tag if it doesn't come up healthy; rollback.sh swaps tags. .gitea/workflows/deploy.yml runs it on a host runner on Cosmos. - docs/deploy.md runbook (settings, runner, mirror, NPM hosts, Turnstile, Healthchecks, backups, cutover) and the stack's inventory note in vault-kit. - Site: trusts X-Forwarded-Host/Proto for gregkilmer.com hosts so form posts pass Astro's origin check behind the proxy; rate limits read CF-Connecting-IP; site URL set for absolute links. - Content service: the held-change webhook carries a Discord-ready message; .env.example lists the core settings. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012aSbo2D1qP8cMFQCykf7kx
25 lines
677 B
YAML
25 lines
677 B
YAML
# Gitea Actions on Cosmos: Gitea mirrors GitHub, and this builds, checks and
|
|
# restarts the GregKilmer.com stack on each new commit to master.
|
|
# It runs on a host-mode runner on Cosmos labelled "cosmos" (docs/deploy.md).
|
|
name: Deploy GregKilmer.com
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
# A pull mirror's sync may not raise a push event; this catches new commits
|
|
# anyway. deploy.sh does nothing when the commit is already running.
|
|
schedule:
|
|
- cron: "*/15 * * * *"
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: gregkilmer-deploy
|
|
cancel-in-progress: false
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: cosmos
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- run: ./deploy/deploy.sh
|