Managing Docker Deployments
This guide covers the epos-opensource docker commands for deploying and managing EPOS locally with Docker Compose.
Starting from v2.x, Docker deployments are managed through YAML config and rendered Docker Compose runtime files.
Common Workflow
1. Deploy a New Environment
epos-opensource docker deploy my-epos-platform
docker deploy creates a new Docker Compose EPOS environment from the embedded defaults or a file passed with --config. Use it for first-time creation of a new environment. If you want to inspect generated runtime files first, run docker render (optionally providing a custom config file); if the environment already exists, use docker update instead.
2. Populate with Example Data
epos-opensource docker populate my-epos-platform --example
docker populate loads metadata into the environment from bundled examples (--example) or from your .ttl files. Use it right after deployment or after a reset when you need fresh data. If you want to clear existing populated data first, run docker clean before it.
If you are ingesting custom metadata instead of bundled examples, pass one or more .ttl file or directory paths:
epos-opensource docker populate my-epos-platform ./metadata ./more-data/file.ttl
3. List Environments
epos-opensource docker list
docker list shows all Docker environments tracked by the CLI, together with GUI, API, and Backoffice URLs. Use it as a quick inventory of what is deployed and where it is reachable, then continue with whichever command fits your next step (for example docker get, docker update, docker populate, docker clean, or docker delete).
4. Update an Environment
epos-opensource docker update my-epos-platform
docker update updates an existing environment using its applied config or a custom one passed with --config. Use it for iterative changes without redeploying an environment. A safe workflow is to export current values with docker get, edit them, and apply with docker update --config; use docker deploy for a new environment.
Useful options:
--config <path>: apply a custom YAML config--update-images: pull images before starting--force: recreate containers from scratch--reset: reset to embedded default config (see Default Docker Config)
5. Clean Environment Data
epos-opensource docker clean my-epos-platform
docker clean removes populated data and ingestion records, then restarts services and restores base ontologies while keeping the same deployment. Use it when you need a data reset without tearing the environment down. After cleaning, run docker populate to load data again; use docker delete if you need complete removal of all resources.
clean permanently removes populated environment data.
Use --force to skip confirmation.
6. Delete an Environment
epos-opensource docker delete my-epos-platform
docker delete permanently removes the Docker environment, including containers, volumes, and tracked metadata. Use it for full removal of one or more environments. It is best to confirm targets with docker list first; if you only need a data reset, use docker clean instead.
delete permanently removes the full Docker environment (containers, volumes, and metadata).
Use --force to skip confirmation.
Config-First Workflow
1. Export the Default Docker Template
epos-opensource docker export ./my-docker-config
docker export writes the default docker-config.yaml template to the target directory. Use it to begin customization from a valid default config, then edit the file and continue with docker render, docker deploy --config or docker update --config.
This creates ./my-docker-config/docker-config.yaml.
2. Edit docker-config.yaml
Default template: see Default Docker Config.
Example: enable the Backoffice module by setting enabled to true:
components:
backoffice:
enabled: true
3. Render Runtime Files (optional)
epos-opensource docker render my-epos-platform --config ./my-docker-config/docker-config.yaml --output ./rendered-docker
docker render generates .env and docker-compose.yaml locally from the default config or a file passed with --config, without deploying anything. Use it to validate runtime output before making changes to running environments. After review, apply the same config with docker deploy --config for new environments or docker update --config for existing ones.
4. Deploy or Update with Config
epos-opensource docker deploy my-epos-platform --config ./my-docker-config/docker-config.yaml
epos-opensource docker update my-epos-platform --config ./my-docker-config/docker-config.yaml
These commands apply your customized config during creation (deploy) or modification (update). This is the recommended path for reproducible, version-controlled environment changes. For updates, you can start from docker get, edit that config, and apply it back with --config.
5. Inspect Applied Config
epos-opensource docker get my-epos-platform --output ./applied-docker-config.yaml
docker get reads the config currently stored for a deployed environment and prints YAML to stdout (or writes it to --output). Use it for backup, audit, and as a safe baseline for updates. A common flow is to export with docker get, edit the file, then apply it with docker update --config.
If --output is omitted, YAML is printed to stdout.
In v2.x, Docker commands are config-driven. Use --config instead of older .env/compose-file flags.
Default Docker Config
Loading...