mirror of
https://github.com/pedromcaraujo/shreddarr.git
synced 2026-05-23 15:46:33 +01:00
Underground metal discovery for Lidarr. Dig through Bandcamp, Metal Archives, and more. Find heavy music, add it to your library.
- Python 64.5%
- HTML 35%
- Dockerfile 0.5%
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| .github/workflows | ||
| docker | ||
| src | ||
| .gitignore | ||
| CLAUDE.md | ||
| docker-compose.production.yml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| pyproject.toml | ||
| README.md | ||
| todos | ||
| uv.lock | ||
shreddarr
Underground metal discovery for Lidarr. Dig through Bandcamp, Metal Archives, and more. Find heavy music, add it to your library.
Tech Stack
- Backend: Python / Django
- Frontend: HTMX + Tailwind CSS + DaisyUI + Alpine.js
- Data Sources: Bandcamp, Metal Archives, Last.fm, MusicBrainz
- Integration: Lidarr API
- Database: PostgreSQL
- Deployment: Docker
Development
Prerequisites
- uv (Python package manager)
- Docker & Docker Compose
Quick Start
# Install dependencies
uv sync --dev
# Run with Docker Compose
docker compose up
# Or run locally (requires PostgreSQL)
cd src
python manage.py migrate
python manage.py runserver
Running Tests
uv run pytest
Linting
uv run ruff check src/
Deployment
The CI/CD pipeline builds and pushes the Docker image on every push to main:
docker pull registry.peddan.com/shreddarr:latest
Environment Variables
| Variable | Description | Default |
|---|---|---|
DJANGO_SECRET_KEY |
Django secret key | insecure-change-me-in-production |
DJANGO_SETTINGS_MODULE |
Settings module | shreddarr.settings.prod |
DATABASE_URL |
PostgreSQL connection URL | postgres://shreddarr:shreddarr@localhost:5432/shreddarr |
DJANGO_ALLOWED_HOSTS |
Comma-separated allowed hosts | * |