Skip to content

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.