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
| Dependency | Minimum Version | Notes |
|---|---|---|
| Python | 3.10+ | |
| Node.js | 22+ | Required to build the frontend |
| uv (or pip) | Latest | Recommended for Python deps |
| psycopg2-binary | — | Only if using PostgreSQL (uv sync --extra postgres) |
| mysqlclient / PyMySQL | — | Only if using MySQL |
Installation
Clone the repository
git clone https://github.com/frankieramirez/comicarr.git
cd comicarrInstall Python dependencies
Using uv (recommended):
uv syncOr using pip:
pip install -r requirements.txtBuild 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 --nolaunchThe --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/dataConfig 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 devThe 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.