Olympus Docs
Get Started

Quickstart with podman compose

Start the dev stack by hand (what octl deploy does, expanded)

This page covers the manual equivalent of octl deploy. Run these commands yourself when you want to understand what's happening or when you're modifying the platform repo and need to bring services up one at a time.

Clone the workspace

Olympus is a multi-repo project. Clone all eight repos as siblings of one parent directory:

mkdir Olympus && cd Olympus
for repo in platform athena hera site canvas sdk octl daedalus; do
  git clone https://github.com/OlympusOSS/$repo.git
done

The sibling layout matters, compose.dev.yml references ../athena, ../hera, etc. as bind mounts for live reload.

Start services

cd platform/dev
podman compose up -d

This starts every container. Initial start (with image builds) takes ~3 minutes; subsequent starts are seconds.

Watch the seed

podman compose -f platform/dev/compose.dev.yml logs -f athena-seed-dev

When you see Seed complete!, the platform is fully initialized, an admin@demo.user IAM identity has been created and a CIAM OAuth2 client has been registered for the playground.

Access points

URLServicePurpose
localhost:2000SiteBrochure, OAuth2 playground, docs
localhost:3000Hera CIAMCustomer login/registration UI
localhost:3001Athena CIAMCustomer identity admin dashboard
:3100 :3101CIAM KratosIdentity API (public / admin)
:3102 :3103CIAM HydraOAuth2/OIDC API (public / admin)
localhost:4000Hera IAMEmployee login/registration UI
localhost:4001Athena IAMEmployee identity admin dashboard
:4100 :4101IAM KratosIdentity API (public / admin)
:4102 :4103IAM HydraOAuth2/OIDC API (public / admin)
:5432PostgreSQL5 databases
localhost:5433pgAdminDatabase admin, SSO via IAM
localhost:5434MailSlurperCaptured outbound email

All app repos (athena, hera, site) are mounted as volumes for live reload during development.

Default credentials

IAM Admin:

  • Email: admin@demo.user
  • Password: admin123!

pgAdmin: OAuth2 SSO through IAM, click "Login with Olympus" on the pgAdmin login page.

MailSlurper: No auth, open localhost:5434 to see captured verification and recovery emails.

Tearing down

cd platform/dev
podman compose down -v

The -v removes named volumes too, the database is reset. Drop the -v to keep data across restarts.

Where next

On this page