Initial commit: MOPC platform with Docker deployment setup
Full Next.js 15 platform with tRPC, Prisma, PostgreSQL, NextAuth. Includes production Dockerfile (multi-stage, port 7600), docker-compose with registry-based image pull, Gitea Actions CI workflow, nginx config for portal.monaco-opc.com, deployment scripts, and DEPLOYMENT.md guide. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
70
.env.example
Normal file
70
.env.example
Normal file
@@ -0,0 +1,70 @@
|
||||
# =============================================================================
|
||||
# MOPC Platform Environment Variables
|
||||
# =============================================================================
|
||||
# Copy this file to .env.local for local development
|
||||
# Copy to .env for production
|
||||
|
||||
# =============================================================================
|
||||
# DATABASE
|
||||
# =============================================================================
|
||||
DATABASE_URL="postgresql://mopc:password@localhost:5432/mopc"
|
||||
|
||||
# Docker Compose database credentials
|
||||
POSTGRES_USER="mopc"
|
||||
POSTGRES_PASSWORD="devpassword"
|
||||
POSTGRES_DB="mopc"
|
||||
|
||||
# =============================================================================
|
||||
# AUTHENTICATION (NextAuth.js)
|
||||
# =============================================================================
|
||||
# Production URL (no trailing slash)
|
||||
NEXTAUTH_URL="https://monaco-opc.com"
|
||||
|
||||
# Generate with: openssl rand -base64 32
|
||||
NEXTAUTH_SECRET="your-secret-key-here"
|
||||
|
||||
# =============================================================================
|
||||
# FILE STORAGE (MinIO)
|
||||
# =============================================================================
|
||||
# Internal endpoint for server-to-server communication
|
||||
MINIO_ENDPOINT="http://localhost:9000"
|
||||
|
||||
# Public endpoint for browser-accessible URLs (pre-signed URLs)
|
||||
# Set this when MinIO is behind a reverse proxy or external to Docker network
|
||||
# If not set, falls back to MINIO_ENDPOINT
|
||||
# MINIO_PUBLIC_ENDPOINT="https://storage.monaco-opc.com"
|
||||
|
||||
MINIO_ACCESS_KEY="minioadmin"
|
||||
MINIO_SECRET_KEY="minioadmin"
|
||||
MINIO_BUCKET="mopc-files"
|
||||
|
||||
# =============================================================================
|
||||
# EMAIL (SMTP via Poste.io)
|
||||
# =============================================================================
|
||||
SMTP_HOST="localhost"
|
||||
SMTP_PORT="587"
|
||||
SMTP_USER="noreply@monaco-opc.com"
|
||||
SMTP_PASS="your-smtp-password"
|
||||
EMAIL_FROM="MOPC Platform <noreply@monaco-opc.com>"
|
||||
|
||||
# =============================================================================
|
||||
# AI (OpenAI for Smart Assignment)
|
||||
# =============================================================================
|
||||
# Optional: Enable AI-powered jury assignment suggestions
|
||||
OPENAI_API_KEY=""
|
||||
OPENAI_MODEL="gpt-4o"
|
||||
|
||||
# =============================================================================
|
||||
# APPLICATION SETTINGS
|
||||
# =============================================================================
|
||||
# Node environment
|
||||
NODE_ENV="development"
|
||||
|
||||
# Maximum file upload size in bytes (500MB for videos)
|
||||
MAX_FILE_SIZE="524288000"
|
||||
|
||||
# Session duration in seconds (24 hours)
|
||||
SESSION_MAX_AGE="86400"
|
||||
|
||||
# Magic link expiry in seconds (15 minutes)
|
||||
MAGIC_LINK_EXPIRY="900"
|
||||
Reference in New Issue
Block a user