mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 20:21:09 +02:00
Complete production setup with: - docker-compose.yml with all recommended apps (auth, chat, todo, calendar, clock, dashboard) - Caddyfile for automatic HTTPS via Let's Encrypt - PostgreSQL backup/restore scripts with daily retention - Environment template with secure defaults - Comprehensive deployment guide Apps deployed: - auth.manacore.ai (Authentication) - app.manacore.ai (Dashboard) - chat.manacore.ai / chat-api.manacore.ai - todo.manacore.ai / todo-api.manacore.ai - calendar.manacore.ai / calendar-api.manacore.ai - clock.manacore.ai / clock-api.manacore.ai
78 lines
2.7 KiB
Text
78 lines
2.7 KiB
Text
# ManaCore Production Environment Variables
|
|
# Copy this file to .env and fill in the values:
|
|
# cp .env.template .env
|
|
# nano .env
|
|
#
|
|
# IMPORTANT: Never commit the .env file to git!
|
|
|
|
# ============================================
|
|
# Docker Registry
|
|
# ============================================
|
|
DOCKER_REGISTRY=ghcr.io/memo-2023
|
|
|
|
# ============================================
|
|
# PostgreSQL
|
|
# ============================================
|
|
POSTGRES_DB=manacore
|
|
POSTGRES_USER=postgres
|
|
# Generate with: openssl rand -base64 32
|
|
POSTGRES_PASSWORD=CHANGE_ME_STRONG_PASSWORD
|
|
|
|
# ============================================
|
|
# Redis
|
|
# ============================================
|
|
# Generate with: openssl rand -base64 32
|
|
REDIS_PASSWORD=CHANGE_ME_STRONG_PASSWORD
|
|
|
|
# ============================================
|
|
# JWT Configuration
|
|
# ============================================
|
|
# Generate secret with: openssl rand -base64 64
|
|
JWT_SECRET=CHANGE_ME_STRONG_SECRET
|
|
|
|
# EdDSA Key Pair (Ed25519)
|
|
# Generate with: node -e "const { generateKeyPairSync } = require('crypto'); const { publicKey, privateKey } = generateKeyPairSync('ed25519'); console.log('PUBLIC:', publicKey.export({type:'spki',format:'pem'}).toString().replace(/\\n/g,'\\\\n')); console.log('PRIVATE:', privateKey.export({type:'pkcs8',format:'pem'}).toString().replace(/\\n/g,'\\\\n'));"
|
|
JWT_PUBLIC_KEY="-----BEGIN PUBLIC KEY-----\nYOUR_PUBLIC_KEY_HERE\n-----END PUBLIC KEY-----"
|
|
JWT_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\nYOUR_PRIVATE_KEY_HERE\n-----END PRIVATE KEY-----"
|
|
|
|
JWT_ACCESS_TOKEN_EXPIRY=15m
|
|
JWT_REFRESH_TOKEN_EXPIRY=7d
|
|
|
|
# ============================================
|
|
# Service Versions (optional, defaults to latest)
|
|
# ============================================
|
|
AUTH_VERSION=latest
|
|
CHAT_VERSION=latest
|
|
CHAT_WEB_VERSION=latest
|
|
TODO_VERSION=latest
|
|
TODO_WEB_VERSION=latest
|
|
CALENDAR_VERSION=latest
|
|
CALENDAR_WEB_VERSION=latest
|
|
CLOCK_VERSION=latest
|
|
CLOCK_WEB_VERSION=latest
|
|
MANACORE_WEB_VERSION=latest
|
|
|
|
# ============================================
|
|
# Azure OpenAI (for Chat)
|
|
# ============================================
|
|
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com
|
|
AZURE_OPENAI_API_KEY=your-api-key
|
|
AZURE_OPENAI_API_VERSION=2024-12-01-preview
|
|
|
|
# ============================================
|
|
# Credits System
|
|
# ============================================
|
|
CREDITS_SIGNUP_BONUS=100
|
|
CREDITS_DAILY_FREE=5
|
|
|
|
# ============================================
|
|
# OAuth (optional)
|
|
# ============================================
|
|
# GOOGLE_CLIENT_ID=
|
|
# GOOGLE_CLIENT_SECRET=
|
|
|
|
# ============================================
|
|
# Stripe (optional)
|
|
# ============================================
|
|
# STRIPE_SECRET_KEY=sk_live_...
|
|
# STRIPE_WEBHOOK_SECRET=whsec_...
|