107 lines
3.3 KiB
YAML
107 lines
3.3 KiB
YAML
|
|
version: "3.9"
|
|
|
|
services:
|
|
woodpecker-server:
|
|
image: woodpeckerci/woodpecker-server:next-alpine
|
|
environment:
|
|
environment:
|
|
- WOODPECKER_HOST=https://woodpecker.nixc.us
|
|
- WOODPECKER_SERVER_ADDR=:8000
|
|
- WOODPECKER_PROTO=https
|
|
- WOODPECKER_DATABASE_DRIVER=mysql
|
|
- WOODPECKER_DATABASE_DATASOURCE=/data/database.sqlite
|
|
- WOODPECKER_GIT_ALWAYS_AUTH=false
|
|
- WOODPECKER_AGENT_SECRET=redacted
|
|
- 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(db:3306)/woodpecker?parseTime=true
|
|
## Gitea config
|
|
- WOODPECKER_GITEA=true
|
|
- WOODPECKER_GITEA_URL=https://git.nixc.us/
|
|
- WOODPECKER_GITEA_CLIENT=redacted
|
|
- WOODPECKER_GITEA_SECRET=redacted
|
|
networks:
|
|
- traefik
|
|
- default
|
|
volumes:
|
|
- /mnt/tank/persist/nixc.us/woodpecker/production/data:/var/lib/woodpecker/
|
|
# - /root/.docker/config.json:/home/user/.docker/config.json:rw
|
|
deploy:
|
|
replicas: 1
|
|
deploy:
|
|
placement:
|
|
constraints:
|
|
# - node.role == manager
|
|
- node.hostname == ingress.nixc.us
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.woodpecker.tls=true"
|
|
- "traefik.http.services.woodpecker.loadbalancer.server.port=8000"
|
|
- "traefik.http.routers.woodpecker.rule=Host(`woodpecker.nixc.us`)"
|
|
- "traefik.http.routers.woodpecker.entrypoints=websecure"
|
|
- "traefik.http.routers.woodpecker.tls.certresolver=letsencryptresolver"
|
|
- "traefik.http.routers.woodpecker.service=woodpecker"
|
|
- "traefik.docker.network=traefik"
|
|
# - 'traefik.http.routers.woodpecker.middlewares=authelia@docker'
|
|
|
|
woodpecker-agent:
|
|
image: woodpeckerci/woodpecker-agent:next-alpine
|
|
networks:
|
|
- default
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
environment:
|
|
# - WOODPECKER_AGENT_HOST=https://woodpecker.nixc.us
|
|
# - WOODPECKER_AGENT_PROTO=http
|
|
- WOODPECKER_SERVER=woodpecker-server:9000
|
|
- WOODPECKER_AGENT_SECRET=redacted
|
|
- WOODPECKER_MAX_WORKFLOWS=4
|
|
- WOODPECKER_DEBUG=TRUE
|
|
- WOODPECKER_LOG_LEVEL=error
|
|
- WOODPECKER_DEBUG_PRETTY=true
|
|
deploy:
|
|
replicas: 1
|
|
placement:
|
|
constraints:
|
|
# - node.labels.role == db
|
|
# - node.hostname == macmini14
|
|
- node.labels.mac-rack == true
|
|
# - node.role == manager
|
|
labels:
|
|
- "traefik.enable=false"
|
|
|
|
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.labels.role == db
|
|
# - node.hostname == macmini8
|
|
- node.labels.mac-rack == true
|
|
labels:
|
|
- "traefik.enable=false"
|
|
|
|
networks:
|
|
default:
|
|
external: false
|
|
traefik:
|
|
external: true
|
|
|
|
# volumes:
|
|
# woodpeckerdata:
|
|
# external: true
|