vienalatina/infra/woodpecker/docker-compose.yml
Claude 66903016c7
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Add infra files and step-by-step server setup guide
- infra/caddy/Caddyfile: git.* and ci.* proxies live now; main-site block
  (with WP 301 redirects) commented until cutover day
- infra/gitea and infra/woodpecker: Docker Compose bound to localhost
  behind Caddy, with .env.example for the Woodpecker OAuth credentials
- docs/server-setup.md: every command from ordering the CX22 through the
  end-to-end translation test, plus the cutover-day checklist

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017z2rT1oN7vMS4ggo23n5WG
2026-07-31 11:36:43 +00:00

36 lines
1.2 KiB
YAML

# Woodpecker CI — server + one agent on the same VPS.
# Copy this directory to /srv/woodpecker/, create .env from .env.example,
# then: docker compose up -d
# Web UI is bound to localhost only; Caddy proxies ci.vienalatina.com to it.
services:
server:
image: woodpeckerci/woodpecker-server:v2
restart: unless-stopped
ports:
- "127.0.0.1:8000:8000"
environment:
- WOODPECKER_HOST=https://ci.vienalatina.com
- WOODPECKER_OPEN=false
- WOODPECKER_ADMIN=pablo # your Gitea username
- WOODPECKER_GITEA=true
- WOODPECKER_GITEA_URL=https://git.vienalatina.com
- WOODPECKER_GITEA_CLIENT=${WOODPECKER_GITEA_CLIENT}
- WOODPECKER_GITEA_SECRET=${WOODPECKER_GITEA_SECRET}
- WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET}
volumes:
- ./data:/var/lib/woodpecker
agent:
image: woodpeckerci/woodpecker-agent:v2
restart: unless-stopped
depends_on:
- server
environment:
- WOODPECKER_SERVER=server:9000
- WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET}
- WOODPECKER_BACKEND=docker
- WOODPECKER_MAX_WORKFLOWS=2
volumes:
- /var/run/docker.sock:/var/run/docker.sock