services: convertx: container_name: convertx image: ghcr.io/c4illin/convertx:latest restart: unless-stopped ports: - "9992:3000" # https://github.com/C4illin/ConvertX#environment-variables environment: - JWT_SECRET=$(JWT_SECRET) - ACCOUNT_REGISTRATION=$(ACCOUNT_REGISTRATION:-false) - HTTP_ALLOWED=$(HTTP_ALLOWED:-false) - ALLOW_UNAUTHENTICATED=$(ALLOW_UNAUTHENTICATED:-false) - AUTO_DELETE_EVERY_N_HOURS=$(AUTO_DELETE_EVERY_N_HOURS:-24) - WEBROOT=$(WEBROOT) - HIDE_HISTORY=$(HIDE_HISTORY:-false) - LANGUAGE=$(LANGUAGE:-en) - UNAUTHENTICATED_USER_SHARING=$(UNAUTHENTICATED_USER_SHARING:-false) - MAX_CONVERT_PROCESS=$(MAX_CONVERT_PROCESS:-0) labels: - "traefik.enable=true" - "traefik.http.services.convertx.loadbalancer.server.port=3000" # Prod Router - "traefik.http.routers.convertx.rule=(Host(`forust.xyz`) || Host(`www.forust.xyz`)) && PathPrefix(`/convert`)" - "traefik.http.routers.convertx.entrypoints=websecure" - "traefik.http.routers.convertx.priority=50" - "traefik.http.routers.convertx.tls.certresolver=letsencrypt" # Local Router - "traefik.http.routers.convertx-local.rule=Host(`workstation.internal`) && PathPrefix(`/convert`)" - "traefik.http.routers.convertx-local.entrypoints=websecure" - "traefik.http.routers.convertx-local.priority=50" - "traefik.http.routers.convertx-local.tls=true" # Dev Router - "traefik.http.routers.convertx-dev.rule=Host(`gigaforust.internal`) && PathPrefix(`/convert`)" - "traefik.http.routers.convertx-dev.entrypoints=websecure" - "traefik.http.routers.convertx-dev.priority=50" - "traefik.http.routers.convertx-dev.tls=true" networks: - proxy volumes: - data:/app/data networks: proxy: external: true volumes: data: