Single Node
Deploy Prometheux on a single VM (AWS EC2, Azure VM, GCP Compute Engine, or bare metal) using Docker Compose.
Overview
The Docker deploy method lets you run Prometheux on infrastructure you control. It packages the core reasoning engine and a JupyterLab environment into containers managed by Docker Compose, making it suitable for cloud VMs and on-premises servers alike.
Prerequisites
- Docker and Docker Compose installed on the target machine
- PROMETHEUX_PULL_IMAGE_TOKEN — a token required to pull Docker images from the Prometheux container registry (contact the Prometheux team to obtain one)
- Minimum recommended hardware: 4 vCPUs, 16 GB RAM, 50 GB disk
Quick Start
1. Clone the Repository
git clone git@github.com:prometheuxresearch/prometheux-deploy.git
cd prometheux-deploy
2. Configure the Image Pull Token
Obtain the PROMETHEUX_PULL_IMAGE_TOKEN from the Prometheux team and replace
the content of the prometheux-image-pull-token.txt file with the provided
token.
3. Start the Services
./docker-compose-up.sh
This script reads the image pull token and starts all services in detached mode.
4. Access the Services
Once started, the following services are available:
| Service | Port | Description |
|---|---|---|
| vadalog-parallel | 8080 | The core reasoning engine of Prometheux |
| JupyterLab | 8888 | Notebook environment with Python and Vadalog kernels |
To install the Python SDK inside JupyterLab:
pip install --upgrade prometheux_chain
Configuration
You can modify the configuration files for vadalog-parallel. These are mounted
from the host in the prometheux/vadalog-parallel/ folder.
For a full list of engine configuration properties, see the Configuration Reference.
Ensure that the paths specified in docker-compose.yml match your directory
structure. Modify the .sh scripts as needed to fit your environment.
Cloud-Specific Tips
AWS EC2
- Recommended instance:
m5.xlarge(4 vCPU, 16 GB) or larger - Security group: Allow inbound TCP on ports
8080and8888from your IP range - Install Docker on Amazon Linux 2:
sudo yum update -y
sudo yum install -y docker
sudo service docker start
sudo usermod -aG docker ec2-user - Install Docker Compose following the official instructions
Azure VM
- Recommended size:
Standard_D4s_v3(4 vCPU, 16 GB) or larger - Network Security Group (NSG): Add inbound rules for ports
8080and8888 - Install Docker on Ubuntu:
sudo apt-get update
sudo apt-get install -y docker.io docker-compose-v2
sudo usermod -aG docker $USER
GCP Compute Engine
- Recommended machine type:
e2-standard-4(4 vCPU, 16 GB) or larger - Firewall rules: Allow TCP on ports
8080and8888with an appropriate source range - Install Docker on Debian/Ubuntu:
sudo apt-get update
sudo apt-get install -y docker.io docker-compose-v2
sudo usermod -aG docker $USER
Management
Stop all services:
./docker-compose-down.sh
View logs:
docker compose logs -f
Update to a new version:
Pull the latest images with a valid token and restart:
./docker-compose-down.sh
./docker-compose-up.sh
Next Steps
- REST API — Interact with the engine programmatically
- Python SDK — Use
prometheux_chainfrom notebooks or scripts - Configuration Reference — Tune engine properties