infra/compose/git.yml
2024-10-14 16:14:41 -06:00

70 lines
2.1 KiB
YAML

services:
postgres:
image: postgres:latest
volumes:
- ${DATA_DIR:-/var/lib/homelab}/postgres:/var/lib/postgresql/data
environment:
POSTGRES_DB: ${DB_NAME}
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASSWORD}
forgejo:
image: codeberg.org/forgejo/forgejo:8-rootless
depends_on:
- postgres
volumes:
- ${DATA_DIR:-/var/lib/homelab}/forgejo:/data
stop_signal: SIGKILL
ports:
- "3000:3000"
- "2222:2222"
environment:
FORGEJO__server__ROOT_URL: https://${FORGEJO_ROOT_URL}
FORGEJO__server__START_SSH_SERVER: true
FORGEJO__server__SSH_PORT: 2222
FORGEJO__server__SSH_DOMAIN: ${FORGEJO_ROOT_URL}
FORGEJO__database__DB_TYPE: postgres
FORGEJO__database__HOST: postgres:5432
FORGEJO__database__NAME: ${DB_NAME}
FORGEJO__database__USER: ${DB_USER}
FORGEJO__database__PASSWD: ${DB_PASSWORD}
FORGEJO__security__INSTALL_LOCK: "true"
FORGEJO__repository__ENABLE_PUSH_CREATE_USER: "true"
woodpecker:
image: woodpeckerci/woodpecker-server:latest
volumes:
- ${DATA_DIR:-/var/lib/homelab}/woodpecker:/var/lib/woodpecker
stop_signal: SIGKILL
ports:
- "8008:8000"
environment:
WOODPECKER_OPEN: "true"
WOODPECKER_HOST: https://${WOODPECKER_ROOT_URL}
WOODPECKER_AGENT_SECRET: ${WOODPECKER_AGENT_SECRET}
WOODPECKER_FORGEJO: "true"
WOODPECKER_FORGEJO_URL: https://${FORGEJO_ROOT_URL}
WOODPECKER_FORGEJO_CLIENT: ${WOODPECKER_FORGEJO_CLIENT}
WOODPECKER_FORGEJO_SECRET: ${WOODPECKER_FORGEJO_SECRET}
WOODPECKER_GRPC_ADDR: ":9000"
woodpecker-agent:
image: woodpeckerci/woodpecker-agent:latest
command: agent
restart: always
depends_on:
- woodpecker
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
WOODPECKER_SERVER: woodpecker:9000
WOODPECKER_AGENT_SECRET: ${WOODPECKER_AGENT_SECRET}
WOODPECKER_MAX_PROCS: ${WOODPECKER_MAX_PROCS:-2}
WOODPECKER_HEALTHCHECK: "false"
networks:
- default
volumes:
forgejo-data:
woodpecker-data:
postgres-data: