version: '3.4' services: app: image: 'chewingbever/vieter:dev' deploy: mode: 'replicated' replicas: 1 placement: constraints: - 'node.labels.class.vieter==true' labels: - 'traefik.enable=true' - 'traefik.http.routers.vieter.rule=Host(`arch.r8r.be`)' - 'traefik.http.routers.vieter.tls=true' - 'traefik.http.routers.vieter.tls.certresolver=letsEncrypt' - 'traefik.http.services.vieter.loadbalancer.server.port=8000' environment: - 'VIETER_API_KEY_FILE=/run/secrets/vieter_api_key' - 'VIETER_LOG_LEVEL=DEBUG' - 'VIETER_DEFAULT_ARCH=x86_64' networks: - 'public' secrets: - vieter_api_key volumes: - 'data:/data' cron: image: 'chewingbever/vieter:dev' command: vieter cron user: root healthcheck: disable: true deploy: mode: 'replicated' replicas: 1 placement: constraints: - 'node.hostname==epsilon' environment: - 'VIETER_API_KEY_FILE=/run/secrets/vieter_api_key' - 'VIETER_LOG_LEVEL=DEBUG' - 'VIETER_ADDRESS=https://arch.r8r.be' - 'VIETER_MAX_CONCURRENT_BUILDS=2' - 'VIETER_BASE_IMAGE=git.rustybever.be/vieter-v/vieter-builder:latest' # 1AM UTC+2 - 'VIETER_GLOBAL_SCHEDULE=0 23' secrets: - vieter_api_key volumes: - '/var/run/docker.sock:/var/run/docker.sock' networks: public: external: true secrets: vieter_api_key: external: true volumes: data: