deployment/stacks/vieter.yml

69 lines
1.5 KiB
YAML

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: