jb-website/compose.yml
Josh Bairstow 085e0bb3b6
Some checks failed
deploy / build-and-deploy (push) Failing after 13s
fix(deploy): default REGISTRY_OWNER to joshbairstow (actual Forgejo owner)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 23:46:56 +10:00

35 lines
1.6 KiB
YAML

# ----------------------------------------------------------------------------
# jb-website — PRODUCTION compose (lives on the VPS at /opt/jb-website/).
#
# This file does NOT build. The image is built on the home-desktop CI runner
# and pushed to the Forgejo container registry; the VPS only pulls and runs it.
# The deploy step (see .forgejo/workflows/deploy.yml) does:
#
# TAG=<commit-sha> docker compose -f /opt/jb-website/compose.yml pull
# TAG=<commit-sha> docker compose -f /opt/jb-website/compose.yml up -d
#
# Routing + TLS are handled by the edge proxy (caddy-docker-proxy, infra repo).
# This service is internal-only: no published ports, no certs. It joins the
# shared external `edge` network and declares its hostnames via labels; the edge
# proxy discovers them and reverse-proxies (plaintext, Host preserved) to :80.
#
# For local preview use compose.dev.yml instead (this file won't run off-VPS
# because the `edge` network is external).
# ----------------------------------------------------------------------------
services:
web:
# REGISTRY_OWNER must be the lowercase Forgejo owner (user/org). TAG is the
# commit sha set by the deploy step; falls back to latest for manual `up`.
image: git.joshbairstow.com/${REGISTRY_OWNER:-joshbairstow}/jb-website:${TAG:-latest}
container_name: jb-website
restart: unless-stopped
networks:
- edge
labels:
caddy: joshbairstow.com, www.joshbairstow.com, blog.joshbairstow.com, art.joshbairstow.com, code.joshbairstow.com
caddy.reverse_proxy: "{{upstreams 80}}"
networks:
edge:
external: true