Hi, I deployed Seafile in our Coolify server [What is Coolify? An open-source & self-hostable Heroku / Netlify / Vercel alternative] through Docker compose but although I managed to make it run, the “seafhttp” is not working and cannot view or download files.
My Seafile server config is:
SERVICE_URL:
https://seafile.<MY_DOMAIN>
FILE_SERVER_ROOT
http://127.0.0.1/seafhttp
And below is the Docker compose:
version: '3.8'
services:
db:
image: 'mariadb:10.11'
container_name: seafile-mysql
restart: unless-stopped
environment:
- 'MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}'
- MYSQL_LOG_CONSOLE=true
volumes:
- '/opt/seafile/data/db:/var/lib/mysql'
networks:
- seafile-net
healthcheck:
test:
- CMD
- mysqladmin
- ping
- '-h'
- localhost
interval: 30s
timeout: 10s
retries: 5
logging:
options:
max-size: 10m
max-file: '3'
memcached:
image: 'memcached:1.6'
container_name: seafile-memcached
restart: unless-stopped
entrypoint: 'memcached -m 256'
networks:
- seafile-net
logging:
options:
max-size: 10m
max-file: '3'
seafile:
image: 'h44z/seafile-ce:${SEAFILE_VERSION:-11.0.13}'
container_name: seafile
restart: unless-stopped
volumes:
- '/opt/seafile/data/seafile:/seafile'
- '/opt/seafile/logs:/opt/seafile/logs'
env_file:
- .env
depends_on:
- memcached
- db
networks:
- seafile-net
- proxy-net
healthcheck:
test:
- CMD
- curl
- '-f'
- 'http://localhost:8000'
interval: 30s
timeout: 10s
retries: 5
labels:
- coolify.managed=true
- traefik.enable=true
- traefik.docker.network=proxy-net
- 'traefik.http.routers.seafile.rule=Host(`seafile.${DOMAINNAME}`)'
- traefik.http.routers.seafile.entrypoints=websecure
- traefik.http.routers.seafile.tls=true
- traefik.http.routers.seafile.tls.certresolver=letsencryptresolver
- traefik.http.services.seafile.loadbalancer.server.port=8000
onlyoffice-documentserver:
image: 'onlyoffice/documentserver:latest'
restart: unless-stopped
container_name: seafile-oods
environment:
- JWT_ENABLED=true
- 'JWT_SECRET=${ONLYOFFICE_JWT_SECRET:-Supers3cr3t}'
networks:
- seafile-net
- proxy-net
healthcheck:
test:
- CMD
- curl
- '-f'
- 'http://localhost/health'
interval: 30s
timeout: 10s
retries: 5
labels:
- traefik.enable=true
- traefik.docker.network=proxy-net
- 'traefik.http.routers.seafile-oods.rule=Host(`oods.seafile.${DOMAINNAME}`)'
- traefik.http.routers.seafile-oods.entrypoints=websecure
- traefik.http.routers.seafile-oods.tls=true
- traefik.http.routers.seafile-oods.tls.certresolver=letsencryptresolver
- traefik.http.services.seafile-oods.loadbalancer.server.port=80
networks:
seafile-net:
name: seafile-net
proxy-net:
name: proxy-net
volumes:
acme-certs: null