services: traefik: image: traefik:v3.3 container_name: traefik restart: always command: - --api.insecure=false - --providers.docker=true - --providers.docker.exposedbydefault=false - --entrypoints.web.address=:80 - --entrypoints.web.http.redirections.entrypoint.to=websecure - --entrypoints.web.http.redirections.entrypoint.scheme=https - --entrypoints.websecure.address=:443 - --certificatesresolvers.myresolver.acme.httpchallenge=true - --certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web - --certificatesresolvers.myresolver.acme.email=norbert@tretkowski.de - --certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json ports: - 80:80 - 443:443 volumes: - ./traefik/letsencrypt:/letsencrypt - /var/run/docker.sock:/var/run/docker.sock:ro mollysocket: image: ghcr.io/mollyim/mollysocket:1.6.0-alpine container_name: mollysocket restart: always volumes: - ./mollysocket:/data working_dir: /data command: server environment: - MOLLY_DB="/data/mollysocket.db" - MOLLY_ALLOWED_ENDPOINTS=["https://up.conversations.im/","https://ntfy.sh/","https://updates.push.services.mozilla.com/"] #- MOLLY_ALLOWED_UUIDS=["2b5c09b7-9978-485f-80fa-963ca6d1732e"] #- MOLLY_VAPID_PRIVKEY="paste output of `docker compose run mollysocket vapid gen` here" - MOLLY_HOST=0.0.0.0 - MOLLY_PORT=8020 - RUST_LOG=info ports: - "127.0.0.1:8020:8020" labels: - traefik.enable=true - traefik.http.routers.molly.rule=Host(`molly.tretkowski.de`) - traefik.http.routers.molly.entrypoints=websecure - traefik.http.routers.molly.tls.certresolver=myresolver - traefik.http.services.molly-websecure.loadbalancer.server.port=8020