Skip to main content

Coolify Deployment Test — Quick Reference

ARCHIVE — This document is historical reference only. It may contain outdated information. See docs/status.md for current project state.

One-Liner Quickstart

# Fresh test (recommended first run)
./scripts/test-coolify-deployment.sh fresh

# Full reset + test (clean slate)
./scripts/test-coolify-deployment.sh clean-reset

# Test robustness (no reset)
./scripts/test-coolify-deployment.sh robust

# Security audit
./scripts/security-audit-coolify.sh

# Validate environment (before production)
./scripts/validate-coolify-env.sh --production

Test Modes At A Glance

ModeTimeUse CaseCommand
fresh8-15 minFirst test, CI/CD./scripts/test-coolify-deployment.sh fresh
clean-reset10-15 minDeep debug, verification./scripts/test-coolify-deployment.sh clean-reset
robust5-10 minPersistence, upgrades./scripts/test-coolify-deployment.sh robust

Common Options

# Skip smoke tests (faster)
./scripts/test-coolify-deployment.sh fresh --skip-tests

# Enable debugging
./scripts/test-coolify-deployment.sh fresh --debug

# Custom timeout (600 seconds)
./scripts/test-coolify-deployment.sh fresh --timeout 600

# Help
./scripts/test-coolify-deployment.sh --help

Key Files

FilePurpose
docker-compose.coolify.ymlProduction deployment stack
scripts/test-coolify-deployment.shMain test suite
scripts/validate-coolify-env.shEnvironment validation
scripts/security-audit-coolify.shSecurity hardening checks
.test-logs/coolify-test-*.logTest execution logs

What Gets Tested

✅ Docker installation & configuration ✅ Environment variables ✅ Security hardening ✅ All 5 services startup (PostgreSQL, Auth, Redis, Backend, Frontend) ✅ Service health checks ✅ Network connectivity ✅ API endpoints ✅ Database connectivity ✅ WebSocket readiness


Test Results Quick Check

✅ Success

[✓] Coolify deployment test completed successfully!

❌ Failure

[✗] Coolify deployment test failed with exit code X

Check logs:

cat .test-logs/coolify-test-*.log | tail -50

Environment Setup (First Time)

# 1. Generate encryption key
python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"

# 2. Export it
export ENCRYPTION_KEY="<generated-key>"

# 3. Export other required variables
export VITE_API_URL="http://localhost:8000"
export VITE_WS_URL="ws://localhost:8000"
export CORS_ORIGINS="http://localhost:5173,http://localhost"
export FRONTEND_URL="http://localhost:5173"
export ANTHROPIC_API_KEY="sk-ant-your-key-here"

# 4. Run test
./scripts/test-coolify-deployment.sh fresh

Troubleshooting Cheat Sheet

ProblemCommandFix
Health check timeout--timeout 600Increase timeout
DB can't connectdocker-compose logs supabase-dbCheck DB logs
Frontend blank pagecurl http://localhostTest manually
CORS errorecho $CORS_ORIGINSVerify environment var
Docker not founddocker --versionInstall Docker
Service not reachabledocker-compose psCheck container status

Service Status Check (During/After Test)

# View all containers
docker-compose -f docker-compose.coolify.yml ps

# View specific service logs
docker-compose -f docker-compose.coolify.yml logs [service]

# Follow logs in real-time
docker-compose -f docker-compose.coolify.yml logs -f [service]

# Services:
# - supabase-db
# - supabase-auth
# - redis
# - backend
# - frontend

Cleanup

# Stop containers (keep volumes)
docker-compose -f docker-compose.coolify.yml down

# Stop and remove volumes (clean slate)
docker-compose -f docker-compose.coolify.yml down -v

# Remove all Morphee images
docker images | grep morphee | awk '{print $3}' | xargs docker rmi

Key URLs (During Test)

ServiceURLNotes
Frontendhttp://localhostReact app
Backend APIhttp://localhost:8000FastAPI
API Docshttp://localhost:8000/docsSwagger UI
Healthhttp://localhost:8000/healthAPI health
Authhttp://localhost:9999GoTrue (internal)
Databaselocalhost:5432PostgreSQL
Redislocalhost:6379Redis

Pre-Production Validation

# 1. Environment check
./scripts/validate-coolify-env.sh --production

# 2. Security audit
./scripts/security-audit-coolify.sh

# 3. Fresh deployment
./scripts/test-coolify-deployment.sh fresh

# 4. Robustness check
./scripts/test-coolify-deployment.sh robust

✅ All pass → Ready for production


Essential Environment Variables

# ALWAYS REQUIRED
ENCRYPTION_KEY=<fernet-key>
VITE_API_URL=<api-url>
VITE_WS_URL=<ws-url>
CORS_ORIGINS=<origins>
FRONTEND_URL=<frontend-url>
ANTHROPIC_API_KEY=<api-key>

# Auto-generated by Coolify (don't set manually)
SERVICE_PASSWORD_POSTGRES
SERVICE_PASSWORD_REDIS
SERVICE_REALBASE64_64_JWT
SERVICE_REALBASE64_64_GOTRUE-JWT

Log Locations

LogLocationPurpose
Test logs.test-logs/coolify-test-*.logTest execution trace
Container logsdocker-compose logs [service]Service-specific debug
Backend logsdocker-compose logs backendPython app logs
Frontend logsBrowser consoleReact app logs

Performance Targets

PhaseTarget Time
Environment setup< 1 min
Docker build3-5 min
Startup1-2 min
Health checks2-3 min
Smoke tests1-2 min
Total8-15 min


Quick Test Template (Copy & Paste):

#!/bin/bash
set -e

echo "🧪 Testing Morphee Coolify Deployment..."

# Set environment
export ENCRYPTION_KEY=$(python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())")
export VITE_API_URL="http://localhost:8000"
export VITE_WS_URL="ws://localhost:8000"
export CORS_ORIGINS="http://localhost:5173,http://localhost"
export FRONTEND_URL="http://localhost:5173"
export ANTHROPIC_API_KEY="sk-ant-test-key"

# Run tests
./scripts/validate-coolify-env.sh --test
./scripts/security-audit-coolify.sh
./scripts/test-coolify-deployment.sh fresh

echo "✅ All tests passed!"

Last Updated: February 15, 2026