docker-compose.yml# Traefik Proxy services: bluesky-pds: container_name: bluesky-pds image: code.modernleft.org/gravityfargo/bluesky-pds:latest hostname: example.com extra_hosts: - "example.com:0.0.0.0" # domain:external_ip networks: - proxy environment: # Define variables here or in a .env file PDS_JWT_SECRET: ... PDS_ADMIN_PASSWORD: ... PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX: ... PDS_HOSTNAME: example.com PDS_EMAIL_SMTP_URL: smtps://resend:<your api key here>@smtp.resend.com:465/ PDS_EMAIL_FROM_ADDRESS: admin@example.com PUID: 1000 PGID: 1001 volumes: - ./bluesky-pds:/pds labels: traefik.enable: "true" traefik.http.routers.bluesky-pds-insecure.entrypoints: http traefik.http.routers.bluesky-pds-insecure.rule: HostRegexp(`^.+\.example\.com$`) || Host(`example.com`) # traefik.http.routers.bluesky-pds-insecure.middlewares: BlueskyHeaders@file traefik.http.routers.bluesky-pds-secure.entrypoints: https traefik.http.routers.bluesky-pds-secure.rule: HostRegexp(`^.+\.example\.com$`) || Host(`example.com`) traefik.http.routers.bluesky-pds-secure.tls: "true" traefik.http.services.bluesky-pds.loadbalancer.server.scheme: http traefik.http.services.bluesky-pds.loadbalancer.server.port: 3000 # traefik.http.routers.bluesky-pds-secure.middlewares: BlueskyHeaders@file