Installation Guide
Catalogerr can be installed in two ways:
- One-line installer (recommended) — sets up everything automatically.
- Manual setup — for advanced users who want more control.
One-Line Installer (New in v1.1.3)
Catalogerr now ships with an installer script that handles the entire setup.
Run this command on your server:
curl -sSL https://raw.githubusercontent.com/CipherWorkZ/Catalogerr_live/main/install.sh | sudo bash
The installer will:
- Download the latest release archive
- Create
/etc/Catalogerr_livewith proper permissions - Generate
.envandconfig.yaml - Prompt you for an admin password
- Run
admin.pyto seed the database - Create and enable
catalogerr-api.service(systemd + Gunicorn)
Note: The installer is still experimental — please report issues on GitHub.
Manual Setup Instructions
If you prefer manual setup, you need to configure a .env file and a config.yaml.
1. Environment Variables
Create a file named .env in the project root:
# --- Sonarr Integration ---
SONARR_URL=http://<your-sonarr-host>:8989
SONARR_API_KEY=<your-sonarr-api-key>
# --- Radarr Integration ---
RADARR_URL=http://<your-radarr-host>:7878
RADARR_API_KEY=<your-radarr-api-key>
# --- Application Secrets ---
APP_API_KEY=<random-secret-key>
TMDB_API_KEY=<your-tmdb-api-key>
# --- Admin Login ---
ADMIN_USER=admin
ADMIN_PASSWORD=<choose-a-strong-password>
# --- Database ---
DB_FILE=index.db
# --- Application Metadata ---
APP_NAME=Catalogerr
APP_VERSION=1.1.3
INSTANCE_NAME=MyServer
# --- Runtime Information (for system status endpoint) ---
RUNTIME_VERSION=Python 3.12
OS_NAME=Ubuntu
OS_VERSION=22.04
2. Configure Media Paths
Create config.yaml in the project root:
parent_paths:
- name: movies
path: /path/to/movies
- name: tvshows
path: /path/to/tvshows
- name: archive
path: /path/to/archive
3. Initialize the Database
Run the following to seed the database and create the first admin:
python3 admin.py
4. Start the Server
For development:
python3 main.py
For production (Gunicorn):
gunicorn -w 4 -b 0.0.0.0:8008 main:app
If you used the installer, Catalogerr runs automatically under systemd:
systemctl status catalogerr-api.service
Features Installed
- Drive indexing & storage tracking
- Metadata enrichment via TMDB
- Poster caching
- Collection dashboards
- Backup awareness
- ARR ecosystem connectors (Sonarr/Radarr)
- Servarr-style dashboard
- Backup/restore support
- Built-in Changelog viewer
- Auto-installer (systemd + Gunicorn)
Project Structure (for reference)
Catalogerr_live/
├── routes/ # Flask blueprints (catalog, system, tasks, stats, auth, connectors, etc.)
├── services/ # Core logic (auth, tasks, jobs, settings, stats, utils)
├── modules/ # Connector + poster handling
├── static/ # Shared static files (js/api.js, logos, posters)
├── templates/ # Jinja2 templates (dashboard, catalog, tasks, settings, stats, changelog)
├── admin.py # Initialization script
├── install.sh # Auto installer (v1.1.3+)
├── main.py # Flask app entrypoint
└── config.yaml # Media paths config
Get Involved
Catalogerr is being built openly.
- 🌐 Website: catalogerr.patserver.com
- 💻 GitHub: CipherWorkZ/Catalogerr_live
Contributions and feedback are welcome!