services: woodpecker-server: image: woodpeckerci/woodpecker-server:v3 restart: unless-stopped ports: - "${WOODPECKER_PORT}:8000" volumes: - woodpecker-server-data:/var/lib/woodpecker/ environment: - WOODPECKER_OPEN=true - WOODPECKER_HOST=${WOODPECKER_HOST} - WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET} - WOODPECKER_ADMIN=txarli - WOODPECKER_GITEA=true - WOODPECKER_GITEA_URL=${WOODPECKER_GITEA_URL} - WOODPECKER_GITEA_CLIENT=${WOODPECKER_GITEA_CLIENT} - WOODPECKER_GITEA_SECRET=${WOODPECKER_GITEA_SECRET} woodpecker-agent: image: woodpeckerci/woodpecker-agent:v3 command: agent restart: unless-stopped depends_on: - woodpecker-server volumes: - woodpecker-agent-config:/etc/woodpecker - /var/run/docker.sock:/var/run/docker.sock environment: - WOODPECKER_SERVER=woodpecker-server:9000 - WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET} - WOODPECKER_ADMIN=txarli astro-web: image: nginx:alpine container_name: astro-web restart: unless-stopped ports: - "8765:80" volumes: - astro-dist:/usr/share/nginx/html:ro - ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro - ./nginx/.htpasswd:/etc/nginx/.htpasswd:ro rebuild-hook: build: ./rebuild-hook restart: unless-stopped ports: - "${REBUILD_PORT}:3000" environment: PORT: 3000 WOODPECKER_URL: http://woodpecker-server:8000 WOODPECKER_REPO_ID: 1 WOODPECKER_TOKEN: ${WOODPECKER_TOKEN} WEBHOOK_SECRET: ${WEBHOOK_SECRET} volumes: woodpecker-server-data: woodpecker-agent-config: astro-dist: name: astro-dist driver: local driver_opts: type: none o: bind device: ${ASTRO_DIST_PATH}