Enable containerization for simplified deployment and scaling of the app

Adds Dockerfile, docker-compose files, and deployment scripts for containerizing the React/Express app.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 3a22ac80-cd1d-4441-9e36-f24fc2f4c3de
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/3478f7c3-db8c-4fca-9165-3adbdf1b5829/e8da43e7-d99c-4328-9fdc-485bdeecffc1.jpg
This commit is contained in:
spliceboti
2025-07-10 00:35:23 +00:00
parent ed0391011d
commit ec2ab0e9f4
10 changed files with 807 additions and 0 deletions
+11
View File
@@ -114,17 +114,28 @@ Preferred communication style: Simple, everyday language.
- **Database**: Drizzle migrations manage schema changes
- **Environment**: Supports both development and production modes
### Docker Containerization
- **Multi-stage Build**: Optimized Docker image with builder and production stages
- **Security**: Non-root user, proper signal handling with dumb-init
- **Health Checks**: Built-in health monitoring for container orchestration
- **Development**: `docker-compose.yml` for local development with PostgreSQL
- **Production**: `docker-compose.prod.yml` with Redis, Nginx, and SSL support
- **Deployment Script**: `deploy.sh` for automated deployment management
### Environment Configuration
- **DATABASE_URL**: PostgreSQL connection string (required)
- **SESSION_SECRET**: Session encryption key
- **REPLIT_DOMAINS**: Allowed domains for Replit Auth
- **NODE_ENV**: Environment mode (development/production)
- **REPL_ID**: Replit application identifier for authentication
### Hosting Requirements
- **Node.js**: Version 18+ with ES modules support
- **PostgreSQL**: Compatible with Neon serverless or traditional PostgreSQL
- **SSL/TLS**: Required for secure authentication flows
- **File Storage**: Local storage for uploaded profile images (can be extended to cloud storage)
- **Docker**: Container runtime for production deployment
- **Nginx**: Optional reverse proxy for production (included in Docker setup)
### Database Architecture
- **Schema Management**: Drizzle ORM with TypeScript schema definitions