67 lines
2.5 KiB
JSON
67 lines
2.5 KiB
JSON
{
|
|
"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=<value from ~/.homelab/services/postgres/.env>",
|
|
"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/<owner>/<repo>.git. Registration disabled (users via Authelia SSO later). Repos live in the forgejo_data volume; the database in pg_data (postgres service)."
|
|
}
|