Reverse Proxy - ggogel/seafile-containerized GitHub Wiki
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}}"