These notes provides examples on how to deploy a Node.js applications.
- GitHub Actions
- Used for CI/CD.
- Traefik
- Used for reverse proxy and load balancing.
- Docker
- Used to setup Traefik and the applications using docker-compose.
- SSH
- Used to transfer the build artifacs and run the application in the remote server.
- Setup DNS A records to point to the remote server IP address.
- Configure Traefik on the remote server using
~/docker-compose.yml
. - Create environment file on the remote server (
~/env/<application_name>.env
). - Create a
Dockerfile
and.dockerignore
file in the project. - Create a GitHub Workflow file for CI/CD.
- Setup the GitHub Secrets in the project repository.
- Push repository changes.