Docker Compose
Docker Compose configurations for local development and testing.
Edge Gateways
Located at docker/compose/docker-compose.yml. Builds the gateway image from the repository root using the Dockerfile at src/Voltimax.Edge.Gateway.Service/Dockerfile.
Usage
docker compose -f docker/compose/docker-compose.yml up --buildGateways
Runs three gateway instances in parallel for testing multi-gateway scenarios.
| Container | Host port | Gateway ID |
|---|---|---|
voltimax-gateway-1 | 18081 | gateway-001 |
voltimax-gateway-2 | 18082 | gateway-002 |
voltimax-gateway-3 | 18083 | gateway-003 |
ServiceBus is enabled, connecting to the local emulator on host.docker.internal:34861. Restart policy is no.
Feature Flags
All optional features are disabled by default:
| Flag | Default |
|---|---|
Features__EnableConfigurationUpdates | false |
Features__EnableApplyStrategy | false |
Features__EnableSendControlSignals | false |
Features__EnableChangeMonitoring | false |
Set any of these to true via the environment section in the compose file to enable them.
Volumes
Each gateway uses two named volumes:
*-state→/var/lib/voltimax-edge— persistent gateway state*-config→/etc/voltimax-edge— gateway configuration
EVerest Demo
Located at docker/compose/everest/docker-compose.yml. Runs the full EVerest open-source EV charging stack in software-in-the-loop (SIL) simulation mode, useful for testing OCPP integration end-to-end without physical hardware.
Usage
docker compose -f docker/compose/everest/docker-compose.yml upServices
| Container | Host port | Description |
|---|---|---|
everest-mqtt-server | 2727 | Mosquitto MQTT broker for EVerest inter-module communication |
everest-manager | 8849 | EVerest core manager running SIL simulation with OCPP 2.0.1 support |
everest-nodered | 1880 | Node-RED simulation UI for controlling virtual charging sessions |
Simulation UI
Open http://localhost:1880/ui to access the Node-RED dashboard. From there you can simulate plugging in an EV, starting/stopping charging sessions, and observing OCPP message flows.
Configuration
Image versions and resource limits are configured in docker/compose/everest/.env:
| Variable | Default | Description |
|---|---|---|
TAG | 2025.10.0-single-phase | EVerest Docker image tag |
EVEREST_MANAGER_CPUS | 1.0 | CPU limit for the manager container |
EVEREST_MANAGER_MEMORY | 1024mb | Memory limit for the manager container |