Skip to content

Installation

Terminal window
docker run -d \
--name claudio \
--user 1000:1000 \
-p 8080:8080 \
-v /path/to/games:/games \
-v claudio-data:/config \
ghcr.io/lmrisdal/claudio:latest

Open http://localhost:8080 and register your first user (automatically gets admin role).

services:
claudio:
image: ghcr.io/lmrisdal/claudio:latest
container_name: claudio
user: "1000:1000"
ports:
- "8080:8080"
volumes:
- claudio-data:/config
- /path/to/games:/games
environment:
- CLAUDIO_IGDB_CLIENT_ID=your_client_id
- CLAUDIO_IGDB_CLIENT_SECRET=your_client_secret
volumes:
claudio-data:
services:
claudio:
image: ghcr.io/lmrisdal/claudio:latest
container_name: claudio
user: "1000:1000"
ports:
- "8080:8080"
volumes:
- claudio-data:/config
- /path/to/games:/games
environment:
- CLAUDIO_DB_PROVIDER=postgres
- CLAUDIO_DB_POSTGRES=Host=db;Database=claudio;Username=claudio;Password=secret
depends_on:
- db
db:
image: postgres:18-alpine
container_name: claudio-db
volumes:
- postgres-data:/var/lib/postgresql/data
environment:
- POSTGRES_DB=claudio
- POSTGRES_USER=claudio
- POSTGRES_PASSWORD=secret
volumes:
claudio-data:
postgres-data:

Claudio stores a signing key (claudio-signing.key) alongside the database in the config directory. This key signs authentication tokens — if it’s lost, all users will need to sign in again.

Make sure the /config volume is persistent.