services: pocket-id: image: ghcr.io/pocket-id/pocket-id restart: unless-stopped env_file: .env ports: - 3000:80 volumes: - "./data:/app/backend/data" # Optional healthcheck healthcheck: test: "curl -f http://localhost/health" interval: 1m30s timeout: 5s retries: 2 start_period: 10s networks: - proxy labels: - "traefik.enable=true" - "traefik.http.routers.pocket-id.entrypoints=http" - "traefik.http.routers.pocket-id.rule=Host(`pocket-id.jimsgarage.co.uk`)" - "traefik.http.middlewares.pocket-id-https-redirect.redirectscheme.scheme=https" - "traefik.http.routers.pocket-id.middlewares=pocket-id-https-redirect" - "traefik.http.routers.pocket-id-secure.entrypoints=https" - "traefik.http.routers.pocket-id-secure.rule=Host(`pocket-id.jimsgarage.co.uk`)" - "traefik.http.routers.pocket-id-secure.tls=true" - "traefik.http.routers.pocket-id-secure.service=pocket-id" - "traefik.http.services.pocket-id.loadbalancer.server.port=80" - "traefik.docker.network=proxy" networks: proxy: external: true