Manual Installation

Run Comicarr from source without Docker.

Advanced / development use

Docker is the recommended deployment method. Manual installation is intended for development or environments where Docker is unavailable.

Prerequisites

DependencyMinimum VersionNotes
Python3.10+
Node.js22+Required to build the frontend
uv (or pip)LatestRecommended for Python deps
psycopg2-binaryOnly if using PostgreSQL (uv sync --extra postgres)
mysqlclient / PyMySQLOnly if using MySQL

Installation

Clone the repository

git clone https://github.com/frankieramirez/comicarr.git
cd comicarr

Install Python dependencies

Using uv (recommended):

uv sync

Or using pip:

pip install -r requirements.txt

Build the frontend

cd frontend
npm ci
npm run build
cd ..

This compiles the React 19 frontend into static assets that Comicarr serves from frontend/dist.

Start Comicarr

source .venv/bin/activate  # if using uv
python3 Comicarr.py --nolaunch

The --nolaunch flag prevents Comicarr from automatically opening a browser window.

Access the UI

Open http://localhost:8090 in your browser and follow the Initial Setup guide.

Data Directory

By default, Comicarr stores its database, config, and logs in the application directory (the directory containing Comicarr.py). Override this with the --datadir flag:

python3 Comicarr.py --nolaunch --datadir /path/to/data

Config and keys then live under /path/to/data/config.ini and /path/to/data/.secure/.

Development

For development with hot-reload on the frontend:

# Terminal 1: Start the backend (default port 8090)
python3 Comicarr.py --nolaunch

# Terminal 2: Start the frontend dev server
cd frontend
npm run dev

The Vite dev server proxies API requests to http://localhost:8090 so the UI talks to the backend you started above. If the backend listens elsewhere, set VITE_API_PROXY_TARGET (for example http://localhost:8091) when running npm run dev.

See the project's CONTRIBUTING.md for full development setup instructions.

On this page