Quick Start (Docker Compose)
Clone uigraph-deploy and start the stack. It pulls the published Docker Hub images and brings up everything (the UIGraph application services plus a bundled Postgres, Redis, and MinIO) with working defaults baked directly into docker-compose.yml. No .env file required.
git clone https://github.com/uigraph-oss/uigraph-deploy
cd uigraph-deploy
make docker-up # docker compose up -d
Or call Docker Compose directly:
docker compose up -d
Open http://localhost:3000 and sign in with admin@uigraph.app / admin. Leaving the password as admin forces a password change at first login.
What's exposed
The stack publishes these host ports:
| Port | Service | Notes |
|---|---|---|
3000 | uigraph-ui | The web app — start here. |
8080 | uigraph-api | REST API. |
8090 | uigraph-graphql | GraphQL API. |
8081 | uigraph-gateway | Presigns storage uploads (maps to container port 8080). |
5432 | postgres | Bundled database. |
9000 / 9001 | minio | Object storage API and web console. |
Make targets
The Makefile wraps the common Docker Compose commands:
make docker-up # start the stack in the background
make docker-ps # show service status
make docker-down # stop all containers (volumes preserved)
make docker-reset # wipe volumes and restart fresh (re-runs migrations + bootstrap)
These defaults are for local evaluation only.
docker-compose.ymlships placeholder secrets (UIGRAPH_SECRET_KEY,STORAGE_SECRET_KEY, and thedevpassworddatabase/MinIO passwords), and the app is served over plain HTTP onlocalhost. Before exposing this to anyone else, replace every secret with real values (openssl rand -hex 32), put the app behind TLS, and lock down the ports you don't need public. See Operations.
What happens on first boot
On first boot the API:
- Connects to Postgres and applies all migrations.
- Seeds a
defaultorg. - Creates the bootstrap admin from
UIGRAPH_ADMIN_EMAIL/UIGRAPH_ADMIN_PASSWORD.
Sign in with those credentials and change the password immediately.
Next steps
- Understand every setting → Environment Variables
- Wire up single sign-on → Authentication & SSO
- Day-2 tasks → Operations