{ "id": "forgejo", "name": "Forgejo", "description": "Self-hosted Git service (web UI + git over SSH) backed by the homelab PostgreSQL.", "version": "11.0.0", "category": "development", "tags": ["git", "forgejo", "vcs", "self-hosted", "codeberg"], "author": "Forgejo contributors", "license": "MIT", "homepage": "https://forgejo.org/", "documentation": "https://forgejo.org/docs/latest/", "dependsOn": ["postgres"], "compose": { "image": "codeberg.org/forgejo/forgejo:11", "container_name": "forgejo", "restart": "unless-stopped", "environment": [ "FORGEJO__database__TYPE=postgres", "FORGEJO__database__HOST=homelab-postgres:5432", "FORGEJO__database__NAME=${PG_DB}", "FORGEJO__database__USER=${PG_USER}", "FORGEJO__database__PASSWD=${PG_PASSWORD}", "FORGEJO__server__ROOT_URL=${FORGEJO_ROOT_URL}", "FORGEJO__server__SSH_DOMAIN=${FORGEJO_SSH_DOMAIN}", "FORGEJO__server__SSH_PORT=2222", "FORGEJO__service__DISABLE_REGISTRATION=true", "TZ=${TZ}" ], "ports": [ "10.0.0.5:3000:3000", "10.0.0.5:2222:22" ], "volumes": [ "forgejo_data:/data", "/etc/timezone:/etc/timezone:ro", "/etc/localtime:/etc/localtime:ro" ], "networks": ["homelab"] }, "volumes": { "forgejo_data": {} }, "networks": { "homelab": { "external": true } }, "env": [ { "name": "PG_USER", "label": "Postgres user", "default": "homelab" }, { "name": "PG_DB", "label": "Postgres database", "default": "forgejo" }, { "name": "PG_PASSWORD", "label": "Postgres password", "description": "Must match the postgres service. Pass --env PG_PASSWORD=", "secret": true, "required": true }, { "name": "TZ", "label": "Timezone", "default": "UTC" }, { "name": "FORGEJO_ROOT_URL", "label": "Root URL", "default": "http://10.0.0.5:3000/", "description": "Switch to https://git.example.com/ once the reverse proxy is set up" }, { "name": "FORGEJO_SSH_DOMAIN", "label": "SSH domain", "default": "10.0.0.5", "description": "Host used for git over SSH (port 2222)" } ], "notes": "Web UI at http://10.0.0.5:3000 (LAN only) — create the first admin account there. Git over SSH: ssh://git@10.0.0.5:2222//.git. Registration disabled (users via Authelia SSO later). Repos live in the forgejo_data volume; the database in pg_data (postgres service)." }