This guide provides a simple walkthrough for starting, managing, and stopping a Docker-based project. Please ensure you have the necessary system requirements and a basic understanding of Docker and Docker Compose.
-
Ensure you have Docker, Docker Compose, Bash, and (optionally) GNU Make installed on your machine. The project will require about 5GB of free disk space, 4GB of RAM, and an average CPU like an Intel i5.
-
In the root directory of the project, you can start the entire project using either GNU Make command:
make start
or Bash command:
./manage start # or ./manage up
-
If you want to start the containers in daemon mode (meaning they'll run in the background), you can use:
./manage up-as-daemon
-
When you're done, you can stop the project by running:
./manage down # or ./manage stop
or
make stop
-
If you want to remove the containers that have been spun up, you can use:
make stop_n_clean
Once the project is running, you'll have access to several services via Swagger interfaces. These can be found at the following URLs:
- CloudAPI-Multitenant-Admin
- CloudAPI-Governance
- CloudAPI-Tenant
- CloudAPI-Public
- ACA-Py Governance Agent Admin
- ACA-Py Multitenant Agent Admin
- Webhooks
- Trust Registry
Each Docker container's environment parameters can be adjusted via its respective .env
file, located in a correspondingly named sub-folder within the environments
directory. For example, if you want to change the auto-provision
setting for the ACA-Py multitenant instance from true
to false
, adjust the ACAPY_AUTO_PROVISION
value in environments/governance-multitenant/aca-py-agent.default.env
.
Remember to stop and restart the affected containers after making changes. However, be careful when changing settings like port numbers. These changes will also need to be reflected in the docker-compose.yaml
file to ensure that other services are aware of the changes. For instance, if you change ACAPY_ENDPOINT
or ACAPY_WEBHOOK_URL
in an env file of e.g. the multitenant container, you will also want to look to change the values within the docker-compose.yaml
to reflect these changes.
The Common Steps document can help you understand how to use the project's infrastructure once it's up and running.