# Forgejo: Git hosting + built-in container registry. Git over HTTPS only (SSH # disabled) so no extra inbound port is needed behind the Phase 1 firewall. # Uses the built-in SQLite DB (simplest for a single instance); data on ZFS. services: forgejo: image: codeberg.org/forgejo/forgejo:10 container_name: forgejo restart: unless-stopped environment: USER_UID: "1000" USER_GID: "1000" FORGEJO__server__DOMAIN: ${FORGEJO_DOMAIN} FORGEJO__server__ROOT_URL: "https://${FORGEJO_DOMAIN}/" FORGEJO__server__DISABLE_SSH: "true" FORGEJO__service__DISABLE_REGISTRATION: "true" FORGEJO__packages__ENABLED: "true" volumes: - /tank/platform/forgejo:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro networks: - proxy labels: - "traefik.enable=true" - "traefik.http.routers.forgejo.rule=Host(`${FORGEJO_DOMAIN}`)" - "traefik.http.routers.forgejo.entrypoints=websecure" - "traefik.http.routers.forgejo.tls.certresolver=le" - "traefik.http.routers.forgejo.middlewares=security-headers@file" - "traefik.http.services.forgejo.loadbalancer.server.port=3000" networks: proxy: external: true