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.).