What is Seafile

Seafile is an open-source, cross-platform file-hosting software system. Files are stored on a central server and can be synchronized with personal computers and mobile devices through apps. Files on the Seafile server can also be accessed directly via the server's web interface. Seafile's functionality is similar to other popular file hosting services such as Dropbox and Google Drive. The primary difference between Seafile and Dropbox/Google Drive is that Seafile is a self-hosted file sharing solution for private cloud applications. In private clouds, storage space and client connection limits are determined exclusively by the users' own infrastructure and settings rather than the terms and conditions of a cloud service provider. Additionally, organizations, whose data privacy policies bar them from using public cloud services can draw on Seafile to build a file sharing system of their own.

that's exactly what someone like me wants. Full control and self-hosted!

traefik configuration

i heavely use traefik! All the willifix.net Services are behind a traefik reverse proxy. to get the required seafile services published you need a slightly larger traefik section in the docker-compose.yml

here are the needed config. please change it that it fits your needs:

      - "traefik.enable=true"
      - "traefik.http.routers.seafile.tls.certresolver=LEwillifixnet"
      - "traefik.http.routers.seafile.tls=true"
      - "traefik.http.routers.seafile.rule=Host(`seafile.willifix.net`)"
      - "traefik.http.routers.seafile.entrypoints=websecure"
      - "traefik.http.routers.seafile.service=seafile"
      - "traefik.http.routers.seafile.middlewares=rafficontact@docker"
      - "traefik.http.services.seafile.loadbalancer.server.port=80"
       # handle HTTPS with path starting with /seafhttp to go to port 8082 and strip the prefix
      - "traefik.http.routers.seafhttp.tls.certresolver=LEwillifixnet"
      - "traefik.http.routers.seafhttp.tls=true"
      - "traefik.http.routers.seafhttp.rule=Host(`seafile.willifix.net`) && PathPrefix(`/seafhttp`)"
      - "traefik.http.routers.seafhttp.entrypoints=websecure"
      - "traefik.http.services.seafhttp.loadbalancer.server.port=8082"
      - "traefik.http.routers.seafhttp.service=seafhttp"
      - "traefik.http.routers.seafhttp.middlewares=sf-strippath"
      - "traefik.http.middlewares.sf-strippath.stripprefix.prefixes=/seafhttp"

If everything is working you should have 2 Routes in your traefik Dashboard:

Host%20seafile.willifix.net%20PathPrefix

Previous Post