Installation
Ny her
Kør HolyArrs i Docker og åbn det i din browser. Det tager et par minutter.
Før du begynder
Link til Før du begynder- En computer med Docker og Docker Compose.
- Dine mediemapper, eller et sted at oprette dem. Læs først Mapper, hvis du vil have øjeblikkelige flytninger i stedet for kopier.
- På en NAS, Unraid eller Synology, se NAS, Synology og Unraid. Uden Docker, se Portable arkiver.
Trin
Link til Trin-
Opret en mappe til konfigurationen på en lokal disk, for eksempel
/srv/holyarrs/config. Ikke en netværksdeling. På Docker Desktop skal du bruge et navngivet volume i stedet. Se Docker Desktop. -
Find den bruger og gruppe, der ejer dine mediemapper:
Terminal window id youruser# uid=1000(youruser) gid=1000(youruser)Brug
uidsomPUIDoggidsomPGID. -
Gem dette som
docker-compose.ymlog ret stierne:name: holyarrsservices:holyarrs:image: holyarrs/holyarrs:latestcontainer_name: holyarrsenvironment:- PUID=1000- PGID=1000- TZ=Etc/UTCvolumes:- /srv/holyarrs/config:/config- /path/to/movies:/movies #optional- /path/to/tv:/tv #optional- /path/to/music:/music #optional- /path/to/downloads:/downloads #optionalports:- 6262:6262restart: unless-stopped -
Start det:
Terminal window docker compose up -ddocker compose psContaineren vises som healthy, når HolyArrs svarer.
-
Åbn
http://your-server:6262og opret ejerkontoen med det samme. Der er ingen standardadgangskode. Indtil du opretter kontoen, bliver den, der åbner HolyArrs først, ejer. -
Følg den opsætning, der åbner derefter. Se Første start.
Hvis du foretrækker docker run:
docker run -d \ --name=holyarrs \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -p 6262:6262 \ -v /srv/holyarrs/config:/config \ -v /path/to/movies:/movies `#optional` -v /path/to/tv:/tv `#optional` -v /path/to/music:/music `#optional` -v /path/to/downloads:/downloads `#optional` \ --restart unless-stopped \ holyarrs/holyarrs:latestImage-tag
Link til Image-tag| Tag | Hvad du får |
|---|---|
latest |
Den nyeste version |
1.0.0 (en hvilken som helst version) |
Præcis den version. Den ændrer sig aldrig |
Indstillinger forklaret
Link til Indstillinger forklaretPorte og mapper
Link til Porte og mapper| Indstilling | Hvad den gør |
|---|---|
-p 6262:6262 |
Webappen. |
-v /config |
Databaser, indstillinger, hovednøglen, backups og logs. Kun lokal disk. |
-v /movies |
Valgfri. En biblioteksmappe til film. |
-v /tv |
Valgfri. En biblioteksmappe til serier. |
-v /music |
Valgfri. En biblioteksmappe til musik. |
-v /downloads |
Valgfri. Downloaderens downloadmappe. Se Mediemapper. |
--read-only=true |
Valgfri. Se Skrivebeskyttet rodfilsystem. |
--user=1000:1000 |
Valgfri. Se Start som fast bruger. |
Miljøvariabler
Link til Miljøvariabler| Variabel | Hvad den gør |
|---|---|
PUID, PGID |
Den bruger og gruppe, HolyArrs kører som. 1000 og 1000, hvis du udelader dem. |
TZ |
Tidszone, for eksempel Europe/Amsterdam. |
UMASK |
Valgfri. Hvilke rettighedsbits nye filer ikke får, for eksempel 022 eller 002. |
HOLYARRS_SAVE_PATH |
Valgfri. Downloaderens gemmemappe, som downloaderen ser den. |
HOLYARRS_ALLOWED_HOSTS |
Valgfri. Ekstra værtsnavne, folk bruger til at nå HolyArrs, adskilt af komma. |
HOLYARRS_TRUSTED_PROXIES |
Valgfri. Adressen eller netværket for din reverse proxy. |
HOLYARRS_URL_BASE |
Valgfri. Kør HolyArrs under en sti. Se URL base og reverse proxies. |
HOLYARRS_MASTER_KEY_FILE |
Valgfri. Læs hovednøglen fra en egen fil. |
Enhver variabel kan komme fra en fil. Sæt FILE__ foran navnet og angiv
filens sti som værdi:
environment: - FILE__HOLYARRS_ALLOWED_HOSTS=/run/secrets/holyarrs_hostsÉt linjeskift i slutningen af filen bliver fjernet. Det virker også for PUID, PGID,
UMASK og TZ. Hvis filen mangler, stopper HolyArrs og nævner
variablen i loggen. Værdien bliver aldrig skrevet ud.
Imaget
Link til ImagetImaget indeholder HolyArrs og stort set intet andet. Det har ingen shell, så du kan ikke
bruge docker exec til at kigge rundt i det. Læs loggen i stedet med
docker logs holyarrs, eller åbn logs/holyarrs.log i konfigurationsmappen.
HolyArrs’ egne kommandoer virker stadig via docker exec:
docker exec holyarrs /holyarrs doctordocker exec -i holyarrs /holyarrs reset-ownerdocker exec holyarrs /holyarrs restore --pre-updateImagene bliver bygget til amd64, 64-bit ARM og 32-bit ARM. På en computer med omkring 2,5 GiB hukommelse eller mindre slår HolyArrs tilstand til lav hukommelse til af sig selv. Den første linje i loggen fortæller det.
Bruger og gruppe
Link til Bruger og gruppeContaineren starter kun som root for at sætte sig selv op. Den giver konfigurationsmappen
til PUID:PGID, når det er nødvendigt, og skifter derefter for altid til den bruger. Den
første linje i loggen viser bruger, gruppe og umask.
HolyArrs ændrer aldrig ejeren af dine medie- eller downloadmapper. Giv
PUID-brugeren skriveadgang til dem selv. Læseadgang er ikke nok, fordi
HolyArrs opretter mapper og flytter filer.
Nogle typer lager kan ikke skifte ejer, for eksempel NFS med root squash, SMB eller et
skrivebeskyttet mount. HolyArrs skriver så en advarsel og fortsætter. Gør
konfigurationsmappen skrivbar for PUID:PGID manuelt.
Brugerskiftet kræver rettighederne CHOWN, DAC_OVERRIDE, SETUID og SETGID.
Docker giver dem som standard. Hvis du fjerner dem, stopper HolyArrs
med en besked. Det falder ikke tilbage til root. Hvis du virkelig vil køre som root, så sæt
PUID=0 og PGID=0.
Ekstra grupper fra group_add: bliver bevaret, når HolyArrs skifter bruger.
UMASK påvirker kun nye filer. Udelad den for at beholde 022, hvor du skriver og
andre læser. Brug 002, når en gruppe også skal kunne skrive.
Mediemapper
Link til MediemapperMonter kun de mapper, du bruger: /movies, /tv og /music som biblioteksmapper
og /downloads som downloadmappe.
Tip om hardlinks (hårde koblinger): hver mappe, du monterer for sig, er et særskilt mount i containeren, og en fil kan ikke hardlinkes på tværs af mounts, så imports bliver fulde kopier. Hvis du vil have hardlinks, kan du i stedet montere én fælles overordnet mappe (med downloads og biblioteksmapper indeni) i stedet for de fire valgfrie mounts og give downloaderen det samme mount på samme sti. Den overordnede mappe skal også være ét filsystem. Separate NAS- delinger eller datasets under den bliver stadig kopieret. Settings > Library folders (Indstillinger > Biblioteksmapper) advarer dig, når HolyArrs er nødt til at kopiere.
HOLYARRS_SAVE_PATH bliver sendt til downloaderen med hver download, så den ændrer også,
hvor downloaderen gemmer. Udelad den for at beholde downloaderens egen
indstilling. Hvis du udelader den, så tilføj downloadmappen under
Settings > Library folders > Extra import folders, så du kan importere manuelt
fra den.
Gem hovednøglen
Link til Gem hovednøglenHolyArrs krypterer gemte adgangskoder, nøgler og tokens med en hovednøgle. Den
første start opretter /config/holyarrs.key.
Backups indeholder aldrig denne nøgle. Gem en kopi et andet sted. Den nemme måde: som
ejer skal du åbne Settings > Backups og vælge Download key kit (download nøglepakken). For at lægge den
tilbage skal du omdøbe filen til holyarrs.key og lægge den i konfigurationsmappen, mens
HolyArrs er stoppet. En gendannelse med en anden nøgle bliver afvist. Med et navngivet
volume er der ingen mappe at åbne: kopier den ind med
docker cp holyarrs.key hx:/config/ som i
Docker Desktop. Skal du flytte til en ny computer? Læg
nøglen tilbage først, og gendan derefter backuppen. Se
Backups.
Du kan også gemme nøglen i en egen skrivebeskyttet fil:
environment: - HOLYARRS_MASTER_KEY_FILE=/keys/holyarrs.keyvolumes: - /srv/holyarrs/keys:/keys:roFilen skal findes og indeholde 32 rå bytes, 64 hex-cifre eller base64 for 32
bytes. PUID-brugeren skal kunne læse den.
Genstart og gendannelse
Link til Genstart og gendannelseBehold en genstartspolitik. En gendannelse bliver tjekket og klargjort, derefter afslutter HolyArrs
med status 75, så Docker starter det igen og anvender den. unless-stopped
klarer det.
For at opdatere en lokal build skal du bygge og genskabe uden at røre mounts:
docker build --file deploy/Dockerfile --tag holyarrs:local .docker compose up -d --force-recreateFjern aldrig /config under en opdatering. Se Opdateringer
og Backups.
Værtsnavne og reverse proxies
Link til Værtsnavne og reverse proxiesIP-adresser og localhost virker fra start. Et hjemmenavn som
tower.local, som du bruger under den første opsætning, bliver gemt for dig. Tilføj andre
navne under Allowed host names (tilladte værtsnavne) i Settings > Sign-in and security (Indstillinger > Login og sikkerhed), eller i
HOLYARRS_ALLOWED_HOSTS.
Når en reverse proxy tilføjer X-Forwarded-For, skal du kun skrive proxyens adresse eller
netværk i HOLYARRS_TRUSTED_PROXIES. Uden den virker single sign-on, rigtige
klientadresser og Secure-cookien ikke, og alle bag proxyen
deler én loginbegrænsning. Loggen nævner den proxyadresse, du skal tilføje. Hvis en anden
proxy står foran, for eksempel Cloudflare, så tilføj også dens områder.
Med nginx skal du sende begge headers:
proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;Hvis de to er uenige, behandler HolyArrs den besøgende som uden for dit netværk.
Grundlæggende sikkerhed
Link til Grundlæggende sikkerhed- Videresend ikke port 6262 på din router. Brug et VPN som Tailscale, eller en reverse proxy med HTTPS.
- Opret ejerkontoen lige efter den første start.
- Gem en kopi af hovednøglen væk fra konfigurationsmappen.
- Hold imaget opdateret.
Særlige opsætninger
Link til Særlige opsætningerDocker Desktop (Windows og Mac)
Link til Docker Desktop (Windows og Mac)Docker Desktop deler værtsmapper gennem et lag, hvor databaselåse
ikke er sikre. HolyArrs afviser en /config der og viser løsningen på port
6262. Brug et navngivet volume til /config. Mediemapper kan forblive værtsmapper.
name: holyarrsservices: holyarrs: image: holyarrs/holyarrs:latest container_name: holyarrs environment: - TZ=Etc/UTC volumes: - holyarrs-config:/config - C:/Media/movies:/movies ports: - 6262:6262 restart: unless-stopped
volumes: holyarrs-config:For at flytte en gammel konfigurationsmappe ind i volumet skal du stoppe HolyArrs og køre:
docker create --name hx -v holyarrs-config:/config holyarrs/holyarrs:latestdocker cp C:\old\config\. hx:/config/docker rm hxFor at kopiere backups ud: docker cp holyarrs:/config/backups .
På en Mac kan du, hvis du har tjekket, at fillåse virker i din mappe, sætte
HOLYARRS_ALLOW_DESKTOP_FOLDER=1 for at starte alligevel. HolyArrs advarer ved hver
start. Det ophæver aldrig afvisningen for netværksdelinger.
Skrivebeskyttet rodfilsystem
Link til Skrivebeskyttet rodfilsystemKun /config og /tmp skal være skrivbare:
services: holyarrs: read_only: true tmpfs: - /tmpPUID, PGID og UMASK virker stadig.
Start som fast bruger
Link til Start som fast brugerservices: holyarrs: user: "1000:1000"HolyArrs ændrer så ingen ejere, så konfigurationsmappen skal allerede være
skrivbar for den bruger. PUID og PGID bliver ignoreret, og loggen siger det.
Det dækker også Kubernetes runAsUser.
Rootless Docker og Podman
Link til Rootless Docker og PodmanI rootless-tilstand er root inde i containeren din egen bruger, og andre id’er
bliver koblet til høje numre på værten. Med PUID=1000 ender konfigurationsmappen med at være
ejet af en fremmed på værten.
| Du kører | docker info eller podman info viser |
Brug |
|---|---|---|
| Normal Docker | ingen rootless |
PUID og PGID som sædvanligt |
| Rootless Docker | rootless under Security Options |
Valg 1 |
| Rootless Podman | rootless: true |
Valg 1 eller 2 |
Valg 1. Sæt PUID=0 og PGID=0. Det er kun sikkert i rootless-tilstand.
Gør det aldrig med normal Docker eller på en NAS.
Valg 2. Podman med keep-id, som en Quadlet i
~/.config/containers/systemd/holyarrs.container:
[Container]Image=holyarrs/holyarrs:latestUserNS=keep-idUser=%U:%GVolume=%h/holyarrs/config:/config:ZPublishPort=6262:6262HealthCmd=["/holyarrs","-healthcheck"]HealthInterval=30s
[Service]Restart=always
[Install]WantedBy=default.targetEller som én kommando:
podman run -d --name holyarrs --userns=keep-id --user "$(id -u):$(id -g)" -v ~/holyarrs/config:/config:Z -p 6262:6262 --health-cmd '["/holyarrs","-healthcheck"]' --health-interval 30s --restart always holyarrs/holyarrs:latest:Zer til SELinux-systemer. Brug:zpå mapper, som downloaderen deler. Brug ingen af dem på en netværksdeling (NFS eller SMB): den kan ikke få nyt label, og containeren ville ikke starte.- Angiv tilstandstjekket som en liste. Imaget har ingen shell.
- Behold genstartspolitikken
always. Podmans tjeneste til start efter genstart starter kunalways-containere. - For at starte efter en genstart uden at logge ind skal du køre
loginctl enable-linger $USERén gang. Brug derefter Quadlet-filen, eller forpodman runkørsystemctl --user enable podman-restart.service.
Hvis mappen allerede tilhører et højt id, skal du stoppe containeren først og derefter:
- Rootless Podman:
podman unshare chown -R 0:0 ~/holyarrs/config(Valg 1) ellerpodman unshare chown -R 1000:1000 ~/holyarrs/config. - Rootless Docker:
rootlesskit chown -R 0:0 ~/holyarrs/config, kørt viansenterind i den rootless daemon (nsenter -U --preserve-credentials -n -m -t $(cat $XDG_RUNTIME_DIR/docker.pid)).
Byg dit eget image
Link til Byg dit eget imageFra HolyArrs-checkouten:
docker build --file deploy/Dockerfile --tag holyarrs:local .Brug derefter holyarrs:local som image.
Fejlfinding
Link til FejlfindingKør doctor først. Den tjekker konfigurationen, mapper, netværk og ur, og fortæller dig, hvordan du løser hvert problem.
- Container kører:
docker exec holyarrs /holyarrs doctor - Container bliver ved med at genstarte:
docker compose run --rm holyarrs doctor
Se Fejlfinding for loggen og supportpakken.
| Du ser | Gør dette |
|---|---|
| Config folder is on a shared or network folder | Brug en lokal disk, eller et navngivet volume på Docker Desktop. På Unraid skal du bruge /mnt/<pool>/appdata/holyarrs. |
| Config folder is in memory | Læg /config på en disk. På Unraid: tjek, at stien til poolen findes. På en testcomputer tillader HOLYARRS_CONFIG_IN_MEMORY=yes det. |
| Config folder cannot be written | Fjern :ro og tjek, at PUID:PGID ejer mappen. |
| Disk is full | Frigør plads på den disk, der holder /config, og genstart derefter. |
/config is not mapped |
Se nedenfor. |
| Cannot switch user | Læg de fire rettigheder tilbage, eller brug user: "<uid>:<gid>". |
| PUID/PGID does not exist inside this container | Id’erne ligger uden for det koblede område. Se Rootless Docker og Podman. |
A FILE__ variable cannot be read |
Tjek stien, og at filen er monteret. |
| Permission denied | Tjek PUID, PGID og skriveadgang på alle mapper. |
| Unknown host name | Åbn HolyArrs via IP og tilføj navnet under Allowed host names. |
| Imports are copied | Mount én fælles mappe. Se Mediemapper. |
| Master key does not match | Læg den nøgle tilbage, der hører til de databaser. |
| Restore staged but the app stays down | Tilføj en genstartspolitik og start containeren. |
Glemte du at koble /config på?
Link til Glemte du at koble /config på?HolyArrs starter stadig, men advarer overalt. Alt går tabt, når containeren bliver fjernet. Gem det først:
docker stop holyarrsdocker cp holyarrs:/config ./holyarrs-configKobl derefter ./holyarrs-config:/config på (eller et navngivet volume) og genskab
containeren. På Docker Desktop (Windows og Mac) skal du bruge et navngivet volume, ikke en
værtsmappe, og kopiere data ind som vist i
Docker Desktop. En ældre opsætning kan stadig ligge
i et unavngivet volume. List dem med docker volume ls.
Se også
Link til Se ogsåHolyArrs er gratis. Hvis det sparede dig tid, kan du give det en stjerne på GitHub, sponsorere det eller give mig en kop kaffe.