services: forgejo: image: codeberg.org/forgejo/forgejo:9 container_name: forgejo restart: unless-stopped environment: - USER_UID=1000 - USER_GID=1000 - FORGEJO__database__DB_TYPE=postgres - FORGEJO__database__HOST=forgejo-db:5432 - FORGEJO__database__NAME=${DB_NAME} - FORGEJO__database__USER=${DB_USER} - FORGEJO__database__PASSWD=${DB_PASSWORD} - FORGEJO__server__DOMAIN=git.mbraune.com - FORGEJO__server__ROOT_URL=https://git.mbraune.com - FORGEJO__server__HTTP_PORT=3000 - FORGEJO__service__DISABLE_REGISTRATION=true volumes: - ./data:/data depends_on: forgejo-db: condition: service_healthy networks: - forgejo_internal - git_net forgejo-db: image: postgres:16-alpine container_name: forgejo-db restart: unless-stopped environment: - POSTGRES_DB=${DB_NAME} - POSTGRES_USER=${DB_USER} - POSTGRES_PASSWORD=${DB_PASSWORD} volumes: - ./db:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"] interval: 10s timeout: 5s retries: 5 networks: - forgejo_internal networks: forgejo_internal: driver: bridge git_net: external: true