Vrobbler ======== [![Build Status](https://ci.lab.unbl.ink/api/badges/secstate/vrobbler/status.svg?ref=refs/heads/main)](https://ci.lab.unbl.ink/secstate/vrobbler) Vrobbler is a pretty simple Django-powered web app for scrobbling video plays from you favorite Jellyfin installation. At the most basic level, you should be able to run `pip install vrobbler` to the latest version from pypi.org. Then configure a handful of options in your vrobbler.conf files, which can live in /etc/ or /usr/local/etc/ depending on your configuration. You can checkout the `scrobbler.conf.example` file in the source for this project, or refer to the following guide: ``` VROBBLER_DEBUG=True VROBBLER_JSON_LOGGING=True VROBBLER_LOG_LEVEL="DEBUG" VROBBLER_MEDIA_ROOT = "/media/" VROBBLER_TMDB_API_KEY = "" VROBBLER_KEEP_DETAILED_SCROBBLE_LOGS=True VROBBLER_DATABASE_URL="postgres://vrobbler:@db.service:5432/vrobbler" VROBBLER_REDIS_URL="redis://:@cache.service:6379/0" ``` ## Database Backup A backup command is available via `./manage.py backup_database` (also runs on a cron schedule via Celery). It dumps the database with `pg_dump`, compresses with gzip, and optionally copies the backup to a remote host via SCP. Configure these additional settings as needed: ``` VROBBLER_DB_BACKUP_SSH_KEY="/path/to/ssh/private/key" VROBBLER_DB_BACKUP_SSH_DEST="user@backup.example.com:/remote/path/" VROBBLER_DB_BACKUP_NTFY_URL="https://ntfy.sh/your-topic" ``` - `VROBBLER_DB_BACKUP_SSH_KEY` — Path to the SSH private key used for remote copy. - `VROBBLER_DB_BACKUP_SSH_DEST` — SCP destination (user@host:path). If set, the backup is copied to the remote host and old backups are pruned. - `VROBBLER_DB_BACKUP_LOCAL_DIR` — Local directory for backup storage. Defaults to `/var/backups/`. Backups are stored in a `vrobbler/` subdirectory. - `VROBBLER_DB_BACKUP_NTFY_URL` — ntfy.sh URL for success notifications. Defaults to `https://ntfy.unbl.ink/backups`. Retention is hardcoded: keeps daily backups for 7 days, plus one per month for 12 months. ```