Skip to main content
Server Requirements:
  • Linux server** (Ubuntu 20.04+ recommended)
  • 8GB RAM minimum
  • 4 CPU cores minimum
  • 50GB free disk space
  • Root or sudo access
Domain & Network:
  • Domain name with DNS control
  • Ports 80 and 443 open to the internet
  • SSH access to the server
Software Requirements:
  • 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 yourexampledomain.com with your actual domain name.
3

Configure NGINX

Create NGINX configuration:
Add this configuration (replace yourexampledomain.com):
Enable the site:
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:
All services should show “Up” status and the website should be accessible via HTTPS.

Troubleshooting

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
Common solutions:
Common causes:
  • Domain DNS not fully propagated
  • Domain ownership verification failed
  • NGINX configuration syntax errors
Solutions:
Debugging steps:
  • Check Docker container logs: docker compose logs
  • Verify environment variables are set correctly
  • Ensure all required services are running
  • Check port conflicts
Common commands:
Error
  • Error response from daemon: pull access denied for <image-name>, repository does not exist or may require 'docker login'
Solutions
  • Clear Docker Build Cache and Rebuild
  • Remove all Docker build cache and images
  • Run the following command to clear all cached layers and build data: docker builder prune -a -f
  • This command removes all unused build cache and intermediate images, ensuring a clean environment.
  • Rebuild the application from scratch
Need help? Reach out via the GitHub issues or Discord Community for faster response.