Traefik with Seafile – My problems with labels and variables


All the relevant labels required to pot forward and then the environment variables to set the SITE_URL and FILE_ROOT

I recently moved from Nextcloud as my file syncing software to Seafile and so far have not looked back. Seafile is so much faster and the desktop clients are far more polished than Nextclouds solutions. I have setup Seafile pro with docker, however, I ran into several problems to do with Traefik labels.

Here is the docker-compose setup that I use for the Seafile server:

seafile:
  image: docker.seadrive.org/seafileltd/seafile-pro:latest
  container_name: seafile_pro
  restart: unless-stopped
  environment:
    - SEAFILE_SERVER_HOSTNAME=seafile.example.com
    - SEAFILE_SERVICE_URL=https://seafile.example.com
    - SEAFILE_ADMIN_URL=myexmail@example.com
    - SEAFILE_ADMIN_PASSWORD=supersecurepassword
  volumes:
    - ./seafile:/shared
  labels:
    - traefik.docker.network=traefik
    - traefik.enable=true
    - traefik.frontend.rule=Host:seafile.example.com
    - traefik.port=80
    - traefik.backend=seafile
  networks:
    - traefik

When the service starts the first thing to do will be to login as the admin user you specified in the code above and go to the system settings menu. You need to ensure that SERVICE_URL is https://seafile.example.com and that the FILE_SERVER_ROOT is https://seafile.example.com/seafhttp

All aspects of the server should now work as without these options I had issues with upload/download on the web interface but the sync clients still working.

I hope this saves whoever is reading this some time as I spent a lot of time Googling and looking at multiple different configurations