syntaxai/tdd.md · main · scripts / p620 / tdd-md.container
[Unit]
Description=tdd.md homepage (Bun)
After=network-online.target
Wants=network-online.target
[Container]
ContainerName=tdd-md
Image=localhost/tdd-md:latest
Pod=tdd.pod
# Image wordt op p620 gebouwd door deploy-tdd-md.sh — geen registry-pull.
# Daarom geen AutoUpdate=registry hier.
Environment=PORT=3000
Environment=NODE_ENV=production
Environment=BASE_URL=https://tdd.md
# SQLite voor judge-verdicts. Persisted in named podman volume.
# :Z relabel voor SELinux (Fedora Atomic).
Volume=tdd-md-data:/app/data:Z
Environment=TDD_DB_PATH=/app/data/runs.db
# Bare git repository — the canonical source for syntaxai/tdd.md. Admin
# web-edits commit here directly via `git` plumbing (c14_git). Dev pushes
# via SSH to /home/scri/repos/tdd.md.git on the host. The deploy script
# pulls from this same path. Forgejo no longer participates in tdd.md's
# own repo lifecycle (it stays around only for agent kata repos).
Volume=/home/scri/repos/tdd.md.git:/app/repo:Z
Environment=TDD_GIT_DIR=/app/repo
# Praat met Forgejo via host-network (Forgejo publisht :44400 op de host).
# host.containers.internal is de standaard rootless-podman alias voor de host.
# Used only for agent kata operations (registerAgent, repo creation,
# webhook setup) — NOT for tdd.md's own repo anymore.
Environment=FORGEJO_URL=http://host.containers.internal:44400
# GitHub OAuth client_id is publiek (verschijnt sowieso in redirect URLs);
# client_secret zit in podman secret.
Environment=GITHUB_CLIENT_ID=Ov23li9O1wWWJDjlm6dX
Secret=tdd_github_client_secret,type=env,target=GITHUB_CLIENT_SECRET
Secret=tdd_forgejo_admin_token,type=env,target=FORGEJO_ADMIN_TOKEN
Secret=tdd_webhook_secret,type=env,target=WEBHOOK_SECRET
Secret=tdd_session_secret,type=env,target=SESSION_SECRET
# Geen PublishPort — pod publisht al :44390 → :3000.
[Service]
Restart=always
TimeoutStartSec=60
[Install]
WantedBy=default.target