Skip to content

Docker Compose

One docker-compose.yaml for the whole stack: backing services, ovc-backend (API + worker), guacd and ovc-frontend, using the published container images. guacd stays on the internal Compose network: only ovc-frontend’s server talks to it (GUACD_URL: ovc-guacd:4822), never the browser.

By default ovc-backend and ovc-frontend wire up to Keycloak (or any other OIDC/OAuth2 provider) for real login - see OIDC provider and Access control for how groups are read and what they grant.

No IdP, quick testing only: set OVC_AUTH_MODE: stub on both ovc-backend and ovc-frontend instead - every request is then treated as a fixed admin user, no login and no IdP needed. ovc-frontend shows a standing warning dialog while this is active; never use it beyond a trusted network. For local UI development the bypass is also available outside Docker - see Running in dev mode.

Terminal window
git clone https://github.com/openvcenter/Open-vCenter.git
cd Open-vCenter/quick-install/docker
./up.sh
curl localhost:8000/api/health # {"ok":true,"db":true,"cache":true,"rabbit":true}

On first run up.sh calls setup.sh, which asks one question: the hostname or IP that browsers and your Hyper-V hosts use to reach this machine (default localhost, which only suits a browser on the same machine). It writes .env with every URL derived from that host - the app (http://<host>), Keycloak (http://<host>:8080), the agents’ RabbitMQ URL (amqp://<host>:5672/) - plus a generated session secret. Re-run ./setup.sh to change the host (--host <name> skips the prompt).

When everything is up, up.sh checks sign-in from inside the frontend container and prints OK or what failed. Open http://<host> and log in as admin / admin. ./down.sh tears it down (--purge also drops the data volumes and .env).

Keycloak imports the realm only on first boot. After changing the host on an existing install, ./down.sh --purge and ./up.sh again, or update the ovc-frontend client’s redirect URIs in the Keycloak admin console.

Hosts are added and agents installed from the frontend once you’re logged in - see Running in dev mode › Agent for the Add Host / Setup Agent steps.