familynido/deploy/.env.example
Pablo Fernández a308041d59 Initial commit
FamilyNido — a self-hosted PWA for a single household: shared calendar,
chores, meals, school agenda, health records and a family wall. One
instance per family, deployable with `docker compose` on any home
server.

Stack: .NET 10 (ASP.NET Core Minimal APIs) + EF Core 10 + PostgreSQL 16
on the backend, Angular 21 (standalone, signals, zoneless) + Tailwind
CSS v4 on the frontend, SignalR for realtime, optional OIDC alongside
local credentials, integration via a versioned `/api/v1/**` public API.

See README.md for the module overview and how to deploy.
2026-05-13 00:23:14 +02:00

55 lines
2.8 KiB
Text

# ─── General ────────────────────────────────────────────────────────────────
FAMILYNIDO_BASE_URL=https://familia.example.com
FAMILYNIDO_TIMEZONE=Europe/Madrid
# UID/GID under which the API container will write files. Leave empty to
# keep the default in-container user (UID 100, useful with Docker named
# volumes). Set to a specific user (typically 1000:1000) when you bind-mount
# a host directory and want files to remain owned by that host user — e.g.
# /home/dan/familynido/files mapped to /app/data/files.
PUID=
PGID=
# ─── GHCR (only consumed by docker-compose.prod.yml) ────────────────────────
# GitHub user or org that owns the published images under
# ghcr.io/<GHCR_OWNER>/familynido-api and /familynido-web.
GHCR_OWNER=your-github-user
# ─── PostgreSQL ─────────────────────────────────────────────────────────────
POSTGRES_DB=familynido
POSTGRES_USER=familynido
POSTGRES_PASSWORD=change-me-please
# ─── OIDC (PocketID in prod) ────────────────────────────────────────────────
OIDC_AUTHORITY=https://pocketid.example.com
OIDC_CLIENT_ID=familynido
OIDC_CLIENT_SECRET=
OIDC_REQUIRE_HTTPS=true
# ─── Google Calendar (read-only sync) ───────────────────────────────────────
# Credentials issued by https://console.cloud.google.com/apis/credentials with
# the Calendar API enabled. The redirect URI must match exactly the entry
# registered as an "Authorized redirect URI" for the OAuth client.
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_OAUTH_REDIRECT_URI=https://familia.example.com/api/calendar/google/callback
# ─── Email (SMTP) — used by the invitation flow ─────────────────────────────
# Generic SMTP relay. Works with Brevo (formerly Sendinblue), Gmail with an
# app password, mailcow, an internal MTA, etc. Leave EMAIL__ENABLED=false to
# disable email entirely; admins will still see the "copy link" fallback.
EMAIL__ENABLED=false
EMAIL__SMTPHOST=smtp-relay.example.com
EMAIL__SMTPPORT=587
EMAIL__SMTPUSERNAME=
EMAIL__SMTPPASSWORD=
EMAIL__SMTPUSESTARTTLS=true
EMAIL__FROM=FamilyNido <noreply@familia.example.com>
EMAIL__APPBASEURL=https://familia.example.com
EMAIL__INVITATIONLIFETIME=7.00:00:00
# ─── Traefik (optional — consumed by labels in docker-compose.prod.yml) ────
TRAEFIK_NETWORK=traefik
TRAEFIK_ROUTER_NAME=familynido
TRAEFIK_HOST=familia.example.com
TRAEFIK_TLS_RESOLVER=letsencrypt