Files
voyage/documentation/docs/install/caddy.md
alex df8d1adf15 Rename AdventureLog to Voyage and add fork attribution
- Replace all AdventureLog references with Voyage across ~102 files
  (7 case variants: AdventureLog, adventurelog, Adventurelog, ADVENTURELOG,
  AdventUrelog, AdventureLOG, adventure-log, adventure_log)
- Rename brand, static, and documentation assets to use voyage naming
- Rename install_adventurelog.sh → install_voyage.sh
- Update README.md and voyage_overview.md to credit AdventureLog as
  the upstream project and Sean Morley as its original creator
2026-03-06 11:05:26 +00:00

1.6 KiB

Installation with Caddy

Caddy is a modern HTTP reverse proxy. It automatically integrates with Let's Encrypt (or other certificate providers) to generate TLS certificates for your site.

As an example, if you want to add Caddy to your Docker compose configuration, add the following service to your docker-compose.yml:

services:
  caddy:
    image: docker.io/library/caddy:2
    container_name: voyage-caddy
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
    volumes:
      - ./caddy:/etc/caddy
      - caddy_data:/data
      - caddy_config:/config

  web: ...
  server: ...
  db: ...

volumes:
  caddy_data:
  caddy_config:

Since all ingress traffic to the Voyage containsers now travels through Caddy, we can also remove the external ports configuration from those containsers in the docker-compose.yml. Just delete this configuration:

  web:
    ports:
      - "8016:80"

  server:
    ports:
      - "8015:3000"

That's it for the Docker compose changes. Of course, there are other methods to run Caddy which are equally valid.

However, we also need to configure Caddy. For this, create a file ./caddy/Caddyfile in which you configure the requests which are proxied to the frontend and backend respectively and what domain Caddy should request a certificate for:

voyage.example.com {

  @frontend {
    not path /media* /admin* /static* /accounts*
  }
  reverse_proxy @frontend web:3000

  reverse_proxy server:80
}

Once configured, you can start up the containsers:

docker compose up

Your Voyage should now be up and running.