Server Requirements:
- Linux server** (Ubuntu 20.04+ recommended)
- 8GB RAM minimum
- 4 CPU cores minimum
- 50GB free disk space
- Root or sudo access
- Domain name with DNS control
- Ports 80 and 443 open to the internet
- SSH access to the server
- Docker and Docker Compose
- Git
- NGINX
Installation Steps
1
Server Preparation
Update system packages and install required software:Install required packages:Install Docker:Install Docker Compose:
2
Clone and Configure Application
Clone the repository and set up environment:Edit the environment file:Update these critical values:
Replace
your-domain.com
with your actual domain name.3
Configure NGINX
Create NGINX configuration:Add this configuration (replace Enable the site:
your-domain.com
):If
nginx -t
fails, recheck the config syntax and ensure proper formatting.4
Install SSL Certificate
Generate Let’s Encrypt certificate:Follow the interactive prompts to complete SSL setup. Certbot will automatically modify your NGINX configuration.
Certbot will auto-renew your certificate every 90 days.
5
Build and Start Application
Build and start the services:This will:
- Build all Docker images
- Start services in the background
- Create necessary containers and networks
6
Verify Deployment
Check that all services are running:Test access:
- Visit https://your-domain.com
- Verify the SSL certificate is valid
- Register a new account to test functionality
All services should show “Up” status and the website should be accessible via HTTPS.
Troubleshooting
Domain Not Accessible
Domain Not Accessible
Check these items:
- Verify DNS records point to your server IP
- Confirm firewall allows ports 80 and 443
- Ensure NGINX is running:
sudo systemctl status nginx
- Test local access:
curl -I http://localhost:3000
SSL Certificate Issues
SSL Certificate Issues
Common causes:
- Domain DNS not fully propagated
- Domain ownership verification failed
- NGINX configuration syntax errors
Application Errors
Application Errors
Debugging steps:
- Check Docker container logs:
docker compose logs
- Verify environment variables are set correctly
- Ensure all required services are running
- Check port conflicts
Need help? Reach out via the GitHub issues or Discord Community for faster response.