Updating

Keep Comicarr up to date with the latest releases.

Backup before updating

Stop Comicarr and back up its persistent data before updating. In Docker, back up /config/comicarr, including comicarr.db, config.ini, and .secure/. For a source install, back up your --datadir (the application directory by default). Preserve media volumes too; external database backends need their own backup.

Docker

Pull the latest image and recreate the container:

docker compose pull
docker compose up -d

The container restarts with the new image. Your data in /config persists across updates.

Pinning a specific version

:latest tracks every release. To control when you move, set an explicit tag in your compose file:

docker-compose.yml
services:
  comicarr:
    image: ghcr.io/frankieramirez/comicarr:0.26.1

Then apply it with docker compose up -d.

The snippet changes only the image. Keep your existing config, media, and downloads mounts, along with the rest of your Compose settings.

Pulling alone does not pin

docker pull only downloads an image. A container created from :latest stays on :latest until you change the image: line and recreate it.

Image tags omit the GitHub release's leading v, so release v0.26.1 is image tag 0.26.1 (an example, not a current-version recommendation). GitHub Container Registry is canonical; Docker Hub is a mirror.

Update Notifications

Comicarr can check GitHub for new releases automatically.

SettingDescriptionDefault
CHECK_GITHUBEnable automatic update checksTrue
CHECK_GITHUB_INTERVALMinutes between checks360

Enable in Settings > General or in config.ini:

config.ini
[Git]
CHECK_GITHUB = True

[Scheduler]
CHECK_GITHUB_INTERVAL = 360

When a new version is available, Comicarr displays a notification in the UI.

Manual Installation

If you installed from source:

Stop Comicarr and pull the latest code

Stop the running process before updating its code or dependencies.

cd /path/to/comicarr
git pull origin main

Update Python dependencies

uv sync

uv sync uses the committed lockfile. Or, in your activated virtual environment, use pip for an unlocked install from pyproject.toml:

pip install .

Rebuild the frontend

Use Node.js 22+ for this build. The default portless development command needs Node.js 24+; see Manual Installation.

cd frontend
npm ci
npm run build
cd ..

Restart Comicarr

Start it again with the same data directory and startup options:

source .venv/bin/activate
python3 Comicarr.py --nolaunch

On this page