feat: Add Docker build & push to Woodpecker CI pipeline
- Add docker-build-api, docker-build-web, docker-build-postgres steps - Images pushed to reg.diversecanvas.com/mosaic/* on main/develop - Create docker-compose.prod.yml for production deployments - Add .env.prod.example with production configuration Requires Harbor secrets in Woodpecker: - harbor_username - harbor_password Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
66
.env.prod.example
Normal file
66
.env.prod.example
Normal file
@@ -0,0 +1,66 @@
|
||||
# ==============================================
|
||||
# Mosaic Stack Production Environment
|
||||
# ==============================================
|
||||
# Copy to .env and configure for production deployment
|
||||
|
||||
# ======================
|
||||
# PostgreSQL Database
|
||||
# ======================
|
||||
# CRITICAL: Use a strong, unique password
|
||||
POSTGRES_USER=mosaic
|
||||
POSTGRES_PASSWORD=REPLACE_WITH_SECURE_PASSWORD
|
||||
POSTGRES_DB=mosaic
|
||||
POSTGRES_SHARED_BUFFERS=256MB
|
||||
POSTGRES_EFFECTIVE_CACHE_SIZE=1GB
|
||||
POSTGRES_MAX_CONNECTIONS=100
|
||||
|
||||
# ======================
|
||||
# Valkey Cache
|
||||
# ======================
|
||||
VALKEY_MAXMEMORY=256mb
|
||||
|
||||
# ======================
|
||||
# API Configuration
|
||||
# ======================
|
||||
API_PORT=3001
|
||||
API_HOST=0.0.0.0
|
||||
|
||||
# ======================
|
||||
# Web Configuration
|
||||
# ======================
|
||||
WEB_PORT=3000
|
||||
NEXT_PUBLIC_API_URL=https://api.mosaicstack.dev
|
||||
|
||||
# ======================
|
||||
# Authentication (Authentik OIDC)
|
||||
# ======================
|
||||
OIDC_ISSUER=https://auth.diversecanvas.com/application/o/mosaic-stack/
|
||||
OIDC_CLIENT_ID=your-client-id
|
||||
OIDC_CLIENT_SECRET=your-client-secret
|
||||
OIDC_REDIRECT_URI=https://api.mosaicstack.dev/auth/callback/authentik
|
||||
|
||||
# ======================
|
||||
# JWT Configuration
|
||||
# ======================
|
||||
# CRITICAL: Generate a random secret (openssl rand -base64 32)
|
||||
JWT_SECRET=REPLACE_WITH_RANDOM_SECRET
|
||||
JWT_EXPIRATION=24h
|
||||
|
||||
# ======================
|
||||
# Traefik Integration
|
||||
# ======================
|
||||
# Set to true if using external Traefik
|
||||
TRAEFIK_ENABLE=true
|
||||
TRAEFIK_ENTRYPOINT=websecure
|
||||
TRAEFIK_TLS_ENABLED=true
|
||||
TRAEFIK_DOCKER_NETWORK=traefik-public
|
||||
TRAEFIK_CERTRESOLVER=letsencrypt
|
||||
|
||||
# Domain configuration
|
||||
MOSAIC_API_DOMAIN=api.mosaicstack.dev
|
||||
MOSAIC_WEB_DOMAIN=app.mosaicstack.dev
|
||||
|
||||
# ======================
|
||||
# Optional: Ollama
|
||||
# ======================
|
||||
# OLLAMA_ENDPOINT=http://ollama.diversecanvas.com:11434
|
||||
Reference in New Issue
Block a user