This document explains how to deploy and run the EraMatch platform in different environments.
Use this mode if you want to run the entire platform on your local machine and expose it to the internet via Cloudflare Tunnels (Quick Tunnels).
- Navigate to the
EraMatchroot directory. - Run the start script with the
--local-deviceflag:./start.sh --local-device
- The script will:
- Synchronize Python virtual environments.
- Start 3 fresh Cloudflare tunnels.
- Display 3 public URLs (Backend, Recruiter, Candidate).
- Start all 5 EraMatch services in the background.
To stop everything and close the tunnels:
./start.sh killThe cloud version is fully automated via GitHub Actions using a self-hosted runner on the production VM.
Simply push your changes to the dev-release-2.0 branch:
git push origin dev-release-2.0GitHub will automatically trigger the deployment on the VM, which:
- Pulls the latest code.
- Restarts the app services.
- Reuses the Permanent Tunnels already running on the VM.
The production portals are hosted at:
To access the production environment directly via SSH:
- Install Google Cloud SDK: Follow the official guide.
- Login to Google Cloud:
gcloud auth login
- Set Project:
gcloud config set project eramatch
gcloud compute ssh eramatch-vm --zone=us-central1-aOnce connected, the project is located at ~/EraMatch.
- Check Tunnel Logs:
tail -f ~/EraMatch/.logs/tunnel-backend.log - Check App Logs:
./start.sh logs - Restart Everything:
./start.sh killthen./start.sh