Add comprehensive deployment solutions and fix production deployment

🚀 New Deployment Commands:
- deploy-local: Docker-based local deployment (http://localhost:8080)
- deploy-demo: Demo deployment with development settings
- deploy-prod-quick: Production deployment with auto-generated secrets
- deploy-prod-configured: Production deployment with pre-configured secrets
- stop-local: Stop local Docker deployment

🔧 Fixes:
- Fixed deploy-prod-quick to properly generate secure secrets
- Updated local deployments to use development environment
- Fixed Docker Compose environment variable handling
- Improved error handling and user feedback

📚 Documentation:
- Added Quick Deployment Guide (docs/QUICK_DEPLOYMENT.md)
- Updated README with practical deployment guidance
- Clear explanation of deployment options and use cases
- Troubleshooting section for common issues

 Features:
- Auto-generated secure JWT and session secrets for production
- Local Docker deployment with persistent CouchDB
- Clear separation between development and production processes
- Comprehensive deployment option matrix

🧪 Verification:
-  Local deployment: make deploy-local (working with Docker)
-  Production build: JWT_SECRET=x SESSION_SECRET=y make build-prod (working)
-  Development build: make build (working)
-  All existing functionality preserved

🎯 Ready for use:
- Immediate testing: make deploy-local
- Production deployment: make deploy-prod-quick
This commit is contained in:
William Valentin
2025-09-08 19:32:52 -07:00
parent beb9d84071
commit 430ed7458b
3 changed files with 474 additions and 7 deletions

View File

@@ -142,6 +142,22 @@ VITE_COUCHDB_URL=http://localhost:5984 bun run dev
### **Makefile Commands**
## 🚀 Quick Start Deployment
For immediate testing and development:
```bash
# Start local development server
make dev
# Or deploy locally with Docker (includes database)
make deploy-local
# Access at: http://localhost:8080
# Stop with: make stop-local
```
## 📖 Available Commands
For convenience, you can use the included Makefile which wraps all package.json scripts with organized categories:
```bash
@@ -154,6 +170,10 @@ make build # Build for development
make build-prod # Build for production (requires configuration)
make test # Run unit tests
# Local deployment (recommended for testing)
make deploy-local # Deploy locally with Docker (http://localhost:8080)
make stop-local # Stop local Docker deployment
# Testing commands
make test-all # Run all tests (unit + integration + e2e)
make test-e2e # Run end-to-end tests
@@ -164,13 +184,16 @@ make lint # Run all linting checks
make pre-commit # Run pre-commit checks
make full-check # Run complete code quality check
# Kubernetes deployment
make deploy-dev # Deploy to development environment
make deploy-prod # Deploy to production environment
# Production deployment
make deploy-prod-quick # Deploy to production with auto-generated secrets
make deploy-prod-configured # Deploy to production with pre-configured secrets
make deploy-local # Deploy locally with Docker for testing
# Kubernetes deployment (requires cluster setup)
make deploy-dev # Deploy to development environment (needs namespace)
make deploy-prod # Deploy to production environment (needs namespace)
make undeploy-dev # Remove development deployment
make undeploy-prod # Remove production deployment
make diff-dev # Show changes for development deployment
make diff-prod # Show changes for production deployment
make validate-k8s # Validate Kubernetes configurations
# Docker operations