mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 20:42:43 +00:00
Surface the load-bearing first-run vars in docker-compose.yml and the README quick-start: secret generation, the SESSION_COOKIE_SECURE=false LAN note, the single persistent volume, and a /api/version verify step. Add an Unraid Community Applications template plus a NAS walkthrough covering the external Postgres setup, and a Portainer app template referencing the compose stack.
55 lines
2.4 KiB
JSON
55 lines
2.4 KiB
JSON
{
|
|
"version": "3",
|
|
"templates": [
|
|
{
|
|
"type": 3,
|
|
"title": "HealthLog",
|
|
"name": "healthlog",
|
|
"description": "Self-hosted personal health tracker (PWA + native iOS client): weight, blood pressure, pulse, blood glucose, body composition, sleep, mood, menstrual cycle, and medications on one encrypted timeline. AES-256-GCM at rest, no vendor cloud, no telemetry. Ships app + PostgreSQL 16 as one stack.",
|
|
"note": "Generate each secret with: openssl rand -hex 32 (a 64-char hex string). For plain-HTTP / LAN access set SESSION_COOKIE_SECURE to false, or login fails. Set NEXT_PUBLIC_APP_URL and APP_URL to how you reach the app. Full guide: https://github.com/MBombeck/HealthLog/blob/main/docs/self-hosting/getting-started.md",
|
|
"categories": ["Tools", "Other"],
|
|
"platform": "linux",
|
|
"logo": "https://raw.githubusercontent.com/MBombeck/HealthLog/main/public/logo-512.png",
|
|
"repository": {
|
|
"url": "https://github.com/MBombeck/HealthLog",
|
|
"stackfile": "docker-compose.yml"
|
|
},
|
|
"env": [
|
|
{
|
|
"name": "POSTGRES_PASSWORD",
|
|
"label": "PostgreSQL password",
|
|
"description": "Database password. Generate with: openssl rand -hex 32"
|
|
},
|
|
{
|
|
"name": "ENCRYPTION_KEY",
|
|
"label": "Encryption key (data at rest)",
|
|
"description": "AES-256-GCM key. Generate with: openssl rand -hex 32. Back this up — losing it makes encrypted data unrecoverable."
|
|
},
|
|
{
|
|
"name": "API_TOKEN_HMAC_KEY",
|
|
"label": "API token HMAC key",
|
|
"description": "Generate with: openssl rand -hex 32"
|
|
},
|
|
{
|
|
"name": "SESSION_COOKIE_SECURE",
|
|
"label": "Session cookie Secure flag",
|
|
"description": "Set to false for plain-HTTP / LAN access, or login fails. Set to true only behind an HTTPS reverse proxy.",
|
|
"default": "false"
|
|
},
|
|
{
|
|
"name": "NEXT_PUBLIC_APP_URL",
|
|
"label": "Public app URL",
|
|
"description": "How users reach HealthLog, e.g. http://nas:3000 or https://healthlog.example.com",
|
|
"default": "http://localhost:3000"
|
|
},
|
|
{
|
|
"name": "APP_URL",
|
|
"label": "Internal app URL",
|
|
"description": "Normally identical to the public app URL.",
|
|
"default": "http://localhost:3000"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|