Installasjon
Ny her
Kjør HolyArrs i Docker og åpne den i nettleseren. Det tar noen minutter.
Før du begynner
Lenke til Før du begynner- En maskin med Docker og Docker Compose.
- Mediemappene dine, eller et sted å opprette dem. Les Mapper først hvis du vil ha umiddelbar flytting i stedet for kopiering.
- På en NAS, Unraid eller Synology, se NAS, Synology og Unraid. Uten Docker, se Portabel versjon.
Trinn
Lenke til Trinn-
Lag en mappe til konfigurasjonen på en lokal disk, for eksempel
/srv/holyarrs/config. Ikke en nettverksressurs. På Docker Desktop bruker du et navngitt volume i stedet. Se Docker Desktop. -
Finn brukeren og gruppen som eier mediemappene dine:
Terminal window id youruser# uid=1000(youruser) gid=1000(youruser)Bruk
uidsomPUIDoggidsomPGID. -
Lagre dette som
docker-compose.ymlog endre stiene: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 den:
Terminal window docker compose up -ddocker compose psContaineren vises som healthy når HolyArrs svarer.
-
Åpne
http://your-server:6262og opprett eierkontoen med en gang. Det finnes ikke noe standardpassord. Helt til du oppretter den, blir den som åpner HolyArrs først eieren. -
Følg oppsettet som åpnes deretter. Se Første oppstart.
Hvis du heller vil bruke 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
Lenke til Image-tag| Tag | Hva du får |
|---|---|
latest |
Den nyeste versjonen |
1.0.0 (en hvilken som helst versjon) |
Nøyaktig den versjonen, endres aldri |
Innstillinger forklart
Lenke til Innstillinger forklartPorter og mapper
Lenke til Porter og mapper| Innstilling | Hva den gjør |
|---|---|
-p 6262:6262 |
Web-appen. |
-v /config |
Databaser, innstillinger, hovednøkkelen, backuper og logger. Bare lokal disk. |
-v /movies |
Valgfri. En bibliotekmappe for filmer. |
-v /tv |
Valgfri. En bibliotekmappe for serier. |
-v /music |
Valgfri. En bibliotekmappe for musikk. |
-v /downloads |
Valgfri. Nedlastingsmappen til nedlasteren. Se Mediemapper. |
--read-only=true |
Valgfri. Se Skrivebeskyttet rotfilsystem. |
--user=1000:1000 |
Valgfri. Se Start som en fast bruker. |
Miljøvariabler
Lenke til Miljøvariabler| Variabel | Hva den gjør |
|---|---|
PUID, PGID |
Brukeren og gruppen HolyArrs kjører som. 1000 og 1000 hvis de utelates. |
TZ |
Tidssone, for eksempel Europe/Amsterdam. |
UMASK |
Valgfri. Hvilke tillatelsesbiter nye filer ikke får, for eksempel 022 eller 002. |
HOLYARRS_SAVE_PATH |
Valgfri. Nedlasterens lagringsmappe, slik nedlasteren ser den. |
HOLYARRS_ALLOWED_HOSTS |
Valgfri. Ekstra vertsnavn folk bruker for å nå HolyArrs, adskilt med komma. |
HOLYARRS_TRUSTED_PROXIES |
Valgfri. Adressen eller nettverket til reverse proxyen din. |
HOLYARRS_URL_BASE |
Valgfri. Kjør HolyArrs under en sti. Se URL base og reverse proxyer. |
HOLYARRS_MASTER_KEY_FILE |
Valgfri. Les hovednøkkelen fra en egen fil. |
Alle variabler kan komme fra en fil. Sett FILE__ foran navnet og oppgi
stien til filen som verdi:
environment: - FILE__HOLYARRS_ALLOWED_HOSTS=/run/secrets/holyarrs_hostsEtt linjeskift på slutten av filen fjernes. Dette fungerer også for PUID, PGID,
UMASK og TZ. Hvis filen mangler, stopper HolyArrs og nevner
variabelen i loggen. Verdien skrives aldri ut.
Imaget
Lenke til ImagetImaget inneholder HolyArrs og lite annet. Det har ingen shell, så du kan ikke
bruke docker exec for å se deg rundt inni det. Les loggen i stedet med
docker logs holyarrs, eller åpne logs/holyarrs.log i konfigurasjonsmappen.
HolyArrs sine egne kommandoer fungerer fortsatt gjennom docker exec:
docker exec holyarrs /holyarrs doctordocker exec -i holyarrs /holyarrs reset-ownerdocker exec holyarrs /holyarrs restore --pre-updateImager bygges for amd64, 64-bit ARM og 32-bit ARM. På en maskin med omtrent 2,5 GiB minne eller mindre slår HolyArrs på modus for lite minne av seg selv. Den første linjen i loggen sier fra om det.
Bruker og gruppe
Lenke til Bruker og gruppeContaineren starter som root bare for å sette seg opp. Den gir
konfigurasjonsmappen til PUID:PGID når det trengs, og bytter deretter til den brukeren for godt. Den
første linjen i loggen viser bruker, gruppe og umask.
HolyArrs endrer aldri eieren av medie- eller nedlastingsmappene dine. Gi
PUID-brukeren skrivetilgang til dem selv. Lesetilgang er ikke nok, fordi
HolyArrs oppretter mapper og flytter filer.
Noe lagring kan ikke endre eiere, for eksempel NFS med root squash, SMB eller en
skrivebeskyttet mount. HolyArrs logger da en advarsel og fortsetter. Gjør
konfigurasjonsmappen skrivbar for PUID:PGID for hånd.
Å bytte bruker krever egenskapene CHOWN, DAC_OVERRIDE, SETUID og SETGID
(capabilities). Docker gir dem som standard. Hvis du fjerner dem, stopper HolyArrs
med en melding. Den faller ikke tilbake til root. For å kjøre som root på ekte setter du
PUID=0 og PGID=0.
Ekstra grupper fra group_add: beholdes når HolyArrs bytter bruker.
UMASK påvirker bare nye filer. Utelat den for å beholde 022, der du skriver og
andre leser. Bruk 002 når en gruppe også må kunne skrive.
Mediemapper
Lenke til MediemapperMonter bare mappene du bruker: /movies, /tv og /music som bibliotekmapper
og /downloads som nedlastingsmappe.
Tips for hardlinks: hver mappe du monterer for seg er en egen mount inni containeren, og en fil kan ikke hardlinkes på tvers av mounter, så importer blir til fulle kopier. Hvis du vil ha hardlinks, kan du i stedet montere én felles overordnet mappe (med nedlastinger og bibliotekmapper inni) i stedet for de fire valgfrie mountene, og gi nedlasteren den samme mounten på samme sti. Den overordnede mappen må også være ett filsystem. Separate NAS-ressurser eller datasett under den gir fortsatt kopiering. Settings > Library folders advarer deg når HolyArrs må kopiere.
HOLYARRS_SAVE_PATH sendes til nedlasteren med hver nedlasting, så den
endrer også hvor nedlasteren lagrer. Utelat den for å beholde nedlasterens egen
innstilling. Hvis du utelater den, legger du til nedlastingsmappen under
Settings > Library folders > Extra import folders, så du kan importere for hånd
fra den.
Ta vare på hovednøkkelen
Lenke til Ta vare på hovednøkkelenHolyArrs krypterer lagrede passord, nøkler og tokens med en hovednøkkel. Den
første oppstarten oppretter /config/holyarrs.key.
Backuper inneholder aldri denne nøkkelen. Ta vare på en kopi et annet sted. Den enkle måten: som
eier åpner du Settings > Backups og velger Download key kit (last ned nøkkelpakke). For å legge den
tilbake, gi filen navnet holyarrs.key og plasser den i konfigurasjonsmappen mens
HolyArrs er stoppet. En gjenoppretting med en annen nøkkel avvises. Med et navngitt
volume finnes det ingen mappe å åpne: kopier den inn med
docker cp holyarrs.key hx:/config/ som i
Docker Desktop. Skal du flytte til en ny maskin? Legg
nøkkelen tilbake først, og gjenopprett deretter backupen. Se
Backuper.
Du kan også ha nøkkelen i en egen skrivebeskyttet fil:
environment: - HOLYARRS_MASTER_KEY_FILE=/keys/holyarrs.keyvolumes: - /srv/holyarrs/keys:/keys:roFilen må finnes og inneholde 32 rå bytes, 64 hex-sifre eller base64 for 32
bytes. PUID-brukeren må kunne lese den.
Omstart og gjenoppretting
Lenke til Omstart og gjenopprettingBehold en omstartspolicy. En gjenoppretting kontrolleres og klargjøres, deretter avslutter HolyArrs
med status 75, slik at Docker starter den igjen og tar gjenopprettingen i bruk. unless-stopped
ordner det.
For å oppdatere en lokal build bygger du på nytt og oppretter containeren på nytt uten å røre mountene:
docker build --file deploy/Dockerfile --tag holyarrs:local .docker compose up -d --force-recreateFjern aldri /config under en oppdatering. Se Oppdateringer
og Backuper.
Vertsnavn og reverse proxyer
Lenke til Vertsnavn og reverse proxyerIP-adresser og localhost fungerer uten videre. Et hjemmenavn som
tower.local som du bruker under første oppsett, lagres for deg. Legg til andre
navn under Allowed host names (tillatte vertsnavn) i Settings > Sign-in and security, eller i
HOLYARRS_ALLOWED_HOSTS.
Når en reverse proxy legger til X-Forwarded-For, setter du bare proxyens adresse eller
nettverk i HOLYARRS_TRUSTED_PROXIES. Uten den fungerer ikke single sign-on, ekte klientadresser
og Secure-cookien, og alle bak proxyen
deler én innloggingsgrense. Loggen nevner proxy-adressen du skal legge til. Hvis en annen
proxy står foran, for eksempel Cloudflare, legger du til adresseområdene dens også.
Med nginx sender du begge headerne:
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økende som utenfor nettverket ditt.
Grunnleggende sikkerhet
Lenke til Grunnleggende sikkerhet- Ikke videresend port 6262 på ruteren din. Bruk et VPN som Tailscale, eller en reverse proxy med HTTPS.
- Opprett eierkontoen rett etter første oppstart.
- Ta vare på en kopi av hovednøkkelen utenfor konfigurasjonsmappen.
- Hold imaget oppdatert.
Spesielle oppsett
Lenke til Spesielle oppsettDocker Desktop (Windows og Mac)
Lenke til Docker Desktop (Windows og Mac)Docker Desktop deler vertsmapper gjennom et lag der låser på databasefiler
ikke er trygge. HolyArrs avviser en /config der og viser løsningen på port
6262. Bruk et navngitt volume til /config. Mediemapper kan fortsatt være vertsmapper.
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 å flytte en gammel konfigurasjonsmappe inn i volumet stopper du HolyArrs og kjører:
docker create --name hx -v holyarrs-config:/config holyarrs/holyarrs:latestdocker cp C:\old\config\. hx:/config/docker rm hxFor å kopiere backuper ut: docker cp holyarrs:/config/backups .
På en Mac, hvis du har kontrollert at fillåser fungerer i mappen din, setter du
HOLYARRS_ALLOW_DESKTOP_FOLDER=1 for å starte likevel. HolyArrs advarer ved hver
oppstart. Dette opphever aldri avvisningen for nettverksressurser.
Skrivebeskyttet rotfilsystem
Lenke til Skrivebeskyttet rotfilsystemBare /config og /tmp må være skrivbare:
services: holyarrs: read_only: true tmpfs: - /tmpPUID, PGID og UMASK fungerer fortsatt.
Start som en fast bruker
Lenke til Start som en fast brukerservices: holyarrs: user: "1000:1000"HolyArrs endrer da ingen eiere, så konfigurasjonsmappen må allerede være
skrivbar for den brukeren. PUID og PGID ignoreres, og loggen sier fra om det.
Dette gjelder også Kubernetes runAsUser.
Rootless Docker og Podman
Lenke til Rootless Docker og PodmanI rootless-modus er root inni containeren din egen bruker, og andre ID-er
tilordnes høye tall på verten. Med PUID=1000 ender konfigurasjonsmappen opp med
å eies av en fremmed på verten.
| Du kjører | docker info eller podman info viser |
Bruk |
|---|---|---|
| Vanlig Docker | ingen rootless |
PUID og PGID som vanlig |
| Rootless Docker | rootless under Security Options |
Valg 1 |
| Rootless Podman | rootless: true |
Valg 1 eller 2 |
Valg 1. Sett PUID=0 og PGID=0. Dette er trygt bare i rootless-modus.
Gjør det aldri med vanlig 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 for systemer med SELinux. Bruk:zpå mapper nedlasteren deler. Bruk ingen av dem på en nettverksressurs (NFS eller SMB): den kan ikke merkes på nytt, og containeren ville ikke startet.- Oppgi helsesjekken som en liste. Imaget har ingen shell.
- Behold omstartspolicyen
always. Podmans tjeneste for start etter omstart starter barealways-containere. - For å starte etter en omstart uten å logge inn, kjør
loginctl enable-linger $USERén gang. Bruk deretter Quadlet-filen, eller forpodman runkjørsystemctl --user enable podman-restart.service.
Hvis mappen allerede tilhører en høy ID, stopper du containeren først og kjører deretter:
- 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, kjørt gjennomnsenterinn i rootless-daemonen (nsenter -U --preserve-credentials -n -m -t $(cat $XDG_RUNTIME_DIR/docker.pid)).
Bygg ditt eget image
Lenke til Bygg ditt eget imageFra HolyArrs-utsjekken din:
docker build --file deploy/Dockerfile --tag holyarrs:local .Bruk deretter holyarrs:local som image.
Feilsøking
Lenke til FeilsøkingKjør doctor først. Den sjekker konfigurasjonen, mapper, nettverk og klokke, og forteller deg hvordan du løser hvert problem.
- Containeren kjører:
docker exec holyarrs /holyarrs doctor - Containeren starter stadig på nytt:
docker compose run --rm holyarrs doctor
Se Feilsøking for loggen og supportpakken.
| Du ser | Gjør dette |
|---|---|
| Config folder is on a shared or network folder | Bruk en lokal disk, eller et navngitt volume på Docker Desktop. På Unraid bruker du /mnt/<pool>/appdata/holyarrs. |
| Config folder is in memory | Legg /config på en disk. På Unraid, sjekk at pool-stien finnes. På en testmaskin tillater HOLYARRS_CONFIG_IN_MEMORY=yes det. |
| Config folder cannot be written | Fjern :ro og sjekk at PUID:PGID eier mappen. |
| Disk is full | Frigjør plass på disken som har /config, og start på nytt. |
/config is not mapped |
Se nedenfor. |
| Cannot switch user | Legg tilbake de fire egenskapene, eller bruk user: "<uid>:<gid>". |
| PUID/PGID does not exist inside this container | ID-ene er utenfor det tilordnede området. Se Rootless Docker og Podman. |
A FILE__ variable cannot be read |
Sjekk stien og at filen er montert. |
| Permission denied | Sjekk PUID, PGID og skrivetilgang på alle mapper. |
| Unknown host name | Åpne HolyArrs med IP og legg til navnet under Allowed host names. |
| Imports are copied | Monter én felles mappe. Se Mediemapper. |
| Master key does not match | Legg tilbake nøkkelen som hører til de databasene. |
| Restore staged but the app stays down | Legg til en omstartspolicy og start containeren. |
Glemte du å koble til /config?
Lenke til Glemte du å koble til /config?HolyArrs starter fortsatt, men advarer overalt. Alt går tapt når containeren fjernes. Lagre det først:
docker stop holyarrsdocker cp holyarrs:/config ./holyarrs-configKoble deretter til ./holyarrs-config:/config (eller et navngitt volume) og opprett
containeren på nytt. På Docker Desktop (Windows og Mac) bruker du et navngitt volume, ikke en vertsmappe,
og kopierer dataene inn som vist i
Docker Desktop. Et eldre oppsett kan fortsatt ligge
i et navnløst volume. List dem med docker volume ls.
Relatert
Lenke til RelatertHolyArrs er gratis. Hvis det sparte deg tid, kan du gi det en stjerne på GitHub, sponse det eller spandere en kaffe.