Skip to content

Instantly share code, notes, and snippets.

@g1ibby
Created July 26, 2020 06:31
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save g1ibby/5d4f984537e9e820146adeba3600326e to your computer and use it in GitHub Desktop.
Save g1ibby/5d4f984537e9e820146adeba3600326e to your computer and use it in GitHub Desktop.
Firefox sync self hosted: docker-compose + traefik v2
version: "3.3"
services:
traefik:
image: "traefik:v2.2"
container_name: "traefik"
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.myresolver.acme.httpchallenge=true"
- "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web"
- "--certificatesresolvers.myresolver.acme.email=https@your.domain"
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
- "traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`)"
- "traefik.http.routers.http-catchall.entrypoints=web"
- "traefik.http.routers.http-catchall.middlewares=redirect-to-https"
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
- "./letsencrypt:/letsencrypt"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
fsync:
image: "mozilla/syncserver:latest"
container_name: "fsync"
volumes:
- "./fsync-data:/tmp"
- "/etc/localtime:/etc/localtime:ro"
environment:
- TZ=Europe/Berlin
- SYNCSERVER_PUBLIC_URL=https://fsync.your.domain
- SYNCSERVER_SECRET=YOUR_SECRET_HERE
- SYNCSERVER_SQLURI=sqlite:////tmp/syncserver.db
- SYNCSERVER_BATCH_UPLOAD_ENABLED=true
- SYNCSERVER_FORCE_WSGI_ENVIRON=true
- SYNCSERVER_ALLOW_NEW_USER=true
- PORT=4500
labels:
- "traefik.enable=true"
- "traefik.http.routers.fsync.rule=Host(`fsync.your.domain`)"
- "traefik.http.routers.fsync.entrypoints=websecure"
- "traefik.http.routers.fsync.tls.certresolver=myresolver"
- "traefik.http.services.fsync.loadbalancer.server.port=4500"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment