ข้ามไปยังเนื้อหา

การแก้ปัญหา

มือใหม่

หาอาการของคุณ อ่านสาเหตุ แล้วทำตามวิธีแก้ ตัวอย่างใช้ชื่อ Container ว่า holyarrs ถ้าของคุณชื่ออื่นให้ใช้ชื่อนั้น

  1. ดู Log: docker logs -f holyarrs ความลับจะถูกปิดบังไว้ กด Ctrl+C เพื่อเลิกติดตาม Container ยังทำงานต่อ
  2. รัน doctor: docker exec holyarrs /holyarrs doctor ทุกบรรทัดจะบอก OK, WARN หรือ FAIL และทุก WARN หรือ FAIL จะบอกวิธีแก้
  3. ยังติดอยู่? ดาวน์โหลดชุดข้อมูลสำหรับขอความช่วยเหลือแล้วถามได้เลย ดู ขอความช่วยเหลือ

อาการ: เบราว์เซอร์เชื่อมต่อ http://your-server:6262 ไม่ได้

สาเหตุ: Container หยุดอยู่ ยังไม่ได้แมป port หรือมี proxy ขวางอยู่

วิธีแก้:

  1. รัน docker ps ควรเห็น holyarrs พร้อม 0.0.0.0:6262->6262
  2. ถ้ารีสตาร์ตซ้ำไปมา ให้อ่านเหตุผลจาก docker logs holyarrs
  3. ถ้าใช้พาธอย่าง /holyarrs ดู Reverse proxy และ URL base

อาการ: doctor บอกว่าเขียนโฟลเดอร์ไม่ได้ หรือการนำเข้าล้มเหลวด้วย permission error

สาเหตุ: เจ้าของโฟลเดอร์บนโฮสต์ไม่ตรงกับ PUID และ PGID

วิธีแก้: รันคำสั่ง chown ที่ doctor แนะนำ หรือตั้ง PUID และ PGID ให้ตรงกับเจ้าของโฟลเดอร์ บน NAS ให้ตั้งสิทธิ์อ่านและเขียนให้ผู้ใช้นั้นในหน้าจอจัดการสิทธิ์ ดู NAS, Synology และ Unraid

ไม่มีอะไรดาวน์โหลดเลย

ลิงก์ไปยัง ไม่มีอะไรดาวน์โหลดเลย

อาการ: รายการยังขาดหายและไม่มีอะไรไปถึงตัวดาวน์โหลดของคุณ

สาเหตุ: ไม่มีแหล่งค้นหาตอบกลับ ตัวดาวน์โหลดยังไม่ได้เชื่อมต่อ หรือไม่มีรีลีสไหนผ่านกฎการเลือกของคุณ

วิธีแก้:

  1. เปิด Settings > Downloaders (การตั้งค่า > ตัวดาวน์โหลด) แล้วกด Test (ทดสอบ) ที่ตัวดาวน์โหลดของคุณ ควรผ่าน
  2. เปิด Settings > Sources (การตั้งค่า > แหล่งค้นหา) แล้วกด Test ที่แต่ละแหล่ง
  3. ที่หน้ารายการ เปิด Choose a release (เลือกรีลีสเอง) เพื่อดูผลทุกรายการและเหตุผลที่ไม่ถูกเลือก

ดู ตัวดาวน์โหลด และ แหล่งค้นหา

ดาวน์โหลดแล้วแต่ไม่ถูกนำเข้า

ลิงก์ไปยัง ดาวน์โหลดแล้วแต่ไม่ถูกนำเข้า

อาการ: ตัวดาวน์โหลดโหลดเสร็จแล้ว แต่รายการไม่อยู่ในคลังของคุณ

สาเหตุ: HolyArrs มองไม่เห็นไฟล์ที่พาธเดียวกัน เขียนโฟลเดอร์คลังไม่ได้ หรือการนำเข้าต้องรอการตัดสินใจ

วิธีแก้:

  1. ให้ HolyArrs และตัวดาวน์โหลดใช้โฟลเดอร์ดาวน์โหลดเดียวกันที่พาธเดียวกัน เช่น /downloads หรือตั้ง Downloader’s path และ HolyArrs’ path ที่ตัวดาวน์โหลด
  2. รัน doctor แล้วแก้ทุก FAIL ที่เกี่ยวกับโฟลเดอร์ดาวน์โหลดหรือโฟลเดอร์คลัง
  3. ดูในรายการดาวน์โหลดว่ามีรายการที่ติดป้าย Needs a decision (รอการตัดสินใจ) หรือไม่ แล้วอนุมัติหรือทิ้งแผน
ลิงก์ไปยัง การนำเข้าเป็นสำเนา ไม่ใช่ hardlink

อาการ: doctor บอกว่า hardlink ใช้ไม่ได้ หรือพื้นที่ดิสก์ที่ใช้เพิ่มเป็นสองเท่าหลังนำเข้า

สาเหตุ: โฟลเดอร์ดาวน์โหลดกับโฟลเดอร์คลังอยู่คนละดิสก์หรือคนละเมานต์ หรือดิสก์ทำ hardlink ไม่ได้ (DrivePool, NAS และ SMB share ส่วนใหญ่, Docker Desktop บน Windows) แต่ละไฟล์ยังถูกเขียนเพียงครั้งเดียว งานดาวน์โหลด Usenet ที่เสร็จแล้วจะถูกย้ายเมื่ออยู่ดิสก์เดียวกับคลัง

วิธีแก้: เมานต์โฟลเดอร์แม่ที่ใช้ร่วมกันเข้าไปใน Container แทนการเมานต์แยกกัน ดู โฟลเดอร์

อาการ: Container หยุดหรือรีสตาร์ตทันที

สาเหตุ: Log จะบอกเอง สาเหตุที่พบบ่อย: /config อยู่บนเน็ตเวิร์กแชร์หรือพาธ FUSE หรือมีส่วนที่เสีย

วิธีแก้:

  1. ย้าย /config ไปไว้บนดิสก์ในเครื่อง ถ้า Log บอกอย่างนั้น HolyArrs จะไม่รันฐานข้อมูลบนเน็ตเวิร์กแชร์
  2. ถ้าไม่ใช่ ให้เริ่มใน เซฟโหมด แก้จาก Settings (การตั้งค่า) แล้วรีสตาร์ตตามปกติ

อาการ: ฟีเจอร์ที่อ่านเจอไม่มีในแอป

สาเหตุ: อาจยังไม่เปิดให้ใช้ในเวอร์ชันนี้

วิธีแก้: ดู ฟีเจอร์ที่ยังไม่เปิดให้ใช้

หน้าไม่มีชื่อหรือรูปภาพ

ลิงก์ไปยัง หน้าไม่มีชื่อหรือรูปภาพ

อาการ: รายการแสดงโดยไม่มีโปสเตอร์หรือรายละเอียด

สาเหตุ: เข้าถึงเซิร์ฟเวอร์เมตาดาตาไม่ได้

วิธีแก้: ตรวจ DNS และไฟร์วอลล์ ส่วน Network ของ doctor จะบอกว่าเซิร์ฟเวอร์ตอบหรือไม่

รายการที่ doctor ตรวจและตัวเลือก

doctor รันอยู่ใน Container ด้วยผู้ใช้เดียวกับที่ HolyArrs รัน จึงเจอปัญหาเดียวกับที่ HolyArrs เจอ

ส่วน สิ่งที่แสดง
App เวอร์ชัน ผู้ใช้และกลุ่ม umask และรันใน Container หรือไม่
Config folder เจ้าของ สิทธิ์ พื้นที่ว่าง และอยู่บนดิสก์ในเครื่องหรือไม่
Library and download folders มีอยู่ไหม เจ้าของ เขียนได้ไหม พื้นที่ว่าง และ hardlink ระหว่างโฟลเดอร์ดาวน์โหลดกับโฟลเดอร์คลัง
Network ชื่อของเซิร์ฟเวอร์เมตาดาตา resolve ได้และเซิร์ฟเวอร์ตอบหรือไม่
Clock เวลา เขตเวลา (TZ) และคำเตือนเมื่อนาฬิกาผิดชัดเจน
ตัวเลือก ทำอะไร
-config <folder> ตรวจโฟลเดอร์คอนฟิก HolyArrs อื่นที่ไม่ใช่ /config
-json พิมพ์รายงานเป็น JSON

Exit code 0 แปลว่าไม่มีอะไรล้มเหลว 1 แปลว่ามีบรรทัดที่บอก FAIL รายงานไม่แสดงคีย์ รหัสผ่าน หรือ token เลย doctor อ่านอย่างเดียว ยกเว้นไฟล์ทดสอบเล็ก ๆ ที่เขียนแล้วลบทิ้ง ถ้าเริ่มด้วย root จะโอนโฟลเดอร์คอนฟิกให้ PUID:PGID เหมือนการเริ่มตามปกติ

ถ้า HolyArrs รีสตาร์ตซ้ำไปมา docker exec จะล้มเหลว ให้รัน doctor ใน Container ใหม่ที่ใช้โฟลเดอร์เดียวกัน:

Terminal window
docker run --rm --volumes-from holyarrs -e PUID=<puid> -e PGID=<pgid> -e TZ=<tz> holyarrs/holyarrs:<tag> doctor

ถ้าใช้ Compose: docker compose run --rm holyarrs doctor

การตรวจโฟลเดอร์ตอนเริ่มทำงาน

ตอนเริ่ม HolyArrs ตรวจโฟลเดอร์ของตัวเองและเขียน Log หนึ่งบรรทัดสรุป เช่น folders: 4 ok, 1 not writable จากนั้นเขียนอีกหนึ่งบรรทัดต่อโฟลเดอร์ที่มีปัญหา พร้อมวิธีแก้ การตรวจจะหยุดหลัง 3 วินาที เพื่อให้การเริ่มทำงานไม่ค้าง โฟลเดอร์ที่ตอบช้าเกินไปจะนับว่ายังไม่ได้ตรวจ ซึ่งมักเป็นดิสก์ที่กำลังตื่นจากโหมดหลับหรือเน็ตเวิร์กแชร์ที่ช้า doctor ตรวจโดยไม่จำกัดเวลา ดู Log

ใน Image ไม่มี shell

Image มีแค่โปรแกรม HolyArrs เพื่อให้ขนาดเล็กและเหลือช่องให้ผู้โจมตีน้อยลง docker exec holyarrs sh จึงล้มเหลวโดยตั้งใจ ถ้าอยากดูใกล้ ๆ ให้เริ่มตัวช่วยชั่วคราวไว้ข้าง ๆ:

Terminal window
docker run --rm -it --pid container:holyarrs --network container:holyarrs --volumes-from holyarrs busybox sh

ตัวช่วยนี้เห็นโปรเซสของ HolyArrs ใช้เครือข่ายร่วมกัน และมีโฟลเดอร์เดียวกันที่พาธเดียวกัน และรันเป็น root ดังนั้นให้ดูอย่างเดียว อย่าแก้ เพราะไฟล์ที่เขียนด้วย root อาจอ่านไม่ได้สำหรับ HolyArrs ถ้าจะทดสอบในฐานะผู้ใช้ของ HolyArrs ให้เพิ่ม --user <PUID>:<PGID>

ดูว่าเป็นเวอร์ชันไหน
Terminal window
docker inspect --format '{{ index .Config.Labels "org.opencontainers.image.version" }}' holyarrs

ส่วน App ของ doctor แสดงค่าเดียวกัน

HolyArrs ใช้ได้ฟรี ถ้าช่วยประหยัดเวลาคุณได้ กดดาวบน GitHub, สนับสนุนโปรเจกต์ หรือ เลี้ยงกาแฟผู้พัฒนา