Docker
Phobos provides Docker Compose files for running the full platform locally. These are meant for development and testing purposes only.
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.
| Service | Container name | Purpose |
|---|---|---|
| postgres | phobos-db | Database for the Phobos API |
| minio | phobos-store | S3-compatible object storage |
| minioconsole | phobos-mc | Configures the Minio bucket |
| phobos | phobos | Unified 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.
| Service | Container name | Purpose |
|---|---|---|
| postgres | phobos-db | Database for the Phobos API |
| kc_postgres | keycloak-db | Database for Keycloak IDP |
| keycloak | phobos-idp | External identity provider for authentication |
| minio | phobos-store | S3-compatible object storage |
| minioconsole | phobos-mc | Configures the Minio bucket |
| jaeger | phobos-jaeger | Distributed tracing UI |
| phobos | phobos | Unified Phobos API + UI |
| pgadmin | phobos-pgadmin | Database administration UI |
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
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
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
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.
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.).