woodpecker/woodpecker.yml.2024.09.10

209 lines
7.3 KiB
Plaintext

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.7.1
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.7.1
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="location=manager"
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: any
# 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.7.1
# 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="location=manager"
# deploy:
# placement:
# constraints:
# - node.role == worker
# 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: