Install
The fastest way to run jabol is the published Docker image
stephanrandle/jabol.
Docker (single command)
docker run -d \ -p 8080:8080 \ -v "$PWD/links.json:/config/links.json" \ -v "$PWD/data:/data" \ -e JABOL_AUTH_SECRET="$(openssl rand -hex 32)" \ stephanrandle/jabol:latest-v "$PWD/links.json:/config/links.json"— bind-mounts your config file. If the file doesn’t exist on the host yet, jabol’s entrypoint seeds a starterlinks.jsonfor you on first boot.-v "$PWD/data:/data"— persistent storage forauth.db(admin accounts + sessions) and the cached favicon / OG-image directory.JABOL_AUTH_SECRET— required in production. Used by better-auth to sign session cookies.
See Environment for every supported variable.
Docker Compose
A ready-to-use compose file ships in the repo. See Docker Compose for a walkthrough.
Coolify
Coolify deploys the compose file in a few clicks. See Coolify for the specifics, including the gotcha around UID ownership on Coolify-managed volumes.
From source (development)
git clone https://github.com/stephansama/jabolcd jabolpnpm installJABOL_CONFIG_PATH=./examples/categorized.json \ JABOL_DATA_DIR=./.data \ JABOL_AUTH_SECRET=dev \ pnpm devThe Hono server runs on :8080, the Vite SPA on :5173 with /api/*
proxied. See Development for more.