Installation (detailed, local)#
This page expands the Quickstart with additional notes useful for development and CI.
Build strategy#
Base image#
ScanHub services share a base image. You can:
Build locally (best when you modify base libs):
cd services/base docker build -t scanhub-base . cd ../.. docker compose build --build-arg BASE_IMG=scanhub-base:latest
Use the GHCR base image (fastest to begin):
docker compose build
Rebuild when needed#
Rebuild containers whenever you change the base image, install new libraries, or alter structural aspects of a service.:
docker compose build
Start/stop lifecycle#
Start (detached):
docker compose up --detach
Stop and remove containers:
docker compose down
Local HTTPS (development)#
By default, ScanHub runs with a self-signed certificate. Browsers will warn; for localhost in development you can proceed. For production, see Deployment (production).
Default credentials#
If no user exists, the UI presents a Create first user form. Enforce a strong password (≥12 chars).
Where to change URLs and CORS#
For production hosts you will later change localhost to your domain in:
NGINX config (see deployment page)
UI URL configuration
Allowed origins in API services
(Exact file paths are summarized in Deployment (production).)