Pāriet uz saturu

Uzstādīšana

Jauns šeit

Palaid HolyArrs Docker vidē un atver to pārlūkā. Tas aizņem dažas minūtes.

  • Dators ar Docker un Docker Compose.
  • Tavas multivides mapes vai vieta, kur tās izveidot. Ja gribi tūlītēju pārvietošanu kopēšanas vietā, vispirms izlasi Mapes.
  • NAS, Unraid vai Synology ierīcē skaties NAS, Synology un Unraid. Bez Docker skaties Pārnēsājamie arhīvi.
  1. Izveido konfigurācijas mapi vietējā diskā, piemēram, /srv/holyarrs/config. Ne tīkla koplietojumā. Docker Desktop vidē tā vietā izmanto nosaukto sējumu (volume). Skaties Docker Desktop.

  2. Uzzini lietotāju un grupu, kam pieder tavas multivides mapes:

    Terminal window
    id youruser
    # uid=1000(youruser) gid=1000(youruser)

    Izmanto uid kā PUID un gid kā PGID.

  3. Saglabā šo kā docker-compose.yml un nomaini ceļus:

    name: holyarrs
    services:
    holyarrs:
    image: holyarrs/holyarrs:latest
    container_name: holyarrs
    environment:
    - PUID=1000
    - PGID=1000
    - TZ=Etc/UTC
    volumes:
    - /srv/holyarrs/config:/config
    - /path/to/movies:/movies #optional
    - /path/to/tv:/tv #optional
    - /path/to/music:/music #optional
    - /path/to/downloads:/downloads #optional
    ports:
    - 6262:6262
    restart: unless-stopped
  4. Palaid to:

    Terminal window
    docker compose up -d
    docker compose ps

    Konteiners tiek rādīts kā veselīgs (healthy), tiklīdz HolyArrs atbild.

  5. Atver http://your-server:6262 un uzreiz izveido īpašnieka kontu. Noklusējuma paroles nav. Kamēr tu to neizveido, pirmais, kas atver HolyArrs, kļūst par īpašnieku.

  6. Veic iestatīšanu, kas atveras tālāk. Skaties Pirmā palaišana.

Ja vēlies docker run:

Terminal window
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:latest
Birka Ko tu saņem
latest Jaunāko versiju
1.0.0 (jebkura versija) Tieši šo versiju, tā nekad nemainās

Iestatījumu skaidrojums

Saite uz Iestatījumu skaidrojums
Iestatījums Ko tas dara
-p 6262:6262 Tīmekļa lietotne.
-v /config Datubāzes, iestatījumi, galvenā atslēga, dublējumi un žurnāli. Tikai vietējs disks.
-v /movies Neobligāts. Filmu bibliotēkas mape.
-v /tv Neobligāts. Seriālu bibliotēkas mape.
-v /music Neobligāts. Mūzikas bibliotēkas mape.
-v /downloads Neobligāts. Lejupielādētāja lejupielāžu mape. Skaties Multivides mapes.
--read-only=true Neobligāts. Skaties Tikai lasāma saknes failu sistēma.
--user=1000:1000 Neobligāts. Skaties Palaišana ar fiksētu lietotāju.
Mainīgais Ko tas dara
PUID, PGID Lietotājs un grupa, ar kuru darbojas HolyArrs. Ja izlaid, ir 1000 un 1000.
TZ Laika josla, piemēram, Europe/Amsterdam.
UMASK Neobligāts. Kuras atļauju daļas jauni faili neiegūst, piemēram, 022 vai 002.
HOLYARRS_SAVE_PATH Neobligāts. Lejupielādētāja saglabāšanas mape tā, kā to redz lejupielādētājs.
HOLYARRS_ALLOWED_HOSTS Neobligāts. Papildu resursdatoru nosaukumi, ar kuriem cilvēki sasniedz HolyArrs, atdalīti ar komatiem.
HOLYARRS_TRUSTED_PROXIES Neobligāts. Tava reversā starpniekservera adrese vai tīkls.
HOLYARRS_URL_BASE Neobligāts. Pasniedz HolyArrs zem ceļa. Skaties URL base un reversie starpniekserveri.
HOLYARRS_MASTER_KEY_FILE Neobligāts. Nolasa galveno atslēgu no atsevišķa faila.

Jebkurš mainīgais var nākt no faila. Priekšā mainīgā nosaukumam pieliec FILE__ un kā vērtību norādi faila ceļu:

environment:
- FILE__HOLYARRS_ALLOWED_HOSTS=/run/secrets/holyarrs_hosts

Viena rindas beigu zīme faila beigās tiek atmesta. Tas darbojas arī ar PUID, PGID, UMASK un TZ. Ja faila nav, HolyArrs apstājas un žurnālā (log) nosauc mainīgo. Vērtību tas nekad neizdrukā.

Attēlā (image) ir HolyArrs un gandrīz nekas cits. Tajā nav shell, tāpēc nevar ar docker exec ieiet iekšā un paskatīties apkārt. Tā vietā lasi žurnālu ar docker logs holyarrs vai atver logs/holyarrs.log konfigurācijas mapē.

Paša HolyArrs komandas ar docker exec joprojām darbojas:

Terminal window
docker exec holyarrs /holyarrs doctor
docker exec -i holyarrs /holyarrs reset-owner
docker exec holyarrs /holyarrs restore --pre-update

Attēli ir veidoti amd64, 64 bitu ARM un 32 bitu ARM arhitektūrai. Datorā ar aptuveni 2.5 GiB atmiņas vai mazāk HolyArrs pats ieslēdz zemas atmiņas režīmu. Pirmā žurnāla rinda to norāda.

Lietotājs un grupa

Saite uz Lietotājs un grupa

Konteiners palaižas kā root tikai tāpēc, lai sevi sagatavotu. Vajadzības gadījumā tas nodod konfigurācijas mapi lietotājam PUID:PGID, tad uz visiem laikiem pārslēdzas uz šo lietotāju. Pirmā žurnāla rinda rāda lietotāju, grupu un umask.

HolyArrs nekad nemaina tavu multivides vai lejupielāžu mapju īpašnieku. Dod PUID lietotājam rakstīšanas atļauju uz tām pats. Ar lasīšanas atļauju nepietiek, jo HolyArrs veido mapes un pārvieto failus.

Dažās glabātuvēs īpašniekus nomainīt nevar, piemēram, NFS ar root squash, SMB vai tikai lasāms montējums. Tad HolyArrs ieraksta brīdinājumu un turpina darbu. Padari konfigurācijas mapi rakstāmu lietotājam PUID:PGID pats.

Lietotāja maiņai vajadzīgas CHOWN, DAC_OVERRIDE, SETUID un SETGID iespējas. Docker tās dod pēc noklusējuma. Ja tās noņem, HolyArrs apstājas ar ziņojumu. Tas neatgriežas pie root. Lai tiešām darbotos kā root, iestati PUID=0 un PGID=0.

Papildu grupas no group_add: tiek saglabātas, kad HolyArrs maina lietotāju.

UMASK ietekmē tikai jaunus failus. Izlaid to, lai paliktu 022, kur tu raksti, bet citi lasa. Izmanto 002, kad arī grupai jāspēj rakstīt.

Montē tikai tās mapes, ko izmanto: /movies, /tv un /music kā bibliotēkas mapes un /downloads kā lejupielāžu mapi.

Padoms par hardlink (cietā saite): katra atsevišķi montētā mape konteinerā ir atsevišķs montējums, un failu nevar sasaistīt ar cieto saiti starp montējumiem, tāpēc importi kļūst par pilnām kopijām. Ja gribi cietās saites, četru neobligāto montējumu vietā vari montēt vienu kopīgu augšējo mapi (ar lejupielādēm un bibliotēkas mapēm tajā), un dot lejupielādētājam to pašu montējumu ar to pašu ceļu. Augšējai mapei jāatrodas arī vienā failu sistēmā. Atsevišķi NAS koplietojumi vai datu kopas zem tās joprojām kopē. Settings (iestatījumi) > Library folders (bibliotēkas mapes) brīdina tevi, kad HolyArrs ir jākopē.

HOLYARRS_SAVE_PATH tiek nosūtīts lejupielādētājam ar katru lejupielādi, tāpēc tas arī maina vietu, kur lejupielādētājs saglabā. Izlaid to, lai paliktu lejupielādētāja pašu iestatījums. Ja to izlaid, pievieno lejupielāžu mapi sadaļā Settings > Library folders > Extra import folders (papildu importa mapes), lai varētu importēt no tās ar roku.

Saglabā galveno atslēgu

Saite uz Saglabā galveno atslēgu

HolyArrs šifrē saglabātās paroles, atslēgas un tokenus ar galveno atslēgu. Pirmajā palaišanā tiek izveidots /config/holyarrs.key.

Dublējumos šīs atslēgas nekad nav. Glabā kopiju citur. Vieglākais veids: kā īpašnieks atver Settings > Backups (dublējumi) un izvēlies Download key kit (lejupielādēt atslēgu komplektu). Lai to atjaunotu, nosauc failu holyarrs.key un ievieto to konfigurācijas mapē, kamēr HolyArrs ir apturēts. Atjaunošana ar citu atslēgu tiek noraidīta. Ar nosauktu sējumu nav mapes, ko atvērt: iekopē to ar docker cp holyarrs.key hx:/config/, kā aprakstīts sadaļā Docker Desktop. Pārej uz jaunu datoru? Vispirms ieliec atslēgu atpakaļ, tad atjauno dublējumu. Skaties Dublējumi.

Atslēgu vari glabāt arī savā tikai lasāmā failā:

environment:
- HOLYARRS_MASTER_KEY_FILE=/keys/holyarrs.key
volumes:
- /srv/holyarrs/keys:/keys:ro

Failam jāeksistē un jāsatur 32 neapstrādāti baiti, 64 heksadecimālie cipari vai base64 32 baitiem. PUID lietotājam jāspēj to lasīt.

Restartēšana un atjaunošana

Saite uz Restartēšana un atjaunošana

Saglabā restartēšanas politiku. Atjaunošana tiek pārbaudīta un sagatavota, tad HolyArrs iziet ar statusu 75, lai Docker to palaistu vēlreiz un pielietotu. unless-stopped to nodrošina.

Lai atjauninātu vietēju būvējumu, pārbūvē un izveido no jauna, neskarot montējumus:

Terminal window
docker build --file deploy/Dockerfile --tag holyarrs:local .
docker compose up -d --force-recreate

Atjaunināšanas laikā nekad nedzēs /config. Skaties Atjauninājumi un Dublējumi.

Resursdatoru nosaukumi un reversie starpniekserveri

Saite uz Resursdatoru nosaukumi un reversie starpniekserveri

IP adreses un localhost darbojas uzreiz. Mājas nosaukums, piemēram, tower.local, ko izmanto pirmās iestatīšanas laikā, tiek saglabāts tavā vietā. Citus nosaukumus pievieno sadaļā Allowed host names (atļautie resursdatoru nosaukumi) Settings > Sign-in and security, vai HOLYARRS_ALLOWED_HOSTS.

Kad reversais starpniekserveris pievieno X-Forwarded-For, iekļauj tikai starpniekservera adresi vai tīklu HOLYARRS_TRUSTED_PROXIES. Bez tā vienotā pieteikšanās, īstās klientu adreses un Secure sīkfails nedarbojas, un visi aiz starpniekservera izmanto vienu kopīgu pieteikšanās limitu. Žurnāls nosauc starpniekservera adresi, ko pievienot. Ja priekšā ir cits starpniekserveris, piemēram, Cloudflare, pievieno arī tā diapazonus.

Ar nginx sūti abas galvenes:

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

Ja abas atšķiras, HolyArrs apmeklētāju uzskata par esošu ārpus tava tīkla.

  • Nepārsūti portu 6262 uz āru savā maršrutētājā. Izmanto VPN, piemēram, Tailscale, vai reverso starpniekserveri ar HTTPS.
  • Izveido īpašnieka kontu uzreiz pēc pirmās palaišanas.
  • Glabā galvenās atslēgas kopiju tālāk no konfigurācijas mapes.
  • Uzturi attēlu atjauninātu.

Īpašie iestatījumi

Saite uz Īpašie iestatījumi

Docker Desktop (Windows un Mac)

Saite uz Docker Desktop (Windows un Mac)

Docker Desktop koplieto resursdatora mapes caur slāni, kurā datubāzes failu bloķēšana nav droša. HolyArrs tur noraida /config un rāda risinājumu portā 6262. Izmanto nosaukto sējumu /config. Multivides mapes var palikt resursdatora mapes.

name: holyarrs
services:
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:

Lai pārvietotu veco konfigurācijas mapi sējumā, aptur HolyArrs un izpildi:

Terminal window
docker create --name hx -v holyarrs-config:/config holyarrs/holyarrs:latest
docker cp C:\old\config\. hx:/config/
docker rm hx

Lai izkopētu dublējumus: docker cp holyarrs:/config/backups .

Mac datorā, ja esi pārbaudījis, ka failu bloķēšana tavā mapē darbojas, iestati HOLYARRS_ALLOW_DESKTOP_FOLDER=1, lai tik un tā palaistu. HolyArrs brīdina katrā palaišanā. Tas nekad neatceļ noraidījumu tīkla koplietojumiem.

Tikai lasāma saknes failu sistēma

Saite uz Tikai lasāma saknes failu sistēma

Rakstāmiem jābūt tikai /config un /tmp:

services:
holyarrs:
read_only: true
tmpfs:
- /tmp

PUID, PGID un UMASK joprojām darbojas.

Palaišana ar fiksētu lietotāju

Saite uz Palaišana ar fiksētu lietotāju
services:
holyarrs:
user: "1000:1000"

Tad HolyArrs nemaina nevienu īpašnieku, tāpēc konfigurācijas mapei jau jābūt rakstāmai šim lietotājam. PUID un PGID tiek ignorēti, un žurnāls to norāda. Tas attiecas arī uz Kubernetes runAsUser.

Rootless Docker un Podman

Saite uz Rootless Docker un Podman

Rootless režīmā root konteinerā ir tavs paša lietotājs, bet citi id resursdatorā kļūst par lieliem skaitļiem. Ar PUID=1000 konfigurācijas mape beigās pieder svešiniekam resursdatorā.

Tu palaid docker info vai podman info rāda Izmanto
Parasts Docker nav rootless PUID un PGID kā parasti
Rootless Docker rootless zem Security Options 1. variantu
Rootless Podman rootless: true 1. vai 2. variantu

1. variants. Iestati PUID=0 un PGID=0. Tas ir drošs tikai rootless režīmā. Nekad tā nedari ar parasto Docker vai NAS ierīcē.

2. variants. Podman ar keep-id kā Quadlet failā ~/.config/containers/systemd/holyarrs.container:

[Container]
Image=holyarrs/holyarrs:latest
UserNS=keep-id
User=%U:%G
Volume=%h/holyarrs/config:/config:Z
PublishPort=6262:6262
HealthCmd=["/holyarrs","-healthcheck"]
HealthInterval=30s
[Service]
Restart=always
[Install]
WantedBy=default.target

Vai kā vienu komandu:

Terminal window
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 ir paredzēts SELinux sistēmām. Izmanto :z mapēm, ko koplieto lejupielādētājs. Tīkla koplietojumā (NFS vai SMB) neizmanto nevienu no tiem: to nevar pārmarķēt, un konteiners nepalaistos.
  • Veselības pārbaudi dod kā sarakstu. Attēlā nav shell.
  • Restartēšanas politika paliek always. Podman pakalpojums, kas palaiž pēc restartēšanas, palaiž tikai always konteinerus.
  • Lai palaistos pēc restartēšanas bez pieteikšanās, vienreiz izpildi loginctl enable-linger $USER. Pēc tam izmanto Quadlet failu, vai arī podman run gadījumā izpildi systemctl --user enable podman-restart.service.

Ja mape jau pieder augstam id, vispirms aptur konteineru, tad:

  • Rootless Podman: podman unshare chown -R 0:0 ~/holyarrs/config (1. variants) vai podman unshare chown -R 1000:1000 ~/holyarrs/config.
  • Rootless Docker: rootlesskit chown -R 0:0 ~/holyarrs/config, izpildīts caur nsenter rootless dēmonā (nsenter -U --preserve-credentials -n -m -t $(cat $XDG_RUNTIME_DIR/docker.pid)).

Uzbūvē savu attēlu

Saite uz Uzbūvē savu attēlu

No HolyArrs pirmkoda mapes:

Terminal window
docker build --file deploy/Dockerfile --tag holyarrs:local .

Pēc tam kā attēlu izmanto holyarrs:local.

Problēmu novēršana

Saite uz Problēmu novēršana

Vispirms palaid doctor. Tas pārbauda konfigurāciju, mapes, tīklu un pulksteni un pasaka, kā labot katru problēmu.

  • Konteiners darbojas: docker exec holyarrs /holyarrs doctor
  • Konteiners nepārtraukti restartējas: docker compose run --rm holyarrs doctor

Par žurnālu un atbalsta pakotni skaties Problēmu novēršana.

Tu redzi Dari šo
Config folder is on a shared or network folder Izmanto vietējo disku vai nosaukto sējumu Docker Desktop vidē. Unraid sistēmā izmanto /mnt/<pool>/appdata/holyarrs.
Config folder is in memory Novieto /config diskā. Unraid sistēmā pārbaudi, vai pūla ceļš eksistē. Testa datoram to atļauj HOLYARRS_CONFIG_IN_MEMORY=yes.
Config folder cannot be written Noņem :ro un pārbaudi, vai mapei piederi PUID:PGID.
Disk is full Atbrīvo vietu diskā, kurā ir /config, tad restartē.
/config is not mapped Skaties zemāk.
Cannot switch user Pievieno atpakaļ četras iespējas vai izmanto user: "<uid>:<gid>".
PUID/PGID does not exist inside this container Id ir ārpus piesaistītā diapazona. Skaties Rootless Docker un Podman.
A FILE__ variable cannot be read Pārbaudi ceļu un to, vai fails ir samontēts.
Permission denied Pārbaudi PUID, PGID un rakstīšanas atļauju visās mapēs.
Unknown host name Atver HolyArrs pēc IP un pievieno nosaukumu sadaļā Allowed host names.
Imports are copied Samontē vienu kopīgu mapi. Skaties Multivides mapes.
Master key does not match Ieliec atpakaļ atslēgu, kas pieder šīm datubāzēm.
Restore staged but the app stays down Pievieno restartēšanas politiku un palaid konteineru.

Aizmirsi piesaistīt /config?

Saite uz Aizmirsi piesaistīt /config?

HolyArrs tik un tā palaižas, bet visur brīdina. Viss tiek zaudēts, kad konteiners tiek noņemts. Vispirms saglabā to:

Terminal window
docker stop holyarrs
docker cp holyarrs:/config ./holyarrs-config

Pēc tam piesaisti ./holyarrs-config:/config (vai nosaukto sējumu) un izveido konteineru no jauna. Docker Desktop vidē (Windows un Mac) izmanto nosaukto sējumu, nevis resursdatora mapi, un iekopē datus, kā parādīts sadaļā Docker Desktop. Vecāka uzstādīšana var joprojām atrasties nenosauktā sējumā. Uzskaiti tos ar docker volume ls.

HolyArrs ir bezmaksas. Ja tas ietaupīja tavu laiku, atzīmē to ar zvaigznīti GitHub, atbalsti to vai uzcienā mani ar kafiju.