Browse by type
<img alt="Profilarr" src="https://github.com/Dictionarry-Hub/profilarr/raw/v2.0.9/src/lib/client/assets/banner-dark.svg" width="500">
<img alt="Profilarr screenshot" src="https://github.com/Dictionarry-Hub/profilarr/raw/v2.0.9/github/assets/hero-light.png" width="800">
If you manage a media server, you've probably spent hours configuring quality profiles, piecing together custom formats from forum posts, and hoping nothing drifts between instances. Profilarr tries to make that easier.
3.17+. Older kernels, including Synology DSM
installs on kernel 3.10, are not supported by Profilarr v2.linux/amd64 or linux/arm64v4+v5+services:
profilarr:
image: ghcr.io/dictionarry-hub/profilarr:latest
container_name: profilarr
ports:
- '6868:6868'
volumes:
- ./config:/config
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
# Uncomment ORIGIN if you use a reverse proxy to access your containers.
#- ORIGIN=https://profilarr.yourdomain.com
- PARSER_HOST=parser
- PARSER_PORT=5000
depends_on:
parser:
condition: service_healthy
# Optional - only needed for CF/QP testing
parser:
image: ghcr.io/dictionarry-hub/profilarr-parser:latest
container_name: profilarr-parser
expose:
- '5000'
[!NOTE] The parser service is only required for custom format and quality profile testing. Linking, syncing, and all other features work without it. Remove the
parserservice and related environment variables if you don't need it.
| Variable | Default | Description |
|---|---|---|
PUID |
1000 |
User ID for file permissions |
PGID |
1000 |
Group ID for file permissions |
UMASK |
022 |
File creation mask |
TZ |
Etc/UTC |
Timezone for scheduling |
PORT |
6868 |
Web UI port |
HOST |
0.0.0.0 |
Bind address |
AUTH |
on |
Auth mode (on, oidc, off) |
OIDC_CLIENT_SECRET |
- | OIDC client secret (when AUTH=oidc) |
OIDC_CLIENT_ID |
- | OIDC client ID (when AUTH=oidc) |
OIDC_DISCOVERY_URL |
- | OIDC discovery URL (when AUTH=oidc) |
ORIGIN |
- | Public URL when running behind a reverse proxy (e.g. https://profilarr.example.com) |
PARSER_HOST |
localhost |
Parser service host |
PARSER_PORT |
5000 |
Parser service port |
PROFILARR_BULLETIN_URL |
https://raw.githubusercontent.com/Dictionarry-Hub/bulletin/main |
Override for the announcement feed + release manifest base URL |
[!NOTE] When using OIDC
ORIGIN=must be set to your Profilarr URL, and Profilarr expects{ORIGIN}/auth/oidc/callbackfor the redirect URL (e.g.https://profilarr.example.com/auth/oidc/callback). Many IdPs will infer this automatically.
See the documentation for full setup and configuration guides.
Prerequisites
git clone https://github.com/Dictionarry-Hub/profilarr.git
cd profilarr
deno task dev
This runs the parser service and Vite dev server concurrently.
Contributions are welcome! For anything beyond small fixes, please open an issue or reach out on Discord first so we can discuss the approach. See CONTRIBUTING.md for the full development workflow.
Every feature in Profilarr is free for everyone, and development will continue with or without donations. If you'd like to show support, you can, but it's in no way necessary.
Profilarr is free and open source. You do not need to pay anyone to use it. If someone is charging you for access to Profilarr, they are violating the spirit of this project.
$ claude mcp add profilarr \
-- python -m otcore.mcp_server <graph>