hussain.afzal
pushed to master at MQL-Development/market-data-service
c69e943a3b feat: Add production deployment with automated SSL certificate management
This commit introduces a complete production deployment setup with fully
automated SSL certificate management using Let's Encrypt and Certbot.
## Key Features
### SSL Certificate Management
- Automatic SSL certificate obtainment via Certbot
- Automatic certificate renewal every 12 hours
- Automatic nginx reload after certificate renewal
- Support for Let's Encrypt staging server for testing
- Fully containerized certificate management
### Infrastructure Improvements
- Updated docker-compose.prod.yml with Certbot services
- Dynamic nginx configuration that adapts to certificate availability
- Shared Docker volumes for certificate persistence
- Health checks for all services
### New Scripts
- docker/nginx-entrypoint.sh: Dynamic nginx config processing with SSL support
- docker/certbot-init.sh: SSL certificate initialization wrapper
- docker/init-ssl.sh: Initial SSL certificate obtainment script
- docker/renew-ssl.sh: SSL certificate renewal script
### Configuration Updates
- nginx/nginx.prod.conf: Updated for Let's Encrypt certificate paths
- .env.example: Added production environment variables (DOMAIN_NAME, SSL_EMAIL)
- docker-compose.prod.yml: Integrated Certbot services and volumes
### Documentation
- docs/DEPLOYMENT.md: Complete production deployment guide
- docs/CONFIGURATION.md: Environment variables and configuration guide
- docs/README.md: Documentation index
- Updated DOCKER.md and README.md with deployment references
### Security
- All sensitive files (.env) remain in .gitignore
- No hardcoded secrets or passwords
- Secure certificate storage in Docker volumes
## Deployment Process
1. Set environment variables in .env file
2. Start services: docker-compose -f docker-compose.prod.yml up -d db api nginx
3. Obtain SSL certificate: docker-compose run --rm certbot-init
4. Services automatically handle certificate renewal
## Testing
- HTTP endpoint working: http://market-price.insightbull.io/health
- SSL certificates obtained and configured
- Automatic renewal configured
- All services healthy and running
This deployment has been tested and verified on production server.
cae42ecf1f feat: Add production deployment with automated SSL certificate management
This commit introduces a complete production deployment setup with fully
automated SSL certificate management using Let's Encrypt and Certbot.
## Key Features
### SSL Certificate Management
- Automatic SSL certificate obtainment via Certbot
- Automatic certificate renewal every 12 hours
- Automatic nginx reload after certificate renewal
- Support for Let's Encrypt staging server for testing
- Fully containerized certificate management
### Infrastructure Improvements
- Updated docker-compose.prod.yml with Certbot services
- Dynamic nginx configuration that adapts to certificate availability
- Shared Docker volumes for certificate persistence
- Health checks for all services
### New Scripts
- docker/nginx-entrypoint.sh: Dynamic nginx config processing with SSL support
- docker/certbot-init.sh: SSL certificate initialization wrapper
- docker/init-ssl.sh: Initial SSL certificate obtainment script
- docker/renew-ssl.sh: SSL certificate renewal script
### Configuration Updates
- nginx/nginx.prod.conf: Updated for Let's Encrypt certificate paths
- .env.example: Added production environment variables (DOMAIN_NAME, SSL_EMAIL)
- docker-compose.prod.yml: Integrated Certbot services and volumes
### Documentation
- docs/DEPLOYMENT.md: Complete production deployment guide
- docs/CONFIGURATION.md: Environment variables and configuration guide
- docs/README.md: Documentation index
- Updated DOCKER.md and README.md with deployment references
### Security
- All sensitive files (.env) remain in .gitignore
- No hardcoded secrets or passwords
- Secure certificate storage in Docker volumes
## Deployment Process
1. Set environment variables in .env file
2. Start services: docker-compose -f docker-compose.prod.yml up -d db api nginx
3. Obtain SSL certificate: docker-compose run --rm certbot-init
4. Services automatically handle certificate renewal
## Testing
- HTTP endpoint working: http://market-price.insightbull.io/health
- SSL certificates obtained and configured
- Automatic renewal configured
- All services healthy and running
This deployment has been tested and verified on production server.
- View comparison for these 2 commits »
2 months ago