version: '3.7' # https://hub.docker.com/r/woodpeckerci/woodpecker-server/ # https://woodpecker-ci.org/docs/administration/setup # https://woodpecker-ci.org/docs/administration/server-config # https://woodpecker-ci.org/docs/administration/forges/gitea # auth callback /authorize networks: woodpecker: services: woodpecker: image: woodpeckerci/woodpecker-server:latest-alpine container_name: woodpecker restart: "${RESTART:-no}" hostname: ci domainname: ${BASE_DOMAIN} environment: - WOODPECKER_HOST=https://ci.${BASE_DOMAIN} - WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET} - WOODPECKER_OPEN=true - WOODPECKER_GITEA=true - WOODPECKER_GITEA_URL=https://git.${BASE_DOMAIN} - WOODPECKER_GITEA_CLIENT=${WOODPECKER_GITEA_CLIENT} - WOODPECKER_GITEA_SECRET=${WOODPECKER_GITEA_SECRET} - WOODPECKER_DATABASE_DRIVER=postgres - WOODPECKER_DATABASE_DATASOURCE=postgres://woodpecker:${WOODPECKER_PG_PWD:-woodpecker}@pg-woodpecker:5432/woodpecker?sslmode=disable depends_on: - pg-woodpecker networks: - proxy - woodpecker woodpecker-agent: image: woodpeckerci/woodpecker-agent:latest-alpine command: agent container_name: woodpecker-agent restart: "${RESTART:-no}" hostname: runner domainname: ${BASE_DOMAIN} environment: - WOODPECKER_SERVER=woodpecker:9000 - WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET} volumes: - /var/run/docker.sock:/var/run/docker.sock depends_on: - woodpecker networks: - woodpecker pg-woodpecker: image: postgres:${POSTGRES_VERSION}-alpine container_name: pg-woodpecker restart: "${RESTART:-no}" environment: - POSTGRES_DB=woodpecker - POSTGRES_USER=woodpecker - POSTGRES_PASSWORD=${WOODPECKER_PG_PWD:-woodpecker} volumes: - ${BASE_DIR:-/srv}/woodpecker/psql:/var/lib/postgresql/data networks: - woodpecker