Add Portainer stack.env support for environment variable management
- Add docker/stack.env template for Portainer deployment - Update Dockerfile to accept build args for Next.js environment variables - Update docker-compose.deploy.yml to pass build args from environment - Add comprehensive Portainer deployment guide in DOCKER_DEPLOYMENT.md - Document environment variable setup for both CLI and Portainer deployments
This commit is contained in:
@@ -68,6 +68,10 @@ services:
|
||||
build:
|
||||
context: ..
|
||||
dockerfile: Dockerfile
|
||||
args:
|
||||
NEXT_PUBLIC_VAPID_PUBLIC_KEY: ${NEXT_PUBLIC_VAPID_PUBLIC_KEY}
|
||||
BETTER_AUTH_SECRET: ${BETTER_AUTH_SECRET}
|
||||
BETTER_AUTH_URL: ${BETTER_AUTH_URL}
|
||||
restart: always
|
||||
environment:
|
||||
DATABASE_URL: postgresql://${POSTGRES_USER:-epicure}:${POSTGRES_PASSWORD:-changeme}@postgres:5432/${POSTGRES_DB:-epicure}
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
# Portainer Stack Environment Variables
|
||||
# Copy this file to stack.env.local and fill in your production values
|
||||
# Portainer will read this file when deploying the stack
|
||||
|
||||
# ============================================
|
||||
# Database Configuration
|
||||
# ============================================
|
||||
POSTGRES_DB=epicure
|
||||
POSTGRES_USER=epicure
|
||||
POSTGRES_PASSWORD=changeme_strong_password_here
|
||||
DB_HOST=postgres
|
||||
|
||||
# ============================================
|
||||
# Redis Configuration
|
||||
# ============================================
|
||||
REDIS_PASSWORD=changeme_strong_password_here
|
||||
|
||||
# ============================================
|
||||
# MinIO / S3 Storage Configuration
|
||||
# ============================================
|
||||
MINIO_ROOT_USER=minioadmin
|
||||
MINIO_ROOT_PASSWORD=changeme_strong_password_here
|
||||
|
||||
# ============================================
|
||||
# Better Auth Configuration
|
||||
# ============================================
|
||||
BETTER_AUTH_SECRET=changeme_generate_with_openssl_rand_base64_32
|
||||
BETTER_AUTH_URL=https://your-domain.com
|
||||
|
||||
# ============================================
|
||||
# Domain Configuration
|
||||
# ============================================
|
||||
DOMAIN=your-domain.com
|
||||
|
||||
# ============================================
|
||||
# OAuth Configuration
|
||||
# ============================================
|
||||
GOOGLE_CLIENT_ID=your-google-client-id
|
||||
GOOGLE_CLIENT_SECRET=your-google-client-secret
|
||||
|
||||
# ============================================
|
||||
# AI Provider Configuration
|
||||
# ============================================
|
||||
OPENROUTER_API_KEY=your-openrouter-api-key
|
||||
OPENROUTER_DEFAULT_MODEL=nvidia/nemotron-3-ultra-550b-a55b:free
|
||||
OPENAI_API_KEY=
|
||||
ANTHROPIC_API_KEY=
|
||||
|
||||
# ============================================
|
||||
# Email / SMTP Configuration
|
||||
# ============================================
|
||||
SMTP_HOST=smtp.eu.mailgun.org
|
||||
SMTP_PORT=587
|
||||
SMTP_SECURE=false
|
||||
SMTP_USER=your-email@example.com
|
||||
SMTP_PASS=your-smtp-password
|
||||
SMTP_FROM=Epicure <noreply@example.com>
|
||||
|
||||
# ============================================
|
||||
# Push Notifications
|
||||
# ============================================
|
||||
NEXT_PUBLIC_VAPID_PUBLIC_KEY=your-vapid-public-key
|
||||
VAPID_PRIVATE_KEY=your-vapid-private-key
|
||||
|
||||
# ============================================
|
||||
# Node Environment
|
||||
# ============================================
|
||||
NODE_ENV=production
|
||||
Reference in New Issue
Block a user