{"id":15540366,"url":"https://github.com/mcarr823/auto-kcc","last_synced_at":"2026-04-19T14:08:48.482Z","repository":{"id":252630791,"uuid":"840990790","full_name":"mcarr823/auto-kcc","owner":"mcarr823","description":"Docker image to make KCC (Kindle Comic Converter) easier to use in headless environments","archived":false,"fork":false,"pushed_at":"2024-08-12T08:44:16.000Z","size":42,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-03T12:18:04.425Z","etag":null,"topics":["docker","docker-compose","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mcarr823.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-11T10:12:56.000Z","updated_at":"2024-08-12T08:45:25.000Z","dependencies_parsed_at":"2024-12-08T17:34:33.438Z","dependency_job_id":null,"html_url":"https://github.com/mcarr823/auto-kcc","commit_stats":null,"previous_names":["mcarr823/auto-kcc"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcarr823%2Fauto-kcc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcarr823%2Fauto-kcc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcarr823%2Fauto-kcc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcarr823%2Fauto-kcc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mcarr823","download_url":"https://codeload.github.com/mcarr823/auto-kcc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246117762,"owners_count":20726069,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","python3"],"created_at":"2024-10-02T12:13:37.346Z","updated_at":"2026-04-19T14:08:43.458Z","avatar_url":"https://github.com/mcarr823.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Auto KCC\n\n[![Docker Image amd64](https://github.com/mcarr823/auto-kcc/actions/workflows/docker-amd64.yml/badge.svg)](https://github.com/mcarr823/auto-kcc/actions/workflows/docker-amd64.yml)\n[![Docker Image arm64](https://github.com/mcarr823/auto-kcc/actions/workflows/docker-aarch64.yml/badge.svg)](https://github.com/mcarr823/auto-kcc/actions/workflows/docker-aarch64.yml)\n\nAuto KCC is a docker image which aims to make [KCC (Kindle Comic Converter)](https://github.com/ciromattia/kcc) easier to use in a headless environment.\n\nIt checks an input directory for any comic book archives, processes them based on the environment arguments supplied, then moves the results into the output directory.\n\n## Architectures\n\nx86_64 and ARM64 are both supported, with corresponding tags.\n\n- auto-kcc:amd64\n- auto-kcc:arm64\n\n## Volumes\n\nThis program requires three volumes to be defined: input, output, and failed.\n\nIt can also take a fourth volume which points to the kindlegen binary, which is necessary for certain operations of KCC (for MOBI files, not EPUBs) to be performed.\n\n| Volume         | Required         | Description |\n| :----------- | :--------------: | :------------------------- |\n| /input            | YES | Directory containing the comics to be converted         |\n| /output           | YES | Directory into which the converted comics will be moved |\n| /failed           | YES | Directory into which comics which couldn't be converted will be moved |\n| /app/kindlegen:ro | NO  | kindlegen binary file |\n\nFor example:\n\n`docker run --rm -v ./input:/input -v ./output:/output -v ./failed:/failed ghcr.io/mcarr823/auto-kcc:amd64`\n\n## Profile\n\nThis program takes several optional arguments.\n\nAt the bare minimum, you should specify the PROFILE argument to tell KCC what type of device you're targeting.\n\nSee the [KCC documentation](https://github.com/ciromattia/kcc?tab=readme-ov-file#profiles) for a list of supported profiles.\n\n## Environment variables\n\nArguments are passed to the docker container by using environment variables.\n\nMost of them map directly to CLI arguments supported by KCC.\n\nThere are also a few arguments specific to this program.\n\n### Variables for this program\n\n| Variable  | Type    | Default value | Description   |\n| :-------- | :------ | :------------ | :------------ |\n| DRYRUN    | boolean | false         | List any comics this program finds, but don't actually convert or move them |\n| QUIET     | boolean | false         | Disable any log messages   |\n| TEST      | boolean | false         | Abort after the first file |\n\n### Variables for KCC\n\nSee the [KCC documentation](https://github.com/ciromattia/kcc?tab=readme-ov-file#standalone-kcc-c2epy-usage) for explanations on what they all do.\n\n* Boolean variables should be set to a lower-case string of 'true' to be enabled.\n\n| Variable        | Type    | KCC flag          |\n| :-------------- | :------ | :---------------- |\n| PROFILE         | string  | --profile         |\n| TITLE           | string  | --title           |\n| FORMAT          | string  | --format          |\n| MANGA           | boolean | --manga-style     |\n| HQ              | boolean | --hq              |\n| TWOPANEL        | boolean | --two-panel       |\n| WEBTOON         | boolean | --webtoon         |\n| NOPROCESSING    | boolean | --noprocessing    |\n| UPSCALE         | boolean | --upscale         |\n| STRETCH         | boolean | --stretch         |\n| BLACKBORDERS    | boolean | --blackborders    |\n| WHITEBORDERS    | boolean | --whiteborders    |\n| FORCECOLOR      | boolean | --forcecolor      |\n| FORCEPNG        | boolean | --forcepng        |\n| MOZJPEG         | boolean | --mozjpeg         |\n| MAXIMIZESTRIPS  | boolean | --maximizestrips  |\n| DELETE          | boolean | --delete          |\n| TARGETSIZE      | int     | --targetsize      |\n| SPLITTER        | int     | --splitter        |\n| CROPPING        | int     | --cropping        |\n| BATCHSPLIT      | int     | --batchsplit      |\n| CUSTOMWIDTH     | int     | --customwidth     |\n| CUSTOMHEIGHT    | int     | --customheight    |\n| GAMMA           | float   | --gamma           |\n| CROPPINGPOWER   | float   | --croppingpower   |\n| CROPPINGMINIMUM | float   | --croppingminimum |\n\n## Docker compose\n\nAn example docker-compose.yml file has been provided in this repo.\n\nIt provides the required volumes and defines a few environment variables.\n\n## Run automatically\n\nThis program works by scanning an input directory, processing files, then moving them to a different directory afterwards.\n\nSince the input files get moved after running, it's safe to automate this process.\n\nYou are free to automate this in any fashion you want, but I would recommend writing a bash script and using crontab.\n\nFor example, let's say your docker-compose.yml file and your docker volumes are setup in `/home/user/containers/kcc`\n\nYou could write a bash script (run.sh) of:\n\n```\n#!/bin/bash\n\ncd /home/user/containers/kcc\ndocker compose up\ndocker compose rm -f\n```\n\nAnd make it executable with `chmod +x run.sh`\n\nThat script would cd into the directory where the compose file and volumes are stored, run the program, then remove the image afterwards.\n\nYou could then set it up in crontab by running `crontab -e` and setting it up like so:\n\n`0 1 * * * /home/user/containers/kcc/run.sh \u003e /home/user/containers/kcc/log.txt`\n\nThat would run the program at 1AM every night and log any output to a log.txt file.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcarr823%2Fauto-kcc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmcarr823%2Fauto-kcc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcarr823%2Fauto-kcc/lists"}