🐳Docker Compose
This step configures your Docker environment for running enVector services.
Overview
We'll set up Docker Compose to run all enVector services locally. This approach provides:
Simplicity: Single command to start all services
Isolation: Each service runs in its own container
Consistency: Same environment across different machines
Easy Management: Simple start/stop/restart commands
Prerequisites
Docker Engine running
Docker Compose v2.0+ installed
64GB+ RAM available
50GB+ free disk space
Docker Hub access token (for pulling private images)
License token (for running
enVector)
Step 1: Verify Docker Environment
Step 2: Get Compose Assets
Clone the envector deployment repository and work from its docker-compose directory. Repository: envector-deployment
Docker Hub Login (automatic)
./start_envector.sh performs preflight checks. If access to cryptolabinc/* images is required, it will prompt for a Docker Hub PAT and run a non‑interactive login:
You can also login manually ahead of time if you prefer.
Port Configuration
By default, the es2e service is the only service exposed to your local machine, and it listens on port 50050.
If you need to change this port (for example, if 50050 is already in use), you can configure it in the .env file located at the root of the project.
Open the
.envfile.Find the
ES2E_HOST_PORTvariable and change its value. For example, to use port51000:
License Token (JWT)
By default, enVector reads the license token at /es2/license/token.jwt inside the container.
If
ES2_LICENSE_TOKENis unset or empty in.env, this default is used.To use the default, mount your host token file to that path:
You can provide the JWT in either of the following ways:
.env:ES2_LICENSE_TOKEN={value}Runtime:
./start_envector.sh --set ES2_LICENSE_TOKEN={value}or./start_envector.sh ES2_LICENSE_TOKEN={value}
Where {value} is either:
a host file path (that you will mount), or
the raw JWT string.
If you use a file path:
Mount the host file into the container.
Set
ES2_LICENSE_TOKENto the in-container path you mounted to (or leave it empty to use the default).
Defaults
Host path (recommended):
./token.jwtin your working directoryContainer path (default):
/es2/license/token.jwt
Note
If
token.jwtis missing,./start_envector.shwill prompt for a path and copy the file into this directory automatically.In most cases you don’t need to set
ES2_LICENSE_TOKENin.envbecause the default container path matches the mounted file.
Examples
Default path:
Custom file name/path:
Generic pattern:
Step 3: Verify Docker Compose Configuration
The docker-compose.envector.yml and docker-compose.infra.yml file includes default configurations for all services. Verify the configuration:
Step 4: Verify Network Configuration
Troubleshooting
Docker Daemon Issues
If you encounter errors related to the Docker daemon not being active, you can start it with the following commands.
Permission denied
This error typically means your user account is not part of the docker group. Add your user to the group and then apply the changes.
Resource Issues
The services require a significant amount of memory (64GB+ recommended). Use these commands to check your system's available memory.
Disk space issues
Ensure you have at least 50GB of free disk space. You can check your disk usage and clean up unused Docker assets (images, containers, volumes) to free up space.
Network Issues
Cannot pull images from Docker Hub
If Docker is unable to pull images, it may be due to a network or DNS issue.
Important Notes
Resource Monitoring: Actively monitor Docker's CPU, memory, and disk usage to prevent performance bottlenecks.
Network Access: Ensure your firewall or network policies allow containers to communicate with each other, especially if you are using a custom Docker network.
Data Persistence: The setup uses Docker volumes to persist critical data. Be mindful of these volumes when managing your containers.
Cleanup: When you are finished, use the command
docker compose downto stop and remove all running containers, networks, and volumes associated with the services.
Last updated

