This repository contains the docker compose files for EdgeX releases.
Note: Each release is now on it's own branch named after the release codename. You can view all branches here.
This branch contains the pre-release docker compose files that pull and run the EdgeX images from the Nexus3 docker registry that are tagged with master. These images are built from the Edgex CI Pipeline when PRs are merged into the master branch.
Note: Docker does not re-pull newer instances of these images. You must pull the new image instances. See the
make pullcommand described below that will do this for you.
These pre-release docker compose files are generated from the multiple source compose files located in the compose-builder folder. See README there for details on regenerating these files after making changes to the source files.
The Makefile in this folder expects the docker compose CLI command.
The old stand-alone docker-compose tool is no longer supported.
See https://docs.docker.com/compose/install/ for installation details for the latest docker compose CLI command.
This folder contains the following compose files:
**NOTES: **
- DO NOT EDIT the files directly for permanent changes. Make all permanent changes to the source compose files in the
compose-builderfolder and then regenerate these files- Use
make buildfromCompose Builderto regenerate all the following compose files.- See each description for the convenience
makecommands that are provided to work with each of these compose files.
-
docker-compose.yml Contains all the services required to run in secure configuration. Includes the Device Virtual & Device REST device services and the UI. Make Commands
-
Use
make run <service(s)>andmake downto start and stop the services using this compose file. -
Use
make pull <service(s)>to pull all or some images for the services in this compose file. -
Use
make get-tokento generate a Kong access token for remote access of the services running from this compose file.
-
-
docker-compose-arm64.yml Contains all the services required to run in secure configuration on
ARM64system. Includes the Device Virtual & Device REST device services and the UI. Make Commands- Use
make run arm64andmake downto start and stop the services using this compose file. - Use
make pull arm64 <service(s)>to pull all or some images for the services in this compose file. - Use
make get-token arm64to generate a Kong access token for remote access of the services running from this compose file.
- Use
-
docker-compose-with-app-sample.yml Contains all the services required to run in secure configuration with Sample application service. Includes the Device Virtual, Device REST, UI & App Sample services. Use this version when using the UI to make changes to the configurable pipeline on the Sample application service. Make Commands
- Use
make run app-sampleandmake downto start and stop the services using this compose file. - Use
make pull app-sample <service(s)>to pull all or some images for the services in this compose file.
- Use
-
docker-compose-with-app-sample-arm64.yml Contains all the services required to run in secure configuration with the Sample application service on
ARM64system . Includes the Device Virtual, Device REST, UI & App Sample services. Use this version when using the UI to make changes to the configurable pipeline on the Sample application service.Make Commands
- Use
make run no-secty app-sample arm64andmake downto start and stop the services using this compose file. - Use
make pull no-secty ui app-sample <service(s)>to pull all or some images for the services in this compose file.
- Use
-
docker-compose-no-secty.yml Contains just the services needed to run in non-secure configuration. Includes the Device Virtual & Device REST device services and the UI. Make Commands
- Use
make run no-sectyandmake downto start and stop the services using this compose file. - Use
make pull no-secty <service(s)>to pull all or some images for the services in this compose file.
- Use
-
docker-compose-no-secty-arm64.yml Contains just the services needed to run in non-secure configuration on
ARM64system. Includes the Device Virtual & Device REST device services and the UI.Make Commands
- Use
make run no-secty arm64andmake downto start and stop the services using this compose file. - Use
make pull no-secty arm64 <service(s)>to pull all or some images for the services in this compose file.
- Use
-
docker-compose-no-secty-with-app-sample.yml Contains just the services needed to run in non-secure configuration with Sample application service. Includes the Device Virtual, Device REST, UI & App Sample services. Use this version when using the UI to make changes to the configurable pipeline on the Sample application service. Make Commands
- Use
make run no-secty app-sampleandmake downto start and stop the services using this compose file. - Use
make pull no-secty app-sample <service(s)>to pull all or some images for the services in this compose file.
- Use
-
docker-compose-no-secty-with-app-sample-arm64.yml Contains just the services needed to run in non-secure configuration with the Sample application service on
ARM64system . Includes the Device Virtual, Device REST, UI & App Sample services. Use this version when using the UI to make changes to the configurable pipeline on the Sample application service.Make Commands
- Use
make run no-secty app-sample arm64andmake downto start and stop the services using this compose file. - Use
make pull no-secty app-sample <service(s)>to pull all or some images for the services in this compose file.
- Use
-
docker-compose-openziti.yml Contains the services needed to bring OpenZiti online, configure it, and enable consul to perform underlay-based health checking. Used in conjunction with
make run (pull) zero-trust. This compose file should be started before starting themake run zero-trustcompose file.Make Commands
- Use
make openzitiandmake openziti-downto start and stop the services using this compose file. - Use
make openziti-cleanto remove all stopped containers, all volumes and all networks used by the EdgeX stack. Use this command when needing to do a fresh restart. Note You must also run the correspondingmake down zero-trustcommand to fully clean up. - Use
make openziti-logsto follow the logs
- Use
The compose files under the taf subfolder are used for the automated TAF tests. These compose files are also generated from Compose Builder when the make build command is used.
-
make cleanRuns
downcommand and removes all stopped containers, all volumes and all networks used by the EdgeX stack. Use this command when needing to do a fresh restart. -
make get-tokenFor secure mode only. Runs commands via docker to generate a new API Gateway token.
- docker-compose-portainer.yml
Stand-alone compose file for running Portainer which is a Docker container management tool. Visit here https://www.portainer.io/ for more details on Portianer.
Use
make portainerandmake portainer-downto start and stop Portainer.
EdgeX services can be configured to use PostgreSQL as the persistence layer. The compose builder now supports generating compose files that use PostgreSQL.
To use PostgreSQL as the persistence layer, follow these steps
-
Go to
/compose-builderfolder -
make run no-secty keeper mqtt-bus postgresRuns the services with PostgreSQL as the persistence layer in non-secure mode.
-
make run keeper mqtt-bus postgresRuns the services with PostgreSQL as the persistence layer in secure mode.
Note:
keeperandmqtt-busare required services for EdgeX to run with PostgreSQL as the persistence layer.