fabro/Dockerfile.deploy
Bryan Helmkamp 184cddf8e0
feat(railway): deploy from prebuilt GHCR image instead of source build
Add Dockerfile.deploy as a thin wrapper that pulls
ghcr.io/fabro-sh/fabro:nightly, and point railway.toml at it. Railway
now skips Rust compilation entirely and deploys in seconds. The
upstream image already configures entrypoint, $PORT-aware CMD, volumes,
and the unprivileged fabro user, so nothing else is needed in the
wrapper.

Update docs/administration/deploy-railway.mdx to reflect the new flow
and call out that amd64 is the supported architecture (arm64 variant
of the image is being handled separately).

Verified locally: `docker build -f Dockerfile.deploy .` succeeds,
`fabro version` prints the expected banner, and PORT override + health
check work.
2026-04-18 15:24:22 -04:00

12 lines
545 B
Text

# syntax=docker/dockerfile:1.9
#
# Thin deploy image for PaaS providers that build from a repo Dockerfile
# (Railway, Render, Fly.io source mode). Pulls the published multi-arch
# image from GHCR instead of rebuilding fabro from source on every
# deploy, which keeps cold starts short and avoids needing the release
# workflow's pre-built binary context on the PaaS runner.
#
# The upstream image already configures entrypoint, CMD (binds
# 0.0.0.0:${PORT:-32276}), volumes, and the unprivileged fabro user.
FROM ghcr.io/fabro-sh/fabro:nightly