Skip to content

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

sh
docker compose -f docker/compose/docker-compose.yml up --build

Gateways

Runs three gateway instances in parallel for testing multi-gateway scenarios.

ContainerHost portGateway ID
voltimax-gateway-118081gateway-001
voltimax-gateway-218082gateway-002
voltimax-gateway-318083gateway-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:

FlagDefault
Features__EnableConfigurationUpdatesfalse
Features__EnableApplyStrategyfalse
Features__EnableSendControlSignalsfalse
Features__EnableChangeMonitoringfalse

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

sh
docker compose -f docker/compose/everest/docker-compose.yml up

Services

ContainerHost portDescription
everest-mqtt-server2727Mosquitto MQTT broker for EVerest inter-module communication
everest-manager8849EVerest core manager running SIL simulation with OCPP 2.0.1 support
everest-nodered1880Node-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:

VariableDefaultDescription
TAG2025.10.0-single-phaseEVerest Docker image tag
EVEREST_MANAGER_CPUS1.0CPU limit for the manager container
EVEREST_MANAGER_MEMORY1024mbMemory limit for the manager container