Docker quick start
The default Compose stack is the smallest recommended production-style install. It stores SQLite data in a named volume and does not mount the Docker socket.
1. Clone the project
Section titled “1. Clone the project”git clone https://github.com/uniskela/UniHomelabDash.gitcd UniHomelabDash2. Create a session secret
Section titled “2. Create a session secret”Create .env in the repository root:
echo "SESSION_SECRET=$(openssl rand -base64 32)" >> .envKeep this value private and stable. Changing it signs every admin session out and prevents previously encrypted provider credentials from being decrypted.
3. Start the stack
Section titled “3. Start the stack”docker compose up --build -dOpen http://localhost:3000. The first visit redirects
to /setup, where you create the single administrator account.
The Compose volume unihomelabdash-data is mounted at /app/data. Rebuilding
or replacing the application container does not remove that volume.
Use another port
Section titled “Use another port”If port 3000 is already in use:
HOST_PORT=3003 docker compose up --build -dThen open http://localhost:3003.
Use a pre-built image
Section titled “Use a pre-built image”You can replace build: . in an override file with either public image:
services: unihomelabdash: image: ghcr.io/uniskela/unihomelabdash:latest # image: uniskela/unihomelabdash:latestPin a vX.Y.Z or X.Y.Z tag when repeatable deployments matter.
Before remote access
Section titled “Before remote access”UniHomelabDash is intended for a trusted LAN or VPN. Before making it reachable
beyond that boundary, use HTTPS, set COOKIE_SECURE=true, configure
PUBLIC_URL, and add access control at the reverse proxy or VPN layer. Read the
security guide before enabling provider actions.