Инсталација
Нов овде
Покрени HolyArrs у Docker-у и отвори га у претраживачу. Траје неколико минута.
Пре него што почнеш
Линк до Пре него што почнеш- Рачунар са Docker-ом и Docker Compose-ом.
- Твоји медија фолдери, или место где ћеш их направити. Прво прочитај Фолдери ако желиш тренутно премештање уместо копирања.
- На NAS-у, Unraid-у или Synology-ју погледај NAS, Synology и Unraid. Без Docker-а погледај Преносиве архиве.
Кораци
Линк до Кораци-
Направи фолдер за конфигурацију на локалном диску, на пример
/srv/holyarrs/config. Не на мрежном дељеном фолдеру. На Docker Desktop-у користи именовани волумен. Погледај Docker Desktop. -
Пронађи корисника и групу који су власници твојих медија фолдера:
Terminal window id youruser# uid=1000(youruser) gid=1000(youruser)Користи
uidкаоPUID, аgidкаоPGID. -
Сачувај ово као
docker-compose.ymlи промени путање: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 -
Покрени га:
Terminal window docker compose up -ddocker compose psКонтејнер се приказује као healthy чим HolyArrs одговори.
-
Отвори
http://your-server:6262и одмах направи налог власника. Не постоји подразумевана лозинка. Док га не направиш, ко први отвори HolyArrs постаје власник. -
Прати подешавање које се отвори следеће. Погледај Прво покретање.
Ако више волиш 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:latestТаг слике контејнера
Линк до Таг слике контејнера| Таг | Шта добијаш |
|---|---|
latest |
Најновија верзија |
1.0.0 (било која верзија) |
Тачно та верзија, никад се не мења |
Објашњење подешавања
Линк до Објашњење подешавањаПортови и фолдери
Линк до Портови и фолдери| Подешавање | Шта ради |
|---|---|
-p 6262:6262 |
Веб апликација. |
-v /config |
Базе података, подешавања, главни кључ, бекапи и логови. Само локални диск. |
-v /movies |
Опционо. Фолдер библиотеке за филмове. |
-v /tv |
Опционо. Фолдер библиотеке за серије. |
-v /music |
Опционо. Фолдер библиотеке за музику. |
-v /downloads |
Опционо. Фолдер за преузимања преузимача. Погледај Медија фолдери. |
--read-only=true |
Опционо. Погледај Root фајл систем само за читање. |
--user=1000:1000 |
Опционо. Погледај Покретање као фиксни корисник. |
Променљиве окружења
Линк до Променљиве окружења| Променљива | Шта ради |
|---|---|
PUID, PGID |
Корисник и група под којима ради HolyArrs. Ако их изоставиш, подразумевано су 1000 и 1000. |
TZ |
Временска зона, на пример Europe/Amsterdam. |
UMASK |
Опционо. Које битове дозвола нови фајлови изостављају, на пример 022 или 002. |
HOLYARRS_SAVE_PATH |
Опционо. Фолдер у који преузимач чува, онако како га преузимач види. |
HOLYARRS_ALLOWED_HOSTS |
Опционо. Додатна имена хоста којима људи отварају HolyArrs, раздвојена зарезима. |
HOLYARRS_TRUSTED_PROXIES |
Опционо. Адреса или мрежа твог реверс проксија. |
HOLYARRS_URL_BASE |
Опционо. Служи HolyArrs под путањом. Погледај URL база и реверс прокси. |
HOLYARRS_MASTER_KEY_FILE |
Опционо. Чита главни кључ из његовог засебног фајла. |
Свака променљива може да дође из фајла. Ставиш FILE__ испред имена, а као
вредност даш путању до фајла:
environment: - FILE__HOLYARRS_ALLOWED_HOSTS=/run/secrets/holyarrs_hostsЈедан нови ред на крају фајла се одбацује. Ово важи и за PUID, PGID,
UMASK и TZ. Ако фајл недостаје, HolyArrs се зауставља и у логу наводи
име променљиве. Вредност никад не исписује.
Слика контејнера
Линк до Слика контејнераСлика контејнера садржи HolyArrs и једва нешто више. Нема shell, па не можеш да
уђеш са docker exec и разгледаш. Уместо тога прочитај лог са
docker logs holyarrs, или отвори logs/holyarrs.log у конфигурационом фолдеру.
Команде самог HolyArrs и даље раде преко docker exec:
docker exec holyarrs /holyarrs doctordocker exec -i holyarrs /holyarrs reset-ownerdocker exec holyarrs /holyarrs restore --pre-updateСлике контејнера се праве за amd64, 64-битни ARM и 32-битни ARM. На рачунару са око 2,5 GiB меморије или мање, HolyArrs сам укључује режим мале потрошње меморије. Прва линија лога то каже.
Корисник и група
Линк до Корисник и групаКонтејнер почиње као root само да би се подесио. Када треба, даје конфигурациони
фолдер кориснику PUID:PGID, па се заувек пребацује на тог корисника. Прва
линија лога приказује корисника, групу и umask.
HolyArrs никад не мења власника твојих медија фолдера или фолдера за преузимања. Сам
дај кориснику PUID дозволу уписа у њих. Читање није довољно, јер
HolyArrs прави фолдере и премешта фајлове.
Неки простор за складиштење не може да мења власнике, као NFS са root squash-ом, SMB или
монтирање само за читање. HolyArrs тада запише упозорење и настави. Ручно подеси да
конфигурациони фолдер буде уписив за PUID:PGID.
За промену корисника потребне су дозволе CHOWN, DAC_OVERRIDE, SETUID и SETGID.
Docker их даје подразумевано. Ако их одбациш, HolyArrs се зауставља
уз поруку. Не враћа се на root. Да би заиста радио као root, постави
PUID=0 и PGID=0.
Додатне групе из group_add: остају кад HolyArrs промени корисника.
UMASK утиче само на нове фајлове. Изостави га да задржиш 022, где ти пишеш, а
остали читају. Користи 002 када и група мора да пише.
Медија фолдери
Линк до Медија фолдериМонтирај само фолдере које користиш: /movies, /tv и /music као фолдере
библиотеке, а /downloads као фолдер за преузимања.
Савет за хардлинкове (тврда веза): сваки фолдер који монтираш појединачно је засебно монтирање унутар контејнера, а фајл не може да се хардлинкује преко монтирања, па увози постану пуне копије. Ако желиш хардлинкове, уместо четири опциона монтирања можеш да монтираш један заједнички надређени фолдер (са преузимањима и фолдерима библиотеке унутар њега), а преузимачу даш исто монтирање на истој путањи. Надређени фолдер мора такође да буде један фајл систем. Одвојени NAS дељени фолдери или dataset-ови испод њега и даље праве копије. Settings > Library folders упозорава када HolyArrs мора да копира.
HOLYARRS_SAVE_PATH се шаље преузимачу уз свако преузимање, па такође
мења где преузимач чува. Изостави га да задржиш подешавање самог преузимача.
Ако га изоставиш, додај фолдер за преузимања у
Settings > Library folders > Extra import folders да би могао ручно да увезеш
из њега.
Сачувај главни кључ
Линк до Сачувај главни кључHolyArrs шифрује сачуване лозинке, кључеве и токене главним кључем. Прво
покретање прави /config/holyarrs.key.
Бекапи никад не садрже овај кључ. Чувај копију на другом месту. Лак начин: као
власник отвори Settings > Backups и изабери Download key kit (преузми комплет кључа). Да га
вратиш, назови фајл holyarrs.key и стави га у конфигурациони фолдер док
је HolyArrs заустављен. Враћање са другим кључем се одбија. Са именованим
волуменом нема фолдера који би отворио: копирај га унутра са
docker cp holyarrs.key hx:/config/ као у
Docker Desktop. Селиш се на нови рачунар? Прво врати
кључ, па онда бекап. Погледај
Бекапи.
Кључ можеш да држиш и у његовом засебном фајлу само за читање:
environment: - HOLYARRS_MASTER_KEY_FILE=/keys/holyarrs.keyvolumes: - /srv/holyarrs/keys:/keys:roФајл мора да постоји и да садржи 32 сирова бајта, 64 хекс цифре или base64 за 32
бајта. Корисник PUID мора да може да га чита.
Рестарт и враћање из бекапа
Линк до Рестарт и враћање из бекапаЗадржи политику поновног покретања. Враћање из бекапа се проверава и припрема, па HolyArrs излази
са статусом 75 да би га Docker поново покренуо и применио. unless-stopped
то решава.
Да ажурираш локалну изградњу, изгради и поново креирај без дирања монтирања:
docker build --file deploy/Dockerfile --tag holyarrs:local .docker compose up -d --force-recreateНикад не уклањај /config током ажурирања. Погледај Ажурирања
и Бекапи.
Имена хоста и реверс прокси
Линк до Имена хоста и реверс проксиIP адресе и localhost раде одмах. Кућно име као
tower.local које користиш током првог подешавања се сачува за тебе. Друга
имена додај под Allowed host names (дозвољена имена хоста) у Settings > Sign-in and security, или у
HOLYARRS_ALLOWED_HOSTS.
Када реверс прокси дода X-Forwarded-For, у HOLYARRS_TRUSTED_PROXIES стави само адресу
или мрежу проксија. Без тога не раде јединствена пријава (SSO), праве адресе клијената
и Secure колачић, а сви иза проксија деле једно ограничење пријаве. Лог наводи адресу проксија коју треба додати.
Ако испред стоји други прокси, као Cloudflare, додај и његове опсеге.
Са nginx-ом пошаљи оба заглавља:
proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;Ако се та два не слажу, HolyArrs посетиоца третира као да је ван твоје мреже.
Основе безбедности
Линк до Основе безбедности- Не прослеђуј порт 6262 на рутеру. Користи VPN као Tailscale, или реверс прокси са HTTPS-ом.
- Направи налог власника одмах после првог покретања.
- Чувај копију главног кључа даље од конфигурационог фолдера.
- Одржавај слику контејнера ажурном.
Посебна подешавања
Линк до Посебна подешавањаDocker Desktop (Windows и Mac)
Линк до Docker Desktop (Windows и Mac)Docker Desktop дели фолдере хоста кроз слој где закључавање фајлова базе података
није безбедно. HolyArrs одбија /config тамо и на порту
6262 приказује решење. Користи именовани волумен за /config. Медија фолдери могу остати фолдери хоста.
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:Да пребациш стари конфигурациони фолдер у волумен, заустави HolyArrs и изврши:
docker create --name hx -v holyarrs-config:/config holyarrs/holyarrs:latestdocker cp C:\old\config\. hx:/config/docker rm hxДа копираш бекапе напоље: docker cp holyarrs:/config/backups .
На Mac-у, ако је проверено да закључавање фајлова ради у твом фолдеру, постави
HOLYARRS_ALLOW_DESKTOP_FOLDER=1 да ипак покренеш. HolyArrs упозорава при сваком
покретању. Ово никад не укида одбијање за мрежне дељене фолдере.
Root фајл систем само за читање
Линк до Root фајл систем само за читањеСамо /config и /tmp морају бити уписиви:
services: holyarrs: read_only: true tmpfs: - /tmpPUID, PGID и UMASK и даље раде.
Покретање као фиксни корисник
Линк до Покретање као фиксни корисникservices: holyarrs: user: "1000:1000"HolyArrs тада не мења власнике, па конфигурациони фолдер мора већ бити
уписив за тог корисника. PUID и PGID се игноришу и лог то каже.
Ово покрива и Kubernetes runAsUser.
Rootless Docker и Podman
Линк до Rootless Docker и PodmanУ rootless режиму root унутар контејнера је твој корисник, а остали id-јеви
се мапирају на високе бројеве на хосту. Са PUID=1000 конфигурациони фолдер заврши као
власништво непознатог корисника на хосту.
| Шта покрећеш | docker info или podman info приказује |
Користи |
|---|---|---|
| Обичан Docker | нема rootless |
PUID и PGID као и обично |
| Rootless Docker | rootless под Security Options |
Опцију 1 |
| Rootless Podman | rootless: true |
Опцију 1 или 2 |
Опција 1. Постави PUID=0 и PGID=0. Ово је безбедно само у rootless режиму.
Никад то не ради са обичним Docker-ом или на NAS-у.
Опција 2. Podman са keep-id, као Quadlet у
~/.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.targetИли као једна команда:
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је за SELinux системе. Користи:zна фолдерима које преузимач дели. Не користи ни једно на мрежном дељеном фолдеру (NFS или SMB): не може да се поново означи и контејнер се не би покренуо.- Health check наведи као листу. Слика контејнера нема shell.
- Задржи политику поновног покретања
always. Podman-ова услуга за покретање после рестарта покреће самоalwaysконтејнере. - Да се покрене после рестарта без пријаве, једном изврши
loginctl enable-linger $USER. Затим користи Quadlet фајл, или заpodman runизвршиsystemctl --user enable podman-restart.service.
Ако фолдер већ припада високом id-ју, прво заустави контејнер, па:
- Rootless Podman:
podman unshare chown -R 0:0 ~/holyarrs/config(Опција 1) илиpodman unshare chown -R 1000:1000 ~/holyarrs/config. - Rootless Docker:
rootlesskit chown -R 0:0 ~/holyarrs/config, изврши прекоnsenterу rootless даемон (nsenter -U --preserve-credentials -n -m -t $(cat $XDG_RUNTIME_DIR/docker.pid)).
Изгради своју слику контејнера
Линк до Изгради своју слику контејнераИз HolyArrs checkout-а:
docker build --file deploy/Dockerfile --tag holyarrs:local .Затим користи holyarrs:local као слику контејнера.
Решавање проблема
Линк до Решавање проблемаПрво покрени doctor. Проверава конфигурацију, фолдере, мрежу и сат, и каже ти како да решиш сваки проблем.
- Контејнер ради:
docker exec holyarrs /holyarrs doctor - Контејнер се стално поново покреће:
docker compose run --rm holyarrs doctor
Погледај Решавање проблема за лог и пакет за подршку.
| Видиш | Уради ово |
|---|---|
| Config folder is on a shared or network folder | Користи локални диск, или именовани волумен на Docker Desktop-у. На Unraid-у користи /mnt/<pool>/appdata/holyarrs. |
| Config folder is in memory | Стави /config на диск. На Unraid-у провери да путања пула постоји. За тест рачунар, HOLYARRS_CONFIG_IN_MEMORY=yes то дозвољава. |
| Config folder cannot be written | Уклони :ro и провери да PUID:PGID поседују фолдер. |
| Disk is full | Ослободи простор на диску који држи /config, па поново покрени. |
/config is not mapped |
Погледај испод. |
| Cannot switch user | Врати четири дозволе, или користи user: "<uid>:<gid>". |
| PUID/PGID does not exist inside this container | Id-јеви су ван мапираног опсега. Погледај Rootless Docker и Podman. |
A FILE__ variable cannot be read |
Провери путању и да је фајл монтиран. |
| Permission denied | Провери PUID, PGID и дозволу уписа на свим фолдерима. |
| Unknown host name | Отвори HolyArrs преко IP адресе и додај име под Allowed host names. |
| Imports are copied | Монтирај један заједнички фолдер. Погледај Медија фолдери. |
| Master key does not match | Врати кључ који припада тим базама података. |
| Restore staged but the app stays down | Додај политику поновног покретања и покрени контејнер. |
Заборављено мапирање /config?
Линк до Заборављено мапирање /config?HolyArrs се и даље покреће, али упозорава на сваком месту. Све је изгубљено када се контејнер уклони. Прво то сачувај:
docker stop holyarrsdocker cp holyarrs:/config ./holyarrs-configЗатим мапирај ./holyarrs-config:/config (или именовани волумен) и поново креирај
контејнер. На Docker Desktop-у (Windows и Mac) користи именовани волумен, а не фолдер
хоста, и копирај податке унутра као што је приказано у
Docker Desktop. Старије подешавање можда и даље стоји
у неименованом волумену. Излистај их са docker volume ls.
Повезане странице
Линк до Повезане страницеHolyArrs је бесплатан. Ако ти је уштедео време, остави звездицу на GitHub-у, постани спонзор или купи ми кафу.