This Vagrantfile sets up a Linux VM for developing Arthur Engine with all necessary dependencies and port mappings.
- Vagrant installed
- VirtualBox installed
- At least 4GB RAM available for the VM
-
Start the VM:
vagrant up
-
SSH into the VM:
vagrant ssh
-
Start the GenAI Engine:
cd genai-engine docker-compose up -d db ./scripts/start_local_server.sh -
Access the application:
- GenAI Engine UI: http://localhost:3030
- PostgreSQL: localhost:5432
- OS: Ubuntu 22.04 LTS (Jammy)
- Memory: 4GB RAM
- CPUs: 2 cores
- Hostname: arthur-engine-dev
- Docker & Docker Compose
- Node.js 20.x
- Python 3.12
- uv (Python package manager)
- Git, curl, wget, build tools
| Service | Guest Port | Host Port | Description |
|---|---|---|---|
| GenAI Engine | 8435 | 8435 | Main application server |
| PostgreSQL | 5432 | 5432 | Database server |
The entire repository is mounted at /vagrant in the VM, so any changes you make on your host machine will be immediately available in the VM.
# Start the VM
vagrant up
# SSH into the VM
vagrant ssh
# Stop the VM
vagrant halt
# Destroy the VM (removes all data)
vagrant destroy
# Reload the VM (after changing Vagrantfile)
vagrant reload
# Check VM status
vagrant status- Make changes to your code on your host machine
- Changes are automatically synced to the VM
- Run
docker-compose upin the VM to test changes - Access the application at http://localhost:8435 from your host browser
If you get port conflicts, you can modify the port mappings in the Vagrantfile:
config.vm.network "forwarded_port", guest: 8435, host: 8436 # Change host portIf the VM runs slowly, you can increase memory in the Vagrantfile:
vb.memory = "6144" # Increase to 6GBIf you get Docker permission errors, make sure you're in the docker group:
sudo usermod -aG docker $USER
# Then log out and back in- The VM will automatically install all dependencies on first boot
- The repository is mounted at
/vagrantin the VM - All Docker containers will have access to the synced files
- The VM includes persistent volumes for PostgreSQL and Hugging Face cache