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.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" networks: - gotosocial gotosocial: image: superseriousbusiness/gotosocial:latest container_name: gotosocial user: 1000:1000 restart: always networks: - gotosocial environment: GTS_HOST: social.tretkowski.de GTS_DB_TYPE: sqlite GTS_DB_ADDRESS: /gotosocial/storage/sqlite.db GTS_LETSENCRYPT_ENABLED: "false" GTS_WAZERO_COMPILATION_CACHE: /gotosocial/.cache GTS_ADVANCED_RATE_LIMIT_REQUESTS: "0" TZ: Europe/Berlin ports: - "127.0.0.1:8080:8080" volumes: - "./gotosocial/data:/gotosocial/storage" - "./gotosocial/cache:/gotosocial/.cache" labels: - "traefik.enable=true" - "traefik.http.routers.gotosocial.rule=Host(`social.tretkowski.de`)" - "traefik.http.routers.gotosocial.entrypoints=websecure" - "traefik.http.routers.gotosocial.tls.certresolver=myresolver" networks: gotosocial: ipam: driver: default config: - subnet: "172.18.1.0/24" gateway: "172.18.1.1"