Skip to main content

Docker

If you wish to try out the Phobos suite in Docker, we provide a Docker Compose file that includes all the necessary services to run Phobos. This includes the API, UI, Keycloak, Postgres, and Minio. The Docker Compose file is meant for development and testing purposes only and should not be used in production.

Have a question?

Check the FAQ to see if there's already an answer.

Docker Compose​

The Docker Compose is meant for users wishing to try out Phobos and can be run with a simple command. It includes all the components necessary to create pipelines within Phobos.

Requirements​

The docker-compose.yml defines the following services:

ServiceContainer namePurpose
postgresphobos-dbA database for the Phobos API
kc_postgreskeycloak-dbA database for Keycloak IDP
keycloakphobos-idpAn IDP for authenticating with the Phobos API
miniophobos-storeAn object storage (like AWS S3) for the Phobos API
minioconsolephobos-mcConfigures Minio or Phobos API's object store
apiphobos-apiThe Phobos API
uiphobos-uiThe Phobos UI
not for production use!

Phobos Docker Compose should not be used in production or be exposed to the internet.

Usage guide​

Either clone the Phobos API repository or download the contents of the docker-compose directory.

Cloning the Phobos API repository and using docker-compose
git clone https://gitlab.com/infor-cloud/martian-cloud/phobos/phobos-api.git
cd phobos-api/docker-compose # directory might be different!
sudo docker compose up -d # "-d" means start in the background.
sudo docker logs phobos-api # Optionally, check for Phobos API logs.
Expand for explanation

Above will begin pulling the latest images from the appropriate sources and start them up in the background. Once all the services have finished booting up, we can visit the UI at http://localhost:9001, which should immediately redirect us to Keycloak for authentication. An admin user is already created with credentials martian.

note

The Phobos API may take some time starting up as it waits for other services to be in a functioning state.

Frequently asked questions (FAQ)​

Can I create pipelines with a local Docker Compose instance?​

Yes! The Docker Compose includes all the service dependencies for running pipelines and managing states with Phobos. The database will store all the resource information and Minio will store the objects (Pipeline templates).