services: asxpio: # Image will be dynamically updated during deployment # Format: registry.example.com/user/asxpio:sha_tag build: . image: asxpio:latest container_name: asxpio restart: unless-stopped env_file: .env networks: - traefik - storage labels: - "traefik.enable=true" - "traefik.http.routers.asxpio.rule=Host(`asxp.io`) || Host(`www.asxp.io`)" - "traefik.http.routers.asxpio.entrypoints=websecure" - "traefik.http.routers.asxpio.tls=true" - "traefik.http.routers.asxpio.tls.certresolver=letsencrypt" - "traefik.http.routers.asxpio.service=asxpio" - "traefik.http.services.asxpio.loadbalancer.server.port=3000" # Datacenter bingo: same container, routed by Host in config.ru. # BINGO_HOST is interpolated from /opt/asxpio/.env (written by deploy). - "traefik.http.routers.asxpio-bingo.rule=Host(`${BINGO_HOST}`)" - "traefik.http.routers.asxpio-bingo.entrypoints=websecure" - "traefik.http.routers.asxpio-bingo.tls=true" - "traefik.http.routers.asxpio-bingo.tls.certresolver=letsencrypt" - "traefik.http.routers.asxpio-bingo.service=asxpio" networks: traefik: external: true storage: external: true