Installation

Install Comicarr using Docker Compose.

Docker is the primary and recommended way to run Comicarr.

Quick Start

Create a docker-compose.yml file:

docker-compose.yml
services:
  comicarr:
    image: ghcr.io/frankieramirez/comicarr:latest
    container_name: comicarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - ./config:/config
      - /path/to/comics:/comics
      - /path/to/manga:/manga
      - /path/to/downloads:/downloads
    ports:
      - 8090:8090
    restart: unless-stopped
    stop_grace_period: 30s

Start the container:

docker compose up -d

Open http://localhost:8090, or http://<server-address>:8090 when Docker runs on another machine.

Application data (database, config.ini, logs, encryption keys) lives under /config/comicarr/ inside the container (the entrypoint sets --datadir /config/comicarr).

Replace the example host paths with your folders. Keep ./config persistent; with this mapping, the host stores app data in ./config/comicarr. Set PUID and PGID to a user and group that can write to the mounted folders.

Mount the same host downloads folder in Comicarr and your download client at /downloads. Configure the client's completed-download path under that shared mount so Comicarr can read the files for post-processing. Preserve these config and media mounts when recreating the container.

Registries

Multi-architecture images (amd64, arm64) are published to two registries from the same build, with identical tags:

RegistryImage referenceRole
GitHub Container Registryghcr.io/frankieramirez/comicarrCanonical
Docker Hubcomicarr/comicarrMirror

Use the canonical GHCR image shown in these examples. The Docker Hub mirror depends on successful mirror publishing and may lag if its credentials are unavailable.

Image tags drop the v

Image tags are bare semver: 0.26.1, where the git tag reads v0.26.1. The v prefix appears only on git tags and GitHub Release pages. Pulling a v-prefixed tag fails with a manifest-not-found error.

Environment Variables

VariableDescriptionDefault
PUIDUser ID for file permissions1000
PGIDGroup ID for file permissions1000
TZTimezone (list)Etc/UTC
UMASKFile permission mask002

Synology NAS

On Synology, PUID=1026 and PGID=100 are common examples. Run id for the account that owns your folders and use its actual IDs.

Volumes

MountDescription
/configHost mount for app data. Comicarr writes to /config/comicarr/ (database, config, logs, .secure/). Back this up.
/comicsYour comic book library. Comicarr organizes files here.
/mangaYour manga library. Used for MangaDex downloads.
/downloadsStaging area for downloads before post-processing. Point your download client here.

Next Steps

On this page