Skip to content

Reverse Proxy

Gerrit Gogel edited this page Nov 29, 2022 · 1 revision

Reverse Proxy

The caddy reverse proxy integrated with the deployment exposes port 80. Point your existing reverse proxy to that port.

This deployment does by design not include a reverse proxy capable of HTTPS and Let's Encrypt, unlike the official deployment, because usually Docker users already have some docker-based reverse proxy solution deployed, which does exactly that.

Reverse Proxy Recommendations

jwilder/nginx-proxy (recommended for beginners)

  • popular solution for beginners
  • doesn't support Docker Swarm
  • automatic Let's Encrypt with plugin
  • lacks a lot of advanced features

lucaslorentz/caddy-docker-proxy (recommended for Docker Swarm and advanced users)

  • designed for Docker Swarm but can be used on regular Docker too
  • automatic Let's Encrypt integrated
  • very feature rich
  • initial setup can be difficult

Examples

Example for jwilder/nginx-proxy

    seafile-caddy:
        image: ggogel/seafile-caddy:1.0.6
        expose:
        - "80"
        networks:
        - seafile-net
        - default
        environment:
        - VIRTUAL_PORT=80
        - VIRTUAL_HOST=seafile.mydomain.com

Example for lucaslorentz/caddy-docker-proxy on Docker Swarm

    seafile-caddy:
        image: ggogel/seafile-caddy:0.1
        networks:
        - seafile-net
        - caddy
        deploy:
        labels:
            caddy: seafile.mydomain.com #this will automatically enable https and Let's Encrypt
            caddy.reverse_proxy: "{{upstreams 80}}"