Files
refboard-ayon/examples/README.md
T
Hiren KangadandClaude Opus 4.7 33d3109136 docs: deployment templates for Cloudflare Tunnel, Caddy, Fly.io, Render
examples/compose/cloudflared-paired.yml pairs RefBoard with a cloudflared
sidecar reading a TUNNEL_TOKEN env var — no inbound ports needed, suitable
for home / studio servers.

examples/compose/behind-caddy.yml + Caddyfile fronts RefBoard with Caddy
for automatic Let's Encrypt TLS on a public hostname. Caddy 2's
reverse_proxy transparently upgrades Socket.IO WebSockets.

examples/fly.toml deploys to Fly.io using the GHCR image and a persistent
volume mounted at /app/data. STORAGE_BACKEND=fs so the whole stack is one
machine with one disk.

examples/render.yaml is a Render.com Blueprint targeting the same shape
(GHCR image + attached disk + FS storage).

examples/README.md indexes everything and adds notes for Coolify /
Dokploy / CapRover / Railway, which consume the existing compose file
directly without a dedicated template.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-21 09:51:52 +05:30

2.3 KiB

Deployment examples

Ready-to-use configs for the common ways people host RefBoard. All of these use the pre-built image at ghcr.io/metalfinger/refboard:latest so you don't have to build locally.

File What it gives you
compose/minimal-fs.yml Single container, local filesystem storage, no MinIO. Smallest possible footprint — good for home servers / NAS.
compose/cloudflared-paired.yml RefBoard + a Cloudflare Tunnel sidecar. No open inbound ports. Pair with a Cloudflare-managed hostname.
compose/behind-caddy.yml RefBoard + Caddy reverse proxy with automatic Let's Encrypt TLS. For public VPS-style hosts.
compose/Caddyfile Caddyfile consumed by behind-caddy.yml.
fly.toml Fly.io deployment manifest. FS storage + persistent volume.
render.yaml Render.com Blueprint with attached disk. Copy to repo root before importing.

The default docker-compose.yml at the repo root still spins up RefBoard + MinIO for S3-compatible storage. Use that if you want the MinIO console at :9001 or plan to swap in an external S3 bucket later. The variants here use the FS adapter (STORAGE_BACKEND=fs) to drop MinIO and keep everything in one container.

Coolify / Dokploy / CapRover

These PaaS-style self-hosted platforms consume the repo's docker-compose.yml (or any of the variants above) directly. Point them at the repo, pick the compose file, set environment variables in the platform's UI, and you're done. Persistent state is the ./.docker-data/ volume — make sure your platform retains it across redeploys.

Railway

Railway can deploy directly from a Dockerfile or container image. Use:

  • Source: container image ghcr.io/metalfinger/refboard:latest
  • Port: 8000
  • Persistent volume: /app/data (10+ GB)
  • Env: STORAGE_BACKEND=fs, NODE_ENV=production, plus optionally JWT_SECRET, CORS_ORIGIN, ALLOW_SELF_REGISTRATION

Going public from a personal install

The README's going-public checklist applies to all of these — set JWT_SECRET, lock CORS_ORIGIN, confirm self-registration is off, back up ./.docker-data/.