Skip to content

Deployment

marekbeckmann edited this page Nov 1, 2026 · 1 revision

Deployment

The repository includes a complete setup for a small VPS with automatic deployments. The step-by-step guide is docs/deployment.md; this page summarises it.

git push ─▶ GitHub Actions: lint, tests, container and end-to-end checks
              └▶ publish: multi-arch image → ghcr.io/<owner>/torq:sha-<commit> and :latest
                   └▶ deploy: SSH to the VPS → docker compose pull && up -d → wait until healthy
browser ─▶ https://torq.<your-domain> ─▶ Cloudflare ─▶ tunnel (cloudflared on the VPS) ─▶ torq
  • Server: any small Linux VPS with Docker, e.g. a Hetzner CAX11 (ARM, about €4 a month). Only SSH needs to be reachable.
  • HTTPS and domain: a Cloudflare Tunnel connects your domain to the container, no open web ports and no certificates to manage. Optionally put Cloudflare Access in front.
  • Stack: deploy/docker-compose.yml with torq and cloudflared; settings in /opt/torq/torq.env from deploy/env.example.
  • CI/CD: the deploy job runs only when the repository variable DEPLOY_HOST is set, with an SSH deploy key and known-hosts entry as secrets.

Tip

Not using the deployment pipeline? Run the published image anywhere Docker runs, see Installation, and put any reverse proxy in front of it.

Clone this wiki locally