2.0 KiB
2.0 KiB
Coolify Deployment
Prerequisites
- Coolify instance
- Git repository
Database Setup
Choose one:
Option A: Docker Compose (Recommended)
- Database included in
docker-compose.coolify.yml - Skip to step 2
Option B: Separate PostgreSQL Resource
- Create PostgreSQL database in Coolify
- Note connection details
Deploy
Using Docker Compose (Recommended)
- Create application in Coolify
- Select Git repository
- Configure:
- Build Pack: Docker Compose
- File:
./docker-compose.coolify.yml
- Assign domain to
appservice only (format:http://yourdomain.com:3000) - Set environment variables:
AUTH_SECRET(generate withopenssl rand -base64 32)AUTH_URL(your domain with https)POSTGRES_DATA_PATH(optional, for custom database storage location)GOOGLE_CLIENT_ID(optional)GOOGLE_CLIENT_SECRET(optional)
- Deploy
Using Dockerfile
- Create application in Coolify
- Select Git repository
- Configure:
- Build Pack: Docker
- Port:
3000
- Add domain
- Set environment variables:
DATABASE_URLAUTH_SECRET(generate withopenssl rand -base64 32)AUTH_URL(your domain with https)GOOGLE_CLIENT_ID(optional)GOOGLE_CLIENT_SECRET(optional)
- Deploy
After Deployment
Run migrations:
# In Coolify terminal or SSH
docker exec -it <container-name> bun run db:push
Environment Variables
Required:
DATABASE_URL- Connection stringAUTH_SECRET- Random secretAUTH_URL- Your app URLAUTH_TRUST_HOST-true
Optional:
GOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRETPOSTGRES_DATA_PATH- Custom path for PostgreSQL data (Docker Compose only)- Example:
/mnt/storage/wishlist/postgres - If not set, uses a Docker named volume
- Path must exist with proper permissions before deployment
- Example:
Troubleshooting
Container crashes: Check logs in Coolify dashboard
Database connection: Verify DATABASE_URL format
Auth issues: Check AUTH_URL matches your domain