From e78539b2a3602f48321d9098dd6c23da0e7759af Mon Sep 17 00:00:00 2001 From: Bryan Helmkamp Date: Mon, 27 Apr 2026 11:23:02 -0700 Subject: [PATCH] chore: move Caddyfile into docker/ Co-Authored-By: Claude Opus 4.7 (1M context) --- docker-compose.prod.yaml | 2 +- Caddyfile => docker/Caddyfile | 0 docs/public/administration/deploy-digital-ocean.mdx | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename Caddyfile => docker/Caddyfile (100%) diff --git a/docker-compose.prod.yaml b/docker-compose.prod.yaml index 775e3a607..52e461cff 100644 --- a/docker-compose.prod.yaml +++ b/docker-compose.prod.yaml @@ -8,7 +8,7 @@ services: - "80:80" - "443:443" volumes: - - ./Caddyfile:/etc/caddy/Caddyfile + - ./docker/Caddyfile:/etc/caddy/Caddyfile - caddy_data:/data - caddy_config:/config depends_on: diff --git a/Caddyfile b/docker/Caddyfile similarity index 100% rename from Caddyfile rename to docker/Caddyfile diff --git a/docs/public/administration/deploy-digital-ocean.mdx b/docs/public/administration/deploy-digital-ocean.mdx index 764757212..6096bc30a 100644 --- a/docs/public/administration/deploy-digital-ocean.mdx +++ b/docs/public/administration/deploy-digital-ocean.mdx @@ -11,7 +11,7 @@ DigitalOcean is a good fit for self-hosting Fabro on a Droplet — a plain Linux - `docker-compose.yaml` pulls the pre-built image from GHCR and declares a named volume for `/storage` - `docker-compose.prod.yaml` adds a [Caddy](https://caddyserver.com) sidecar that terminates TLS and auto-provisions Let's Encrypt certificates -- `Caddyfile` reverse-proxies HTTPS traffic to the Fabro server +- `docker/Caddyfile` reverse-proxies HTTPS traffic to the Fabro server **Why not App Platform?** DigitalOcean App Platform has no persistent volumes — it is designed for stateless workloads that offload state to managed Postgres or Spaces. Fabro writes runs, checkpoints, sessions, and JWT keys to `/storage`, so a Droplet (or any VPS) is the right fit. If you prefer Kubernetes, DOKS works too — that path is not documented here.