64 lines
3.1 KiB
Text
64 lines
3.1 KiB
Text
# ============================================================================
|
|
# MEGA INFRASTRUCTURE — Coolify production env block (TEMPLATE)
|
|
#
|
|
# This file is committed to git. DO NOT put real secrets here.
|
|
#
|
|
# To deploy to Coolify:
|
|
# 1. Copy this file locally (outside the repo) as .env.coolify.local
|
|
# 2. Replace every REPLACE_ME placeholder below with the real value
|
|
# 3. Paste the resulting contents into Coolify → service → Env vars
|
|
# 4. Source the real values from your password manager / 1Password
|
|
#
|
|
# Also see: docs/setup/env-and-mcp.md (single source of truth for
|
|
# every secret, MCP config, and where the values live).
|
|
# ============================================================================
|
|
|
|
# ── Brand / UI ───────────────────────────────────────────────────────────────
|
|
AUTH_MODE=pin
|
|
NEXT_PUBLIC_APP_PIN=REPLACE_ME
|
|
NEXT_PUBLIC_APP_NAME=MEGA INFRASTRUCTURE
|
|
NEXT_PUBLIC_DEFAULT_THEME=light
|
|
|
|
# Public URL of this Next.js app as seen by clients (used by SSR fetches
|
|
# and by n8n when it calls back to /api/...).
|
|
NEXT_PUBLIC_API_BASE_URL=REPLACE_ME
|
|
|
|
# ── PocketBase ─────────────────────────────────────────────────────────────
|
|
NEXT_PUBLIC_POCKETBASE_URL=REPLACE_ME
|
|
|
|
# Server-only. Never prefix with NEXT_PUBLIC_ or these leak to browsers.
|
|
POCKETBASE_ADMIN_EMAIL=REPLACE_ME
|
|
POCKETBASE_ADMIN_PASSWORD=REPLACE_ME
|
|
|
|
# Pre-issued PocketBase superuser token. Validates on cold start; the
|
|
# route will fall back to email+password if this token is rejected.
|
|
# Get one by running: python3 scripts/pb-bootstrap-schema.py
|
|
# (it prints the token at the end of a successful run).
|
|
POCKETBASE_ADMIN_TOKEN=REPLACE_ME
|
|
|
|
# ── n8n (Purchase Order + Delivery Note ingestion) ───────────────────────
|
|
N8N_PO_INGEST_URL=REPLACE_ME
|
|
|
|
# Shared secret n8n workflows include in x-ingest-secret when calling
|
|
# back to /api/purchase-orders/process-batch and
|
|
# /api/delivery-notes/[id]/ocr-result. Generate with: openssl rand -hex 32
|
|
# MUST match the value set on the n8n workflow side exactly.
|
|
N8N_INGEST_SECRET=REPLACE_ME
|
|
|
|
# Public URL of the n8n instance — only used by your local Codex MCP
|
|
# config, not by the app itself.
|
|
N8N_MCP_URL=REPLACE_ME
|
|
|
|
# ── Added 2026-09: clock corrections + delivery-note pipeline ──────────
|
|
# Server-side copy of the shared PIN (keep equal to NEXT_PUBLIC_APP_PIN).
|
|
# Without it the On-site "Needs attention" correction returns 503.
|
|
APP_PIN=REPLACE_ME
|
|
# Code required to edit a posted receipt. openssl rand -hex 16
|
|
RECEIPT_CORRECTION_SECRET=REPLACE_ME
|
|
# MEGA VAT number the DN pipeline checks on every slip.
|
|
MEGA_CUSTOMER_VAT_NO=4280307796
|
|
# dn_batches claimed per /api/dn-batches/tick hit.
|
|
DN_TICK_BATCH_SIZE=1
|
|
# Staged vs legacy DN tick runner — exactly "true" once the staged
|
|
# pipeline is rolled out, else "false". See docs/operations.md §8.
|
|
DN_STAGED_INGESTION_ENABLED=false
|