Skip to main content

Docker Images

Every push to main, and every version tag (vX.Y.Z), builds and publishes a Docker image to both Docker Hub and GitHub Container Registry (GHCR) — you're never locked into pulling from one specific registry.

Pull it​

# Docker Hub
docker pull websvcin/loginlink:latest

# GHCR
docker pull ghcr.io/websvcin/loginlink:latest

Available tags on both registries:

TagWhat it points to
latestThe most recent build on main
1.0 (current minor series)The most recent build in that minor series
v1.0.57 (exact version)An exact, immutable build — see the Changelog or the GitHub Releases page for what's in each one

Pin to an exact vX.Y.Z tag for anything you'd call production; latest moves under you on every push to main.

Run it​

docker run -d \
-p 5000:5000 -p 5443:5443 \
-v $(pwd)/App_Data:/app/App_Data \
--name loginlink \
websvcin/loginlink:latest
  • Port 5000 is HTTP, 5443 is HTTPS.
  • /app/App_Data is where bootstrap.db and every SQLite database live (the control plane's platform.db and each organization's tenant_<id>.db) — mount it to a persistent volume or your data resets on every container recreation. See Where Your Data Lives if you'll use MySQL/PostgreSQL for any part of it.
  • The image exposes /healthz for liveness checks (already wired into the container's own HEALTHCHECK).

Then open http://localhost:5000 — a fresh install redirects to a short setup wizard where you choose your database and create your own administrator. See First-Run Setup.

For a multi-service setup (or if you'd rather declare this once instead of a long docker run), see the docker-compose Quickstart.

Other ways to get it​