version: "3.9" networks: default: external: false traefik: external: true services: server: # image: woodpeckerci/woodpecker-server:next-alpine # image: woodpeckerci/woodpecker-server:next-4198c447fb # image: woodpeckerci/woodpecker-server:v2.0.0 # image: woodpeckerci/woodpecker-server:next # image: woodpeckerci/woodpecker-server:v2.4.1 image: woodpeckerci/woodpecker-server:v2.6.0 environment: - WOODPECKER_OPEN=true - WOODPECKER_HOST=https://woodpecker.nixc.us - WOODPECKER_BACKEND=docker - WOODPECKER_BACKEND_DOCKER_NETWORK=default - WOODPECKER_ADMIN=colin - WOODPECKER_REPO_OWNERS=colin,meta,fansdb,lilsgym,nixius,Nixius - WOODPECKER_LOG_LEVEL=debug # ## Gitea config - WOODPECKER_GITEA=true - WOODPECKER_GITEA_URL=https://git.nixc.us/ - WOODPECKER_GITEA_CLIENT=56c038d7-64b5-47e4-acae-cb8a69b31731 - WOODPECKER_GITEA_SECRET=gto_3wopyl5cybbs6p2gjducq6atxgl2zuebhcxda4sky3yjlxx3kmla - WOODPECKER_AGENT_SECRET=WdK6TEWqsfi6R6SGKYSaqsg7ZQyKxnZFyWBeegt2TCCDHmivcYaPCMmdXTN5G7U3bv3C6TFDDiyBdoKB5M5c5hikGrQzm67rcBbfKB3SZRYFeurAGwsPmtVQWnVkPCtG # environment: # - WOODPECKER_HOST=https://woodpecker.nixc.us # - WOODPECKER_SERVER_ADDR=:8000 # - WOODPECKER_PROTO=https - WOODPECKER_DATABASE_DRIVER=mysql # - WOODPECKER_BACKEND=docker # - WOODPECKER_BACKEND_DOCKER_NETWORK=default # # - WOODPECKER_DATABASE_DATASOURCE=/data/database.sqlite # - WOODPECKER_GIT_ALWAYS_AUTH=false # - WOODPECKER_AGENT_SECRET=WdK6TEWqsfi6R6SGKYSaqsg7ZQyKxnZFyWBeegt2TCCDHmivcYaPCMmdXTN5G7U3bv3C6TFDDiyBdoKB5M5c5hikGrQzm67rcBbfKB3SZRYFeurAGwsPmtVQWnVkPCtG # - WOODPECKER_ADMIN=colin # - WOODPECKER_REPO_OWNERS=colin,meta # - WOODPECKER_OPEN=true # # - WOODPECKER_DOCKER_CONFIG=/home/user/.docker/config.json # # https://github.com/go-sql-driver/mysql#dsn-data-source-name - WOODPECKER_DATABASE_DATASOURCE=woodpecker:woodpecker@tcp(woodpecker_db:3306)/woodpecker?parseTime=true # ## Gitea config # - WOODPECKER_GITEA=true # - WOODPECKER_GITEA_URL=https://git.nixc.us/ # - WOODPECKER_GITEA_CLIENT=56c038d7-64b5-47e4-acae-cb8a69b31731 # - WOODPECKER_GITEA_SECRET=gto_3wopyl5cybbs6p2gjducq6atxgl2zuebhcxda4sky3yjlxx3kmla networks: - traefik - default # dns: # - "176.103.130.130" # - "1.1.1.1" volumes: - /mnt/tank/persist/nixc.us/woodpecker/production/data:/var/lib/woodpecker/ - /var/run/docker.sock:/var/run/docker.sock deploy: replicas: 1 placement: constraints: # - node.role == manager - node.hostname == macmini1 labels: homepage.group: Infrastructure homepage.name: woodpecker homepage.href: https://woodpecker.nixc.us homepage.description: Woodpecker CI traefik.enable: "true" traefik.http.routers.production_woodpecker.tls: "true" traefik.http.services.production_woodpecker.loadbalancer.server.port: "8000" traefik.http.routers.production_woodpecker.rule: "Host(`woodpecker.nixc.us`)" traefik.http.routers.production_woodpecker.entrypoints: "websecure" traefik.http.routers.production_woodpecker.tls.certresolver: "letsencryptresolver" traefik.http.routers.production_woodpecker.service: "production_woodpecker" traefik.docker.network: traefik update_config: order: stop-first delay: 60s parallelism: 1 restart_policy: condition: on-failure # logging: # driver: "gelf" # options: # gelf-address: "udp://log.nixc.us:15124" # tag: "woodpecker_server" db: image: mariadb:10.6 environment: - MYSQL_DATABASE=woodpecker - MYSQL_USER=woodpecker - MYSQL_PASSWORD=woodpecker - MYSQL_RANDOM_ROOT_PASSWORD=1 volumes: - /mnt/tank/persist/nixc.us/woodpecker/production/db:/var/lib/mysql networks: - default deploy: replicas: 1 placement: constraints: - node.hostname == macmini1 labels: - "traefik.enable=false" update_config: order: stop-first failure_action: rollback delay: 0s parallelism: 1 restart_policy: condition: on-failure # logging: # driver: "gelf" # options: # gelf-address: "udp://log.nixc.us:15124" # tag: "woodpecker_db" agents-managers: # image: woodpeckerci/woodpecker-agent:next-4198c447fb # image: woodpeckerci/woodpecker-agent:v2.0.0 # image: woodpeckerci/woodpecker-agent:next image: woodpeckerci/woodpecker-agent:v2.6.0 networks: - default environment: - WOODPECKER_SERVER=woodpecker_server:9000 - WOODPECKER_AGENT_SECRET=WdK6TEWqsfi6R6SGKYSaqsg7ZQyKxnZFyWBeegt2TCCDHmivcYaPCMmdXTN5G7U3bv3C6TFDDiyBdoKB5M5c5hikGrQzm67rcBbfKB3SZRYFeurAGwsPmtVQWnVkPCtG - WOODPECKER_DEBUG=TRUE - WOODPECKER_LOG_LEVEL=debug - WOODPECKER_BACKEND=docker - WOODPECKER_MAX_WORKFLOWS=1 # - WOODPECKER_LOG_LEVEL=error - WOODPECKER_DEBUG_PRETTY=true # - WOODPECKER_BACKEND_DOCKER_NETWORK=default - WOODPECKER_AGENT_CONFIG_FILE=/etc/woodpecker/agent-secret.conf - "WOODPECKER_HOSTNAME={{ .Node.Hostname }}" - WOODPECKER_FILTER_LABELS="master" deploy: placement: constraints: - node.role == manager mode: global labels: - "traefik.enable=false" update_config: order: stop-first failure_action: rollback delay: 120s parallelism: 4 restart_policy: condition: on-failure # logging: # driver: "gelf" # options: # gelf-address: "udp://log.nixc.us:15124" # tag: woodpecker_agents volumes: - agent-secret:/etc/woodpecker/ - /var/run/docker.sock:/var/run/docker.sock agents-workers: # image: woodpeckerci/woodpecker-agent:next-4198c447fb # image: woodpeckerci/woodpecker-agent:v2.0.0 # image: woodpeckerci/woodpecker-agent:next image: woodpeckerci/woodpecker-agent:v2.6.0 networks: - default environment: - WOODPECKER_SERVER=woodpecker_server:9000 - WOODPECKER_AGENT_SECRET=WdK6TEWqsfi6R6SGKYSaqsg7ZQyKxnZFyWBeegt2TCCDHmivcYaPCMmdXTN5G7U3bv3C6TFDDiyBdoKB5M5c5hikGrQzm67rcBbfKB3SZRYFeurAGwsPmtVQWnVkPCtG - WOODPECKER_DEBUG=TRUE - WOODPECKER_LOG_LEVEL=debug - WOODPECKER_BACKEND=docker - WOODPECKER_MAX_WORKFLOWS=1 # - WOODPECKER_LOG_LEVEL=error - WOODPECKER_DEBUG_PRETTY=true # - WOODPECKER_BACKEND_DOCKER_NETWORK=default - WOODPECKER_AGENT_CONFIG_FILE=/etc/woodpecker/agent-secret.conf - "WOODPECKER_HOSTNAME={{ .Node.Hostname }}" - WOODPECKER_FILTER_LABELS="master=false" deploy: placement: constraints: - node.role == manager mode: global labels: - "traefik.enable=false" update_config: order: stop-first failure_action: rollback delay: 120s parallelism: 4 restart_policy: condition: on-failure # logging: # driver: "gelf" # options: # gelf-address: "udp://log.nixc.us:15124" # tag: woodpecker_agents volumes: - agent-secret:/etc/woodpecker/ - /var/run/docker.sock:/var/run/docker.sock volumes: agent-secret: