managarten/.env.macmini.example
Till JS a94abd37e0 chore(macmini): pin COMPOSE_PROJECT_NAME=manacore-monorepo
The Mac Mini's existing containers were originally created under the
project name `manacore-monorepo` (from the historical directory name)
but the current checkout lives in `mana-monorepo`. Without an explicit
pin, every `docker compose up` from this directory spawned a SECOND
project, creating duplicate containers and silent volume conflicts.
The 2026-04-07 outage recovery had to pass `-p manacore-monorepo`
manually for exactly this reason.

Pinning the name in `.env.macmini.example` (which is checked in)
means any fresh checkout that copies it to `.env.macmini` inherits
the right project name automatically. The pin is also live on the
production Mac Mini in `.env` and `.env.macmini` (untracked).

Removing this line WILL break the next deployment — the comment
in the file says so explicitly.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 22:31:25 +02:00

55 lines
2 KiB
Text

# Mac Mini Production Environment
# Copy to .env.macmini and fill in the values
# ============================================
# Compose project name (pinned, do not change)
# ============================================
# All Mac Mini containers were originally created under this project
# name, which mismatches the current directory name (mana-monorepo).
# Pinning the project name here means anyone running 'docker compose ...'
# from the repo root automatically lands in the same project as the
# already-running containers, instead of silently spawning a duplicate
# project with the same compose file. Removing this line WILL break
# the next deployment.
COMPOSE_PROJECT_NAME=manacore-monorepo
# ============================================
# Database (PostgreSQL)
# ============================================
POSTGRES_PASSWORD=your-secure-password-here
# ============================================
# Redis
# ============================================
REDIS_PASSWORD=your-redis-password-here
# ============================================
# JWT Keys (generate with: openssl rand -base64 32)
# For EdDSA keys, use mana-auth key generation
# ============================================
JWT_SECRET=your-jwt-secret-here
# Leave empty to use auto-generated keys
JWT_PUBLIC_KEY=
JWT_PRIVATE_KEY=
# ============================================
# Supabase (optional, for legacy features)
# ============================================
SUPABASE_URL=
SUPABASE_SERVICE_ROLE_KEY=
# ============================================
# Azure OpenAI (for Chat AI features)
# ============================================
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
AZURE_OPENAI_API_KEY=your-api-key-here
# ============================================
# Monitoring (Grafana)
# ============================================
GRAFANA_PASSWORD=your-grafana-admin-password
# ============================================
# Web Analytics (Umami)
# ============================================
UMAMI_APP_SECRET=your-umami-secret-here