Thank you for sharing your experience with Docker and Seafile! I noticed your interest in running multiple instances and services behind NGINX.
I’ve actually written a detailed guide that might be helpful for your setup, which you can find here: Deploying Seafile CE 11 with Docker and SWAG as a Reverse Proxy
Multiple Seafile Instances
To run multiple Seafile instances, the key points are:
- Use different container names (e.g., seafile-personal, seafile-pro)
- Ensure proper NGINX configuration
- Connect all containers to the same Docker network
Here’s an example NGINX configuration for SWAG:
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name seafile-personal.domain.com;
# SSL standard config
include /config/nginx/ssl.conf;
client_max_body_size 0;
location / {
# Use Docker's internal DNS resolver
include /config/nginx/resolver.conf;
# Proxy configuration for Seafile container
set $upstream_app seafile-personal;
set $upstream_port 80;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
...
Reverse Proxy Options
For managing multiple services, you have several excellent options:
SWAG: A comprehensive solution that makes it easy to manage multiple services.
NGINX Proxy Manager: A user-friendly alternative with a nice GUI.
Standard NGINX: Manual configuration option for those who prefer more control.
Mail Server Experience
Regarding Mailcow - while I successfully set it up with SWAG, I ultimately switched to Mailu which I found to be a superior choice:
- Significantly lighter on resources
- More modern and cleaner interface
- Easier to maintain
- Better overall user experience
My guide on the Seafile forum provides detailed instructions for setting up SWAG as a reverse proxy, which should help you get multiple instances running smoothly!