diff --git a/compose/git.yml b/compose/git.yml new file mode 100644 index 0000000..6f0c48f --- /dev/null +++ b/compose/git.yml @@ -0,0 +1,49 @@ +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" + environment: + FORGEJO__server__ROOT_URL: ${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: ${WOODPECKER_ROOT_URL} + WOODPECKER_AGENT_SECRET: ${WOODPECKER_AGENT_SECRET} + WOODPECKER_FORGEJO: "true" + WOODPECKER_FORGEJO_URL: ${FORGEJO_ROOT_URL} + WOODPECKER_FORGEJO_CLIENT: ${WOODPECKER_FORGEJO_CLIENT} + WOODPECKER_FORGEJO_SECRET: ${WOODPECKER_FORGEJO_SECRET} + +volumes: + forgejo-data: + woodpecker-data: + postgres-data: