feat: update environment variable placeholders and domain settings in documentation for Coolify deployments

This commit is contained in:
WhiteX 2025-06-10 15:56:49 +03:00 committed by rzmk
parent c62df7a84f
commit 47535efec2
3 changed files with 70 additions and 54 deletions

View file

@ -1,65 +1,79 @@
# Environment Variables for Coolify Deployments # Environment Variables for Coolify Deployments
## DEV Environment (adr-lms.whitex.cloud) > ⚠️ **SECURITY NOTE**: This file contains placeholder values only. Replace ALL `YOUR_*` placeholders with your actual secure values before deployment. Never commit actual secrets to version control.
## Placeholder Values to Replace:
- `YOUR_DEV_REDIS_PASSWORD` - Strong password for development Redis instance
- `YOUR_LIVE_REDIS_PASSWORD` - Strong password for production Redis instance
- `YOUR_DEV_DB_PASSWORD` - Strong password for development database
- `YOUR_LIVE_DB_PASSWORD` - Strong password for production database
- `YOUR_DEV_NEXTAUTH_SECRET` - Cryptographically secure random string for dev auth
- `YOUR_LIVE_NEXTAUTH_SECRET` - Cryptographically secure random string for production auth
- `YOUR_RESEND_API_KEY` - Your actual Resend API key for email delivery
- `your-dev-domain.com` - Your development domain name
- `your-prod-domain.com` - Your production domain name
- `contact@.com` - Your organization contact email
## DEV Environment
``` ```
DEPLOYMENT_NAME=dev DEPLOYMENT_NAME=dev
LEARNHOUSE_DOMAIN=adr-lms.whitex.cloud LEARNHOUSE_DOMAIN=your-dev-domain.com
LEARNHOUSE_COOKIE_DOMAIN=adr-lms.whitex.cloud LEARNHOUSE_COOKIE_DOMAIN=your-dev-domain.com
LEARNHOUSE_CONTACT_EMAIL=adr-lm@whitex.cloud LEARNHOUSE_CONTACT_EMAIL=contact@.com
LEARNHOUSE_EMAIL_PROVIDER=resend LEARNHOUSE_EMAIL_PROVIDER=resend
LEARNHOUSE_IS_AI_ENABLED=false LEARNHOUSE_IS_AI_ENABLED=false
LEARNHOUSE_REDIS_CONNECTION_STRING=redis://default:CfhIfLu2c1VEEpGmhs80NUUvUMzyCq1lmzBZmFJDdrs@redis:6379/1 LEARNHOUSE_REDIS_CONNECTION_STRING=redis://default:YOUR_DEV_REDIS_PASSWORD@redis:6379/1
LEARNHOUSE_RESEND_API_KEY=re_LenY3zNh_S5ShneCyS3Pbf6HX75Yt8jet LEARNHOUSE_RESEND_API_KEY=YOUR_RESEND_API_KEY
LEARNHOUSE_SELF_HOSTED=true LEARNHOUSE_SELF_HOSTED=true
LEARNHOUSE_SITE_DESCRIPTION=ADR LMS is platform tailored for learning experiences. LEARNHOUSE_SITE_DESCRIPTION=ADR LMS is platform tailored for learning experiences.
LEARNHOUSE_SITE_NAME=ADR LMS LEARNHOUSE_SITE_NAME=ADR LMS
LEARNHOUSE_SQL_CONNECTION_STRING=postgresql://learnhouse_dev:Yvvxnnf1+qr6r+6d92NvbaXWeGuRqmsroFdildw9ez4@db:5432/learnhouse_dev LEARNHOUSE_SQL_CONNECTION_STRING=postgresql://learnhouse_dev:YOUR_DEV_DB_PASSWORD@db:5432/learnhouse_dev
LEARNHOUSE_SSL=true LEARNHOUSE_SSL=true
LEARNHOUSE_SYSTEM_EMAIL_ADDRESS=adr-lms@whitex.cloud LEARNHOUSE_SYSTEM_EMAIL_ADDRESS=contact@.com
NEXTAUTH_SECRET=FokIexhXga0KpAF06a7ADqt0HIJf8n9XJeRptZctDG0 NEXTAUTH_SECRET=YOUR_DEV_NEXTAUTH_SECRET
NEXTAUTH_URL=https://adr-lms.whitex.cloud NEXTAUTH_URL=https://your-dev-domain.com
NEXT_PUBLIC_API_URL=https://adr-lms.whitex.cloud/api/v1/ NEXT_PUBLIC_API_URL=https://your-dev-domain.com/api/v1/
NEXT_PUBLIC_LEARNHOUSE_API_URL=https://adr-lms.whitex.cloud/api/v1/ NEXT_PUBLIC_LEARNHOUSE_API_URL=https://your-dev-domain.com/api/v1/
NEXT_PUBLIC_LEARNHOUSE_BACKEND_URL=https://adr-lms.whitex.cloud/ NEXT_PUBLIC_LEARNHOUSE_BACKEND_URL=https://your-dev-domain.com/
NEXT_PUBLIC_LEARNHOUSE_DEFAULT_ORG=default NEXT_PUBLIC_LEARNHOUSE_DEFAULT_ORG=default
NEXT_PUBLIC_LEARNHOUSE_DOMAIN=adr-lms.whitex.cloud NEXT_PUBLIC_LEARNHOUSE_DOMAIN=your-dev-domain.com
NEXT_PUBLIC_LEARNHOUSE_MULTI_ORG=false NEXT_PUBLIC_LEARNHOUSE_MULTI_ORG=false
NEXT_PUBLIC_LEARNHOUSE_TOP_DOMAIN=adr-lms.whitex.cloud NEXT_PUBLIC_LEARNHOUSE_TOP_DOMAIN=your-dev-domain.com
POSTGRES_DB=learnhouse_dev POSTGRES_DB=learnhouse_dev
POSTGRES_PASSWORD=Yvvxnnf1+qr6r+6d92NvbaXWeGuRqmsroFdildw9ez4 POSTGRES_PASSWORD=YOUR_DEV_DB_PASSWORD
POSTGRES_USER=learnhouse_dev POSTGRES_USER=learnhouse_dev
REDIS_PASSWORD=CfhIfLu2c1VEEpGmhs80NUUvUMzyCq1lmzBZmFJDdrs REDIS_PASSWORD=YOUR_DEV_REDIS_PASSWORD
``` ```
## LIVE Environment (edu.adradviser.ro) ## LIVE Environment
``` ```
DEPLOYMENT_NAME=live DEPLOYMENT_NAME=live
LEARNHOUSE_DOMAIN=edu.adradviser.ro LEARNHOUSE_DOMAIN=your-prod-domain.com
LEARNHOUSE_COOKIE_DOMAIN=edu.adradviser.ro LEARNHOUSE_COOKIE_DOMAIN=your-prod-domain.com
LEARNHOUSE_CONTACT_EMAIL=adr-lm@whitex.cloud LEARNHOUSE_CONTACT_EMAIL=contact@.com
LEARNHOUSE_EMAIL_PROVIDER=resend LEARNHOUSE_EMAIL_PROVIDER=resend
LEARNHOUSE_IS_AI_ENABLED=false LEARNHOUSE_IS_AI_ENABLED=false
LEARNHOUSE_REDIS_CONNECTION_STRING=redis://default:tRK6fpKHGM2lWY8AYvL7L5kRQhncF2gydYOxG4l8vNY@redis:6379/0 LEARNHOUSE_REDIS_CONNECTION_STRING=redis://default:YOUR_LIVE_REDIS_PASSWORD@redis:6379/0
LEARNHOUSE_RESEND_API_KEY=re_LenY3zNh_S5ShneCyS3Pbf6HX75Yt8jet LEARNHOUSE_RESEND_API_KEY=YOUR_RESEND_API_KEY
LEARNHOUSE_SELF_HOSTED=true LEARNHOUSE_SELF_HOSTED=true
LEARNHOUSE_SITE_DESCRIPTION=ADR LMS is platform tailored for learning experiences. LEARNHOUSE_SITE_DESCRIPTION=ADR LMS is platform tailored for learning experiences.
LEARNHOUSE_SITE_NAME=ADR LMS LEARNHOUSE_SITE_NAME=ADR LMS
LEARNHOUSE_SQL_CONNECTION_STRING=postgresql://learnhouse:kOZ8JgUNNSbPKSlfIBDBs5Ycs+ZOVZ3NZZooQrOyOqI@db:5432/learnhouse LEARNHOUSE_SQL_CONNECTION_STRING=postgresql://learnhouse:YOUR_LIVE_DB_PASSWORD@db:5432/learnhouse
LEARNHOUSE_SSL=true LEARNHOUSE_SSL=true
LEARNHOUSE_SYSTEM_EMAIL_ADDRESS=adr-lms@whitex.cloud LEARNHOUSE_SYSTEM_EMAIL_ADDRESS=contact@.com
NEXTAUTH_SECRET=LPBwWytdQu9QDQHTdHEOHsHGhXDqdu6I686dXLVHH4g NEXTAUTH_SECRET=YOUR_LIVE_NEXTAUTH_SECRET
NEXTAUTH_URL=https://edu.adradviser.ro NEXTAUTH_URL=https://your-prod-domain.com
NEXT_PUBLIC_API_URL=https://edu.adradviser.ro/api/v1/ NEXT_PUBLIC_API_URL=https://your-prod-domain.com/api/v1/
NEXT_PUBLIC_LEARNHOUSE_API_URL=https://edu.adradviser.ro/api/v1/ NEXT_PUBLIC_LEARNHOUSE_API_URL=https://your-prod-domain.com/api/v1/
NEXT_PUBLIC_LEARNHOUSE_BACKEND_URL=https://edu.adradviser.ro/ NEXT_PUBLIC_LEARNHOUSE_BACKEND_URL=https://your-prod-domain.com/
NEXT_PUBLIC_LEARNHOUSE_DEFAULT_ORG=default NEXT_PUBLIC_LEARNHOUSE_DEFAULT_ORG=default
NEXT_PUBLIC_LEARNHOUSE_DOMAIN=edu.adradviser.ro NEXT_PUBLIC_LEARNHOUSE_DOMAIN=your-prod-domain.com
NEXT_PUBLIC_LEARNHOUSE_MULTI_ORG=false NEXT_PUBLIC_LEARNHOUSE_MULTI_ORG=false
NEXT_PUBLIC_LEARNHOUSE_TOP_DOMAIN=edu.adradviser.ro NEXT_PUBLIC_LEARNHOUSE_TOP_DOMAIN=your-prod-domain.com
POSTGRES_DB=learnhouse POSTGRES_DB=learnhouse
POSTGRES_PASSWORD=kOZ8JgUNNSbPKSlfIBDBs5Ycs+ZOVZ3NZZooQrOyOqI POSTGRES_PASSWORD=YOUR_LIVE_DB_PASSWORD
POSTGRES_USER=learnhouse POSTGRES_USER=learnhouse
REDIS_PASSWORD=tRK6fpKHGM2lWY8AYvL7L5kRQhncF2gydYOxG4l8vNY REDIS_PASSWORD=YOUR_LIVE_REDIS_PASSWORD
``` ```
## Key Differences for Isolation ## Key Differences for Isolation

View file

@ -25,7 +25,7 @@ This document provides instructions for deploying LearnHouse using Coolify, ensu
### 3. Configure Domain Settings ### 3. Configure Domain Settings
- Add your domain (e.g., `learnhouse.example.com`) in the resource settings - Add your domain (e.g., `learnhouse.com`) in the resource settings
- Enable HTTPS if needed (recommended for production) - Enable HTTPS if needed (recommended for production)
- Configure any necessary redirects - Configure any necessary redirects
@ -42,18 +42,18 @@ LEARNHOUSE_SSL=true
LEARNHOUSE_CONTACT_EMAIL=contact@example.com LEARNHOUSE_CONTACT_EMAIL=contact@example.com
# Domain Configuration # Domain Configuration
NEXT_PUBLIC_LEARNHOUSE_DOMAIN=learnhouse.example.com NEXT_PUBLIC_LEARNHOUSE_DOMAIN=learnhouse.com
LEARNHOUSE_COOKIE_DOMAIN=learnhouse.example.com LEARNHOUSE_COOKIE_DOMAIN=learnhouse.com
NEXT_PUBLIC_LEARNHOUSE_TOP_DOMAIN=learnhouse.example.com NEXT_PUBLIC_LEARNHOUSE_TOP_DOMAIN=learnhouse.com
# Authentication # Authentication
NEXTAUTH_SECRET=your_generated_secret_key NEXTAUTH_SECRET=your_generated_secret_key
NEXTAUTH_URL=https://learnhouse.example.com NEXTAUTH_URL=https://learnhouse.com
# API URLs # API URLs
NEXT_PUBLIC_API_URL=https://learnhouse.example.com/api/v1/ NEXT_PUBLIC_API_URL=https://learnhouse.com/api/v1/
NEXT_PUBLIC_LEARNHOUSE_API_URL=https://learnhouse.example.com/api/v1/ NEXT_PUBLIC_LEARNHOUSE_API_URL=https://learnhouse.com/api/v1/
NEXT_PUBLIC_LEARNHOUSE_BACKEND_URL=https://learnhouse.example.com/ NEXT_PUBLIC_LEARNHOUSE_BACKEND_URL=https://learnhouse.com/
# Organization Settings # Organization Settings
NEXT_PUBLIC_LEARNHOUSE_MULTI_ORG=false NEXT_PUBLIC_LEARNHOUSE_MULTI_ORG=false

View file

@ -2,6 +2,8 @@
This setup provides complete network isolation between your DEV and LIVE LearnHouse deployments using a single dynamic Docker Compose file and environment variables. This setup provides complete network isolation between your DEV and LIVE LearnHouse deployments using a single dynamic Docker Compose file and environment variables.
> ⚠️ **NOTE**: This document uses example placeholder domains. Replace all example values with your actual domains before deployment. See [`COOLIFY_ENV_VARS.md`](COOLIFY_ENV_VARS.md) for a complete list of environment variables.
## Single Dynamic Compose File ## Single Dynamic Compose File
- `docker-compose-coolify.yml` - Works for both DEV and LIVE deployments using environment variables - `docker-compose-coolify.yml` - Works for both DEV and LIVE deployments using environment variables
@ -21,29 +23,29 @@ The compose file uses `${DEPLOYMENT_NAME:-learnhouse}` patterns to create:
## Coolify Deployment Instructions ## Coolify Deployment Instructions
### For DEV Environment (adr-lms.whitex.cloud) ### For DEV Environment
1. In Coolify, create a new resource/service 1. In Coolify, create a new resource/service
2. Use the standard `docker-compose-coolify.yml` file 2. Use the standard `docker-compose-coolify.yml` file
3. Set these **key environment variables**: 3. Set these **key environment variables**:
``` ```
DEPLOYMENT_NAME=dev DEPLOYMENT_NAME=dev
LEARNHOUSE_DOMAIN=adr-lms.whitex.cloud LEARNHOUSE_DOMAIN=your-dev-domain.example.com
LEARNHOUSE_COOKIE_DOMAIN=adr-lms.whitex.cloud LEARNHOUSE_COOKIE_DOMAIN=your-dev-domain.example.com
NEXTAUTH_URL=https://adr-lms.whitex.cloud NEXTAUTH_URL=https://your-dev-domain.example.com
# ... your other DEV environment variables # ... your other DEV environment variables
``` ```
### For LIVE Environment (edu.adradviser.ro) ### For LIVE Environment
1. In Coolify, create a new resource/service 1. In Coolify, create a new resource/service
2. Use the same `docker-compose-coolify.yml` file 2. Use the same `docker-compose-coolify.yml` file
3. Set these **key environment variables**: 3. Set these **key environment variables**:
``` ```
DEPLOYMENT_NAME=live DEPLOYMENT_NAME=live
LEARNHOUSE_DOMAIN=edu.adradviser.ro LEARNHOUSE_DOMAIN=your-prod-domain.example.com
LEARNHOUSE_COOKIE_DOMAIN=edu.adradviser.ro LEARNHOUSE_COOKIE_DOMAIN=your-prod-domain.example.com
NEXTAUTH_URL=https://edu.adradviser.ro NEXTAUTH_URL=https://your-prod-domain.example.com
# ... your other LIVE environment variables # ... your other LIVE environment variables
``` ```
@ -83,16 +85,16 @@ After deployment, verify isolation:
``` ```
3. **Test cookie domains** in browser DevTools: 3. **Test cookie domains** in browser DevTools:
- DEV cookies: domain `adr-lms.whitex.cloud` - DEV cookies: domain `your-dev-domain.example.com`
- LIVE cookies: domain `edu.adradviser.ro` - LIVE cookies: domain `your-prod-domain.example.com`
## Adding New Environments ## Adding New Environments
To add a staging environment: To add a staging environment:
``` ```
DEPLOYMENT_NAME=staging DEPLOYMENT_NAME=staging
LEARNHOUSE_DOMAIN=staging.example.com LEARNHOUSE_DOMAIN=your-staging-domain.example.com
LEARNHOUSE_COOKIE_DOMAIN=staging.example.com LEARNHOUSE_COOKIE_DOMAIN=your-staging-domain.example.com
``` ```
This automatically creates `staging-network` and Coolify handles volume isolation. This automatically creates `staging-network` and Coolify handles volume isolation.