All apps · 0 apps
setuparr
Docker app from P1zzm1ssiles' Repository
Overview
Readme
View on GitHub
Setuparr
Checks your Unraid media setup against the TRaSH guides, then fixes what doesn't match with one button, or shows you how to fix it yourself.
It only reads from your apps. Nothing is changed until you press Fix it, and every fix can be undone from the Dashboard.
What it checks
Press Run checks on the Dashboard (they also run by themselves once a day). Each finding says what's wrong, why it matters and how to fix it, with a link to the TRaSH guide. Some have a Fix it button. You can dismiss anything you've decided to leave as it is.
Your Unraid setup
From the Docker templates and share settings you give it on the Unraid page (see below):
- Hardlinks and instant moves: whether Sonarr and Radarr see downloads and your library through one mapping, as the TRaSH guide sets out, or copy every download.
- Downloads they can't reach: library apps whose mappings don't include any download client's folder.
- Paths that don't match: a download client saving to
/downloadswhile Sonarr sees the same folder as/data/torrents, which needs a Remote Path Mapping. /mnt/usermixed with a disk or pool path for the same share, a known way to lose data.- PUID, PGID and UMASK that differ between containers.
- appdata or system shares that can end up on the array, and downloads and media spread over several shares.
Tags (Sonarr, Radarr, Prowlarr, Seerr)
- Tags nothing uses (Fix it deletes them).
- Indexers, download clients and profiles limited to a tag no series or film has, so they're never used.
- Every indexer or download client tagged, leaving untagged series or films with none.
- Tags that look like the same thing, such as
4kand4-k. - Prowlarr: FlareSolverr with no tag or no indexer sharing its tag, and apps that get no indexers because of their tags.
- Seerr: tags it adds to requests that were deleted in Sonarr or Radarr.
Anime (Sonarr, Seerr)
- Series TVDB calls anime that aren't set to the Anime series type (Fix it sets them), Japanese animation that may be anime, and normal shows set to Anime.
- Anime outside your anime root folder or quality profile, and other shows inside them.
- An anime episode format without the absolute episode number.
- Indexers with no anime categories.
- Seerr with no anime root folder or profile, so requested anime lands in your TV setup.
Coming next
- TRaSH guide custom formats, quality profiles, sizes and naming, Prowlarr sync, Jellyfin and Plex settings.
- Your own genre rules (Kids, Documentaries, Stand-up…) and what doesn't follow them.
- More Fix it buttons, and anime checks for Radarr.
Giving Setuparr your Unraid settings
Setuparr never looks around your server and doesn't need the Docker socket. It reads only the files you give it, and keeps only each container's name, image, network, folder mappings and ports, and its PUID, PGID, UMASK and TZ. Everything else in them, including passwords and API keys, is dropped as they're read and never saved.
From Unraid's terminal (easiest). Click the >_ icon at the top right of Unraid, paste this and press Enter:
cd /boot/config && tar -czf /mnt/user/appdata/setuparr/unraid-config.tar.gz plugins/dockerMan/templates-user shares $(ls -d plugins/compose.manager/projects 2>/dev/null)
Then press Import from the config folder on the Unraid page. Setuparr reads the file and deletes it, so the
passwords in it don't stay in appdata. Change /mnt/user/appdata/setuparr if your config folder is elsewhere.
Or choose the files. Export the flash share over SMB (read-only is fine), open \\tower\flash\config, and
choose the plugins\dockerMan\templates-user and shares folders, or a zip of them.
Unraid keeps templates for containers you've removed, so untick those on the Unraid page or they're checked too. Run the import again whenever you change a container.
Install on Unraid
- Add the template from
unraid/setuparr.xml, or search Community Apps for Setuparr. - Keep the Config folder at
/mnt/user/appdata/setuparr. - Start it, open the web UI (port 9893), and create your login with the setup code from the container's log.
- Add your apps under Settings (addresses start with
http://) and press Test connection on each. - Give it your Unraid settings on the Unraid page, then press Run checks on the Dashboard.
Install with Docker
docker run -d --name setuparr \
-p 9893:9893 \
-v /path/to/appdata/setuparr:/config \
ghcr.io/p1zzm1ssile/setuparr:latest
Or with Docker Compose:
services:
setuparr:
image: ghcr.io/p1zzm1ssile/setuparr:latest
container_name: setuparr
ports:
- 9893:9893
volumes:
- ./setuparr:/config
restart: unless-stopped
Every setting is in the web UI. To pre-fill them on first start, see .env.tmpl for the environment variables.
First run
- Open
http://your-server:9893. - Enter the setup code from Setuparr's log. It's printed when Setuparr starts (in Unraid, click the Setuparr icon and
choose Logs; with Docker, run
docker logs setuparr). This stops anyone else on your network, or anyone reaching it through a misconfigured proxy, from creating the account before you. - Create your login. The password needs at least 8 characters, with an uppercase letter, a lowercase letter, a number and a special character.
Login and security
⚠️ Keep Setuparr on your home network. It can change the settings of Sonarr, Radarr, Prowlarr and Seerr and holds their API keys. We don't recommend putting it behind a reverse proxy (Nginx Proxy Manager, SWAG, Traefik, Cloudflare Tunnel and the like) for access from outside your network. To reach it remotely, use a VPN such as WireGuard or Tailscale.
- The password is stored as a scrypt hash in
/config/auth.json, never in plain text. - After 5 wrong passwords, that address is locked out for 5 minutes.
- Skip login on my local network (Settings > General) lets devices on the networks you list in without a password. It never applies to requests that arrive through a reverse proxy.
- Changing an app's address needs its API key entered again, so a saved key can't be sent somewhere new.
- Saved API keys are never sent back to the browser, and
settings.jsonandauth.jsonare only readable by the account Setuparr runs as. - Forgotten your password? Delete
auth.jsonfrom the config folder and restart Setuparr. It will ask you to create a login again, with a new setup code in the log. Your settings are kept.
Health check
- HTTP:
GET /healthreturns the status as JSON, with HTTP 200 when healthy and 503 when not. - Command line:
docker exec setuparr python healthcheck.pyexits with 0 when healthy, 1 when not. - Docker: the image includes a
HEALTHCHECK, sodocker psshowshealthyorunhealthy.
Contact
Bugs and ideas: open an issue. For anything private, email p1zzm1ssilerepo@gmail.com. Both are also on the Contact page in the web UI.
Licence
MIT. See LICENSE.
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/p1zzm1ssile/setuparr:latestRuntime arguments
- Web UI
http://[IP]:[PORT:9893]/- Network
bridge- Shell
sh- Privileged
- false
Template configuration
Port for the Setuparr web UI
- Target
- 9893
- Default
- 9893
- Value
- 9893
Settings, login and logs
- Target
- /config
- Default
- /mnt/user/appdata/setuparr
- Value
- /mnt/user/appdata/setuparr