Quickstart
Docker Hub images are available for quick installation and deploy.
Install via Docker Compose
services:
comic-utils:
image: allaboutduncan/comic-utils-web:latest
container_name: clu
logging:
driver: "json-file"
options:
max-size: '20m' # Reduce log size to 20MB
max-file: '3' # Keep only 3 rotated files
restart: always
ports:
- '5577:5577'
volumes:
- 'config-volume:/config' # Maps to a Docker Volume for Database Storage and Backups
- "/path/to/local/cache:/cache" # Maps to local folder for thumbnail cache
## update the line below to map to your library.
## Map your first/main library to /data
- "/e/Comics:/data"
## Map additional libraries and add them in the settings of the app
- "/e/Manga:/manga"
- "/f/Magazines:/magazines"
## Additional folder if you want to use Folder Monitoring.
- "/f/Downloads:/downloads"
environment:
- FLASK_ENV=production
## Set to 'yes' if you want to use folder monitoring.
- MONITOR=yes/no
## Set the User ID (PUID) and Group ID (PGID) for the container.
## This is often needed to resolve permission issues, especially on systems like Unraid
## where a specific user/group owns the files.
## For Unraid, PUID is typically 99 (user 'nobody') and PGID is typically 100 (group 'users').
## For Windows/WSL, you need to set these to match your Windows user ID (see WINDOWS_WSL_SETUP.md)
- PUID=99
- PGID=100
## File creation mask. 000 -> world-writable folders (drwxrwsrwx) and files
## (-rw-rw-rw-). Use 002 for group-writable (775/664) or 022 for owner-only writes.
- UMASK=000
### You can enable basic authentication by setting the two values below
## CLU_USERNAME=[username] - Set the username for the app.
## CLU_PASSWORD=[password] - Set the password for the app.
volumes:
config-volume: # Now required for Database Storage and Backups
Install via Docker
docker run \
--name clu \
--restart always \
-p 5577:5577 \
-v /Users/phillipduncan/Documents/docker/clu:/config \
-v /Users/phillipduncan/Documents/GitHub/comic-utils/bak:/data \
-v /Users/phillipduncan/Documents/GitHub/comic-utils/files:/downloads \
-e FLASK_ENV=development \
-e MONITOR=no \
-e PUID=99 \
-e PGID=100 \
-e UMASK=000 \
allaboutduncan/comic-utils-web:latest
Parameters
Additional info about the ENV variables can be found here.
| Parameter | Function |
|---|---|
| -p 5577:5577 | The port exposed by the app for the web interface. |
| -v /docker/clu:/config | Location for your CLU directory on a local disk. Enables local storage of the config.ini which preservers settings during updates. Must be mapped to /config |
| -v /User/comics:/data | Location of your library to manage. Must be mapped to /data |
| -v /User/downloads:/downloads | Optional folder to configure if MONITOR is enabled (see below) |
| -e FLASK_ENV=development | Set to 'development' for local development. |
| -e MONITOR=no | Set to 'yes' if you want to use folder monitoring. |
| -e PUID=99 | Set the User ID (PUID) and Group ID (PGID) for the container. |
| -e PGID=100 | Set the User ID (PUID) and Group ID (PGID) for the container. |
| -e UMASK=000 | Set the file creation mask (UMASK). |
Using a Local Metadata Database (GCD / ComicVine)
You can use a local copy of the Grand Comics Database (GCD) or ComicVine as an offline metadata source. This lets you bulk-populate your comics quickly, with no API rate limits.
As of v6.0 this is just a SQLite file you place on a mapped path and point CLU at from the settings — no separate database container required. See Local Metadata Databases for step-by-step instructions.