Self-Hosting UIGraph
Run the full UIGraph platform on your own host. The uigraph-deploy repository ships a single Docker Compose stack that brings up every application service together with a bundled Postgres, Redis, and MinIO. No external accounts required.
- Quick Start: clone the repo and bring the stack up
- Environment Variables: the config the compose file sets
- Authentication & SSO: password, OIDC, OAuth 2.0, and SAML 2.0 authentication
- Configure SAML 2.0: SP metadata, IdP configuration, attributes, and troubleshooting
- Provisioning, Domains & Roles: organization discovery, account creation, and role mapping
- SSO Security & Operations: rollout, token-validation limitations, sessions, and recovery
- Operations: boot sequence, upgrades, backups
The deployment tooling is intentionally small:
uigraph-deploy/
├── docker-compose.yml # the whole stack (app services + bundled infra)
├── Makefile # docker up / down / reset / ps helpers
├── README.md
└── LICENSE
The core stack
docker-compose.yml defines every service on one Docker network (uigraph). There are no profiles or optional infra; all of the following start together.
Application services
uigraph-api: the core backend. The screenshot worker runs inside this same image (no separate worker container). Published on port8080.uigraph-graphql: GraphQL API in front ofuigraph-api. Port8090.uigraph-gateway: Node service that presigns storage uploads (docs, frame images). Published on host port8081.uigraph-ui: the static SPA + nginx. Published on port3000.
Bundled infrastructure
These run as containers alongside the app and persist to Docker volumes:
| Service | Image | Host ports | Volume |
|---|---|---|---|
postgres | postgres:16-alpine | 5432 | postgres-data |
redis | redis:7-alpine | — (internal only) | redis-data |
minio | minio/minio | 9000 (API), 9001 (console) | minio-data |
The uigraph-api, uigraph-graphql, and uigraph-gateway services declare depends_on health checks so they start only once their dependencies report healthy.
Container images
The application images are published on Docker Hub under the uigraph organization. The compose file pulls the latest tag for each.
| Image | Service | Purpose |
|---|---|---|
uigraph/uigraph-api | uigraph-api | Go backend + embedded screenshot worker. Runs migrations and admin bootstrap on start. |
uigraph/uigraph-graphql | uigraph-graphql | GraphQL API layer. |
uigraph/uigraph-gateway | uigraph-gateway | Node service that presigns object-storage uploads. |
uigraph/uigraph-ui | uigraph-ui | Static SPA + nginx. |
uigraph/uigraph-mcp | — | Optional. The MCP server consumed by the @uigraph/mcp client — not part of this compose stack. Run it separately; see Environment Variables → MCP server for its configuration. |
Pull them directly:
docker pull uigraph/uigraph-api:latest
docker pull uigraph/uigraph-graphql:latest
docker pull uigraph/uigraph-gateway:latest
docker pull uigraph/uigraph-ui:latest
docker pull uigraph/uigraph-mcp:latest # optional MCP server
Support
- Email: support@uigraph.app
- Product site: uigraph.app