Skip to main content

Docker

Phobos provides Docker Compose files for running the full platform locally. These are meant for development and testing purposes only.

Have a question?

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

Docker Compose

Two Docker Compose configurations are available depending on your needs:

Default (docker-compose.yml)

A minimal setup with built-in authentication — no external identity provider required. This is the quickest way to get started.

ServiceContainer namePurpose
postgresphobos-dbDatabase for the Phobos API
miniophobos-storeS3-compatible object storage
minioconsolephobos-mcConfigures the Minio bucket
phobosphobosUnified Phobos API + UI

Full stack (docker-compose-full-stack.yml)

Includes all services from the default setup plus additional services for a more complete development environment.

ServiceContainer namePurpose
postgresphobos-dbDatabase for the Phobos API
kc_postgreskeycloak-dbDatabase for Keycloak IDP
keycloakphobos-idpExternal identity provider for authentication
miniophobos-storeS3-compatible object storage
minioconsolephobos-mcConfigures the Minio bucket
jaegerphobos-jaegerDistributed tracing UI
phobosphobosUnified Phobos API + UI
pgadminphobos-pgadminDatabase administration 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.

Default setup

Start Phobos with the default Docker Compose
git clone https://gitlab.com/infor-cloud/martian-cloud/phobos/phobos-api.git
cd phobos-api/docker-compose
docker compose up -d

Once all services have started, visit the UI at http://localhost:9000. A default admin user is created with the credentials configured in the environment variables.

Full stack setup

Start Phobos with the full stack Docker Compose
git clone https://gitlab.com/infor-cloud/martian-cloud/phobos/phobos-api.git
cd phobos-api/docker-compose
docker compose -f docker-compose-full-stack.yml up -d

Once all services have started, visit the UI at http://localhost:9000, which will redirect to Keycloak for authentication. A default user is already created with the username and password martian.

Additional services are available at:

  • Jaeger UI: http://localhost:16686
  • pgAdmin: http://localhost:5050 (email: admin@phobos.mc, password: admin)
  • Minio Console: http://localhost:9003
note

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

All-in-one Docker image

For an even simpler setup, the Phobos all-in-one Docker image bundles Phobos, PostgreSQL, and Minio into a single container managed by Supervisord. This is useful for quick demos and testing.

Run the all-in-one image
docker run -p 9000:9000 -p 9010:9010 registry.gitlab.com/infor-cloud/martian-cloud/phobos/phobos-all-in-one-docker:latest

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. The database stores all resource information and Minio stores the objects (pipeline templates, release artifacts, etc.).