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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user