CLU-Comic-Library-Utilities

CLU-Comic-Library-Utilities

Docker app from AllAboutDuncan's Repository

Overview

Digital comic curation app to read, manage, edit, and update libraries of any size.

Features:

  • Manage Comic Library
  • Folder Monitoring
  • Bulk Metadata Editing

Comic Library Utilities (CLU)

Docker Pulls GitHub Release GitHub commits since latest release

Join our Discord

Comic Library Utilities (CLU)

What is CLU & Why Does it Exist

This is a set of utilities I developed while moving my 70,000+ comic library to Komga.

As I've continued to work on it, add features and discuss with other users, I wanted to pivot away from usage as an accessory to Komga and focus on it as a stand-alone app.

The app is intended to allow users to manage their remote comic collections, performing many actions in bulk, without having direct access to the server. You can convert, rename, move, enhance CBZ files within the app. Additionally, you can use the app to download comics from GetComics.org, update metadata using Metron and ComicVine, and more.

Comic Library Utilities (CLU)

Full Documentation

Full documention and install steps have moved to clucomics.org

Features

Here's a quick list of features

  1. Directory Operations - Clean Files, Rename Files, Convert Files, Rebuild Files, Missing Issue Check, Enhance Images.
  2. Single File Operations - Rebuild/Convert (CBR --> CBZ), Crop Cover, Remove First Image, Full GUI Editing of CBZ (rename/rearrange files, add/delete files, crop images), Add blank Image at End, Enhance Images, Delete File.
  3. Pull List - Subsrcibe to weekly releases of new comics, auto-download them as single issues or weekly packs. Search for missing isssues of existing series.
  4. Remote Downloads - Download comics from GetComics.org, update metadata using Metron and ComicVine, and more.
  5. File Management - Source and Destination file browsing, Drag and drop to move directories and files, Rename directories and files, Delete directories or files, Rename All Filenames in Directory, Remove Text from All Filenames in Directory.
  6. Folder Monitoring - Auto-Renaming, Auto-Convert to CBZ, Processing Sub-Directories, Auto-Upack, Move Sub-Directories, Custom Naming Patterns.
  7. Insights - see you collection size, reading history by year, favorite authors, artists, charactes, and view a full timeline of everything you've read.
  8. Optional local GCD Database Support

Installation via Docker Compose

Copy the following and edit the environment variables

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

Update your Docker Compose: Mapping the /config directory is required now to ensure that config settings are persisted on updates. First Install: On the first install with new config settings, visit the config page, ensure everything is configured as desired.

  • Save your Config settings
  • Click the Restart App button

More About Volumes Mapping for Your Library

For the utility to work, you need to map your default library to /data, any additional libraries can be mapped and configured in the app.

Examples of a Full Setup

Insights

Timeline

Pull List

Say Thanks

If you enjoyed this, want to say thanks or want to encourage updates and enhancements, feel free to "Buy Me A Coffee"

Full Documentation

Full documention and install steps are available at CLUcomics.org](https://clucomics.org)

Media gallery

1 / 2

Install CLU-Comic-Library-Utilities on Unraid in a few clicks.

Find CLU-Comic-Library-Utilities in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for CLU-Comic-Library-Utilities Review the template variables and paths Click Install

Download Statistics

115,311
Total Downloads
19,651
This Month
15,426
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Explore more like this

Explore all

Details

Repository
allaboutduncan/comic-utils-web:latest
Last Updated2026-06-17
First Seen2025-02-04

Runtime arguments

Web UI
http://[IP]:[PORT:5577]/
Network
bridge
Shell
sh
Privileged
false
Extra Params
--log-opt max-size=20m --log-opt max-file=3

Template configuration

WebUIPorttcp

Main Web Interface

Target
5577
Default
5577
Value
5577
Main LibraryPathrw

Map this to your main Comics library

Target
/data
Value
/mnt/user/media/
MonitorVariable

Set to 'yes' if you want to use folder monitoring.

Target
MONITOR
Default
no
Value
no
DownloadsPathrw

Optional: Map if you use folder monitoring.

Target
/downloads
Default
/mnt/user/Downloads
Flask EnvVariable

Flask Environment

Target
FLASK_ENV
Default
development
Value
development
PUIDVariableUser ID
Default
99
Value
99
PGIDVariable

Group ID

Default
100
Value
100
UMASKVariable

File creation mask. 000 -> world-writable folders (drwxrwsrwx) and files (rw-rw-rw-). Use 002 for group-writable or 022 for owner-only.

Default
000
Value
000
ConfigPathrw

Container Configuration files.

Target
/config
Value
/mnt/user/appdata/comic-library-utilities/config
CachePathrw

Storage for DB and thumbnails.

Target
/cache
Value
/mnt/user/appdata/comic-library-utilities/cache