SwiftOps is built using various technologies (Node.js, Python, PostgreSQL, Redis), it cannot be natively compiled into a single .exe file without bloating it with huge runtime environments. Instead, We've built a Docker Launcher.
This approach provides a clean, single .exe file that automatically handles starting up all the services via Docker and opens the application in your browser.
Before running the launcher, please ensure the following is installed on your machine:
- Docker Desktop: Download here (Make sure the Docker engine is running).
- Make sure this
SwiftOps-Executablefolder is located in the root of the main SwiftOps project directory (it needs to be adjacent to thecore,frontend, etc. folders). - Simply double-click on
SwiftOps_Launcher.exe(found in thedistfolder after building). - A terminal will open and automatically run
docker compose up -d --build. - Once all 6 containers have started successfully, your default web browser will automatically open to
http://localhost:8080.
If you are modifying the Python launcher script and need to recompile the .exe:
- Ensure you have Python installed on your Windows machine.
- Double-click the
build_exe.batscript. - This will automatically install
PyInstallerand compilelauncher.pyinto a standalone.exe. - The newly generated executable will be placed in the
dist/folder.
The docker-compose.yml file in this folder connects the following services:
- postgres: Database for the Core API (Port 5432)
- redis: Caching mechanism (Port 6379)
- core: NestJS Backend API (Mapped to Port 3004)
- logginglayer: NestJS Microservice (Mapped to Port 3001)
- fault-prediction: Python/FastAPI Machine Learning Service (Mapped to Port 8000)
- frontend: Next.js Web Interface (Mapped to Port 8080)
To shut down the services manually, open a terminal in this directory and run:
docker compose down