{ "id": "postgres", "name": "PostgreSQL", "description": "Shared PostgreSQL database for homelab services (Forgejo today, future apps later).", "version": "17.0.0", "category": "database", "tags": ["database", "sql", "postgres"], "author": "PostgreSQL Global Development Group", "license": "PostgreSQL", "homepage": "https://www.postgresql.org/", "documentation": "https://hub.docker.com/_/postgres", "compose": { "image": "postgres:17", "container_name": "homelab-postgres", "restart": "unless-stopped", "environment": [ "POSTGRES_USER=${PG_USER}", "POSTGRES_PASSWORD=${PG_PASSWORD}", "POSTGRES_DB=${PG_DB}" ], "volumes": ["pg_data:/var/lib/postgresql/data"], "networks": ["homelab"], "healthcheck": { "test": ["CMD-SHELL", "pg_isready -U ${PG_USER} -d ${PG_DB}"], "interval": "10s", "timeout": "5s", "retries": 5 } }, "volumes": { "pg_data": {} }, "networks": { "homelab": { "external": true } }, "env": [ { "name": "PG_USER", "label": "Postgres user", "default": "homelab" }, { "name": "PG_PASSWORD", "label": "Postgres password", "description": "Auto-generated on first install and stored in ~/.homelab/services/postgres/.env", "secret": true, "generate": true }, { "name": "PG_DB", "label": "Database name", "default": "forgejo" } ], "notes": "No host port published — reachable only inside the homelab docker network as `homelab-postgres`." }