Installera
Ny här
Kör HolyArrs i Docker och öppna det i webbläsaren. Det tar några minuter.
Innan du börjar
Länk till Innan du börjar- En dator med Docker och Docker Compose.
- Dina mediemappar, eller en plats där du kan skapa dem. Läs Mappar först om du vill att filer flyttas direkt i stället för att kopieras.
- På en NAS, Unraid eller Synology, se NAS, Synology och Unraid. Utan Docker, se Portabla arkiv.
Steg
Länk till Steg-
Skapa en mapp för konfigurationen på en lokal disk, till exempel
/srv/holyarrs/config. Inte en nätverksresurs. I Docker Desktop använder du en namngiven volym i stället. Se Docker Desktop. -
Ta reda på vilken användare och grupp som äger dina mediemappar:
Terminal window id youruser# uid=1000(youruser) gid=1000(youruser)Använd
uidsomPUIDochgidsomPGID. -
Spara det här som
docker-compose.ymloch ändra sökvägarna: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 -
Starta det:
Terminal window docker compose up -ddocker compose psContainern visas som healthy så fort HolyArrs svarar.
-
Öppna
http://your-server:6262och skapa ägarkontot direkt. Det finns inget standardlösenord. Tills du har skapat det blir den som öppnar HolyArrs först ägare. -
Följ konfigurationen som öppnas härnäst. Se Första start.
Om du hellre vill använda 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
Länk till Image-tag| Tag | Vad du får |
|---|---|
latest |
Den senaste versionen |
1.0.0 (valfri version) |
Exakt den versionen, ändras aldrig |
Inställningarna förklarade
Länk till Inställningarna förklaradePortar och mappar
Länk till Portar och mappar| Inställning | Vad den gör |
|---|---|
-p 6262:6262 |
Webbappen. |
-v /config |
Databaser, inställningar, huvudnyckeln, backuper och loggar. Endast lokal disk. |
-v /movies |
Valfri. En biblioteksmapp för filmer. |
-v /tv |
Valfri. En biblioteksmapp för serier. |
-v /music |
Valfri. En biblioteksmapp för musik. |
-v /downloads |
Valfri. Nedladdarens mapp för nedladdningar. Se Mediemappar. |
--read-only=true |
Valfri. Se Skrivskyddat rootfilsystem. |
--user=1000:1000 |
Valfri. Se Starta som fast användare. |
Miljövariabler
Länk till Miljövariabler| Variabel | Vad den gör |
|---|---|
PUID, PGID |
Användaren och gruppen som HolyArrs körs som. 1000 och 1000 om de utelämnas. |
TZ |
Tidszon, till exempel Europe/Amsterdam. |
UMASK |
Valfri. Vilka behörighetsbitar nya filer inte får, till exempel 022 eller 002. |
HOLYARRS_SAVE_PATH |
Valfri. Nedladdarens sparmapp, så som nedladdaren ser den. |
HOLYARRS_ALLOWED_HOSTS |
Valfri. Extra värdnamn som folk använder för att nå HolyArrs, kommaseparerade. |
HOLYARRS_TRUSTED_PROXIES |
Valfri. Adressen eller nätverket för din reverse proxy. |
HOLYARRS_URL_BASE |
Valfri. Kör HolyArrs under en sökväg. Se URL base och reverse proxies. |
HOLYARRS_MASTER_KEY_FILE |
Valfri. Läs huvudnyckeln från en egen fil. |
Vilken variabel som helst kan komma från en fil. Sätt FILE__ framför namnet och
ange filens sökväg som värde:
environment: - FILE__HOLYARRS_ALLOWED_HOSTS=/run/secrets/holyarrs_hostsEn radbrytning i slutet av filen tas bort. Det gäller även PUID, PGID,
UMASK och TZ. Om filen saknas stoppar HolyArrs och nämner
variabeln i loggen. Värdet skrivs aldrig ut.
Imagen
Länk till ImagenImagen innehåller HolyArrs och i stort sett inget mer. Den har inget shell, så du kan inte
köra docker exec in i den för att titta runt. Läs loggen i stället med
docker logs holyarrs, eller öppna logs/holyarrs.log i konfigurationsmappen.
HolyArrs egna kommandon fungerar fortfarande via docker exec:
docker exec holyarrs /holyarrs doctordocker exec -i holyarrs /holyarrs reset-ownerdocker exec holyarrs /holyarrs restore --pre-updateImager byggs för amd64, 64-bitars ARM och 32-bitars ARM. På en dator med ungefär 2,5 GiB minne eller mindre slår HolyArrs på läget för lite minne av sig självt. Den första loggraden berättar det.
Användare och grupp
Länk till Användare och gruppContainern startar som root bara för att konfigurera sig själv. Den ger
konfigurationsmappen till PUID:PGID vid behov och byter sedan till den användaren för gott. Den
första loggraden visar användare, grupp och umask.
HolyArrs ändrar aldrig ägare på dina media- eller nedladdningsmappar. Ge
PUID-användaren skrivrättigheter till dem själv. Läsrättigheter räcker inte, eftersom
HolyArrs skapar mappar och flyttar filer.
Viss lagring kan inte byta ägare, till exempel NFS med root squash, SMB eller en
skrivskyddad montering. HolyArrs loggar då en varning och fortsätter. Gör konfigurationsmappen
skrivbar för PUID:PGID för hand.
För att byta användare krävs behörigheterna CHOWN, DAC_OVERRIDE, SETUID och SETGID.
Docker ger dem som standard. Om du tar bort dem stoppar HolyArrs
med ett meddelande. Det faller inte tillbaka på root. Om du verkligen vill köra som root, sätt
PUID=0 och PGID=0.
Extra grupper från group_add: behålls när HolyArrs byter användare.
UMASK påverkar bara nya filer. Utelämna den för att behålla 022, där du skriver och
andra läser. Använd 002 när en grupp också ska kunna skriva.
Mediemappar
Länk till MediemapparMontera bara mapparna du använder: /movies, /tv och /music som biblioteksmappar
och /downloads som nedladdningsmapp.
Tips för hardlinks (hård länk): varje mapp du monterar för sig är en egen montering inuti containern, och en fil kan inte hardlinkas mellan monteringar, så importer blir fullständiga kopior. Om du vill ha hardlinks kan du montera en gemensam överordnad mapp (med nedladdningar och biblioteksmappar inuti) i stället för de fyra valfria monteringarna, och ge nedladdaren samma montering på samma sökväg. Den överordnade mappen måste dessutom vara ett enda filsystem. Separata NAS-resurser eller datasets under den kopierar fortfarande. Settings > Library folders (inställningar > biblioteksmappar) varnar dig när HolyArrs måste kopiera.
HOLYARRS_SAVE_PATH skickas till nedladdaren med varje nedladdning, så den ändrar också
var nedladdaren sparar. Utelämna den för att behålla nedladdarens egen
inställning. Om du utelämnar den, lägg till nedladdningsmappen under
Settings > Library folders > Extra import folders (extra importmappar) så att du kan importera för hand
från den.
Behåll huvudnyckeln
Länk till Behåll huvudnyckelnHolyArrs krypterar sparade lösenord, nycklar och token med en huvudnyckel. Den
första starten skapar /config/holyarrs.key.
Backuper innehåller aldrig den här nyckeln. Spara en kopia någon annanstans. Det enkla sättet: som
ägare öppnar du Settings > Backups (inställningar > backuper) och väljer Download key kit (ladda ner nyckelpaketet). För att lägga
tillbaka den döper du filen till holyarrs.key och lägger den i konfigurationsmappen medan
HolyArrs är stoppat. En återställning med en annan nyckel avvisas. Med en namngiven
volym finns det ingen mapp att öppna: kopiera in den med
docker cp holyarrs.key hx:/config/ som i
Docker Desktop. Flyttar du till en ny dator? Lägg
tillbaka nyckeln först och återställ sedan backupen. Se
Backuper.
Du kan också behålla nyckeln i en egen skrivskyddad fil:
environment: - HOLYARRS_MASTER_KEY_FILE=/keys/holyarrs.keyvolumes: - /srv/holyarrs/keys:/keys:roFilen måste finnas och innehålla 32 råa bytes, 64 hexsiffror eller base64 för 32
bytes. PUID-användaren måste kunna läsa den.
Omstart och återställning
Länk till Omstart och återställningBehåll en omstartspolicy. En återställning kontrolleras och förbereds, sedan avslutas HolyArrs
med status 75 så att Docker startar det igen och tillämpar den. unless-stopped
klarar det.
För att uppdatera ett lokalt bygge bygger du om och skapar om containern utan att röra monteringarna:
docker build --file deploy/Dockerfile --tag holyarrs:local .docker compose up -d --force-recreateTa aldrig bort /config under en uppdatering. Se Uppdateringar
och Backuper.
Värdnamn och reverse proxies
Länk till Värdnamn och reverse proxiesIP-adresser och localhost fungerar direkt. Ett hemmanamn som
tower.local som du använder vid första konfigurationen sparas åt dig. Lägg till andra
namn under Allowed host names (tillåtna värdnamn) i Settings > Sign-in and security (inställningar > inloggning och säkerhet), eller i
HOLYARRS_ALLOWED_HOSTS.
När en reverse proxy lägger till X-Forwarded-For anger du bara proxyns adress eller
nätverk i HOLYARRS_TRUSTED_PROXIES. Utan den fungerar inte single sign-on, riktiga klientadresser och Secure-cookien, och alla bakom proxyn
delar på en inloggningsgräns. Loggen nämner proxyadressen du ska lägga till. Om en annan
proxy står framför, till exempel Cloudflare, lägg till dess intervall också.
Med nginx skickar du båda headrarna:
proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;Om de två inte stämmer överens ser HolyArrs besökaren som utanför ditt nätverk.
Grundläggande säkerhet
Länk till Grundläggande säkerhet- Vidarebefordra inte port 6262 på din router. Använd ett VPN som Tailscale, eller en reverse proxy med HTTPS.
- Skapa ägarkontot direkt efter den första starten.
- Spara en kopia av huvudnyckeln på en annan plats än konfigurationsmappen.
- Håll imagen uppdaterad.
Särskilda upplägg
Länk till Särskilda uppläggDocker Desktop (Windows och Mac)
Länk till Docker Desktop (Windows och Mac)Docker Desktop delar värdmappar genom ett lager där fillås för databaser
inte är säkra. HolyArrs avvisar en /config där och visar lösningen på port
6262. Använd en namngiven volym för /config. Mediemappar kan förbli värdmappar.
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:För att flytta en gammal konfigurationsmapp in i volymen stoppar du HolyArrs och kör:
docker create --name hx -v holyarrs-config:/config holyarrs/holyarrs:latestdocker cp C:\old\config\. hx:/config/docker rm hxFör att kopiera ut backuper: docker cp holyarrs:/config/backups .
På en Mac, om du har kontrollerat att fillås fungerar i din mapp, sätt
HOLYARRS_ALLOW_DESKTOP_FOLDER=1 för att starta ändå. HolyArrs varnar vid varje
start. Det här häver aldrig avvisningen för nätverksresurser.
Skrivskyddat rootfilsystem
Länk till Skrivskyddat rootfilsystemBara /config och /tmp behöver vara skrivbara:
services: holyarrs: read_only: true tmpfs: - /tmpPUID, PGID och UMASK fungerar fortfarande.
Starta som fast användare
Länk till Starta som fast användareservices: holyarrs: user: "1000:1000"HolyArrs ändrar då inga ägare, så konfigurationsmappen måste redan vara
skrivbar för den användaren. PUID och PGID ignoreras och loggen säger det.
Det här gäller även Kubernetes runAsUser.
Rootless Docker och Podman
Länk till Rootless Docker och PodmanI rootless-läge är root inuti containern din egen användare, och andra id:n
mappas till höga nummer på värden. Med PUID=1000 hamnar konfigurationsmappen
hos en främling på värden.
| Du kör | docker info eller podman info visar |
Använd |
|---|---|---|
| Vanlig Docker | inget rootless |
PUID och PGID som vanligt |
| Rootless Docker | rootless under Security Options |
Alternativ 1 |
| Rootless Podman | rootless: true |
Alternativ 1 eller 2 |
Alternativ 1. Sätt PUID=0 och PGID=0. Det här är säkert bara i rootless-läge.
Gör det aldrig med vanlig Docker eller på en NAS.
Alternativ 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 ett enda 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:Zär för SELinux-system. Använd:zpå mappar som nedladdaren delar. Använd ingetdera på en nätverksresurs (NFS eller SMB): den kan inte märkas om och containern skulle inte starta.- Ange hälsokontrollen som en lista. Imagen har inget shell.
- Behåll omstartspolicyn
always. Podmans tjänst för start efter omstart startar baraalways-containrar. - För att starta efter en omstart utan att logga in kör du
loginctl enable-linger $USERen gång. Använd sedan Quadlet-filen, eller förpodman runkörsystemctl --user enable podman-restart.service.
Om mappen redan tillhör ett högt id stoppar du containern först och kör sedan:
- Rootless Podman:
podman unshare chown -R 0:0 ~/holyarrs/config(alternativ 1) ellerpodman unshare chown -R 1000:1000 ~/holyarrs/config. - Rootless Docker:
rootlesskit chown -R 0:0 ~/holyarrs/config, kört viansenterin i rootless-daemonen (nsenter -U --preserve-credentials -n -m -t $(cat $XDG_RUNTIME_DIR/docker.pid)).
Bygg din egen image
Länk till Bygg din egen imageFrån din HolyArrs-utcheckning:
docker build --file deploy/Dockerfile --tag holyarrs:local .Använd sedan holyarrs:local som image.
Felsökning
Länk till FelsökningKör doctor först. Den kontrollerar konfigurationen, mapparna, nätverket och klockan och berättar hur du åtgärdar varje problem.
- Containern körs:
docker exec holyarrs /holyarrs doctor - Containern startar om hela tiden:
docker compose run --rm holyarrs doctor
Se Felsökning för loggen och supportpaketet.
| Du ser | Gör så här |
|---|---|
| Config folder is on a shared or network folder | Använd en lokal disk, eller en namngiven volym i Docker Desktop. På Unraid använd /mnt/<pool>/appdata/holyarrs. |
| Config folder is in memory | Lägg /config på en disk. På Unraid, kontrollera att poolens sökväg finns. För en testmaskin tillåter HOLYARRS_CONFIG_IN_MEMORY=yes det. |
| Config folder cannot be written | Ta bort :ro och kontrollera att PUID:PGID äger mappen. |
| Disk is full | Frigör utrymme på disken som innehåller /config och starta sedan om. |
/config is not mapped |
Se nedan. |
| Cannot switch user | Lägg tillbaka de fyra behörigheterna, eller använd user: "<uid>:<gid>". |
| PUID/PGID does not exist inside this container | Id:na ligger utanför det mappade intervallet. Se Rootless Docker och Podman. |
A FILE__ variable cannot be read |
Kontrollera sökvägen och att filen är monterad. |
| Permission denied | Kontrollera PUID, PGID och skrivrättigheter på alla mappar. |
| Unknown host name | Öppna HolyArrs via IP och lägg till namnet under Allowed host names. |
| Imports are copied | Montera en gemensam mapp. Se Mediemappar. |
| Master key does not match | Lägg tillbaka nyckeln som hör till de databaserna. |
| Restore staged but the app stays down | Lägg till en omstartspolicy och starta containern. |
Glömde du mappa /config?
Länk till Glömde du mappa /config?HolyArrs startar ändå, men varnar överallt. Allt går förlorat när containern tas bort. Spara det först:
docker stop holyarrsdocker cp holyarrs:/config ./holyarrs-configMappa sedan ./holyarrs-config:/config (eller en namngiven volym) och skapa om
containern. I Docker Desktop (Windows och Mac) använder du en namngiven volym, inte en värdmapp, och kopierar in datan som visas i
Docker Desktop. Ett äldre upplägg kan fortfarande ligga
i en onamngiven volym. Lista dem med docker volume ls.
Relaterat
Länk till RelateratHolyArrs är gratis. Om det sparade dig tid kan du ge det en stjärna på GitHub, sponsra det eller bjuda mig på en kaffe.