บิลด์แบบพกพา
ตั้งค่า
รัน HolyArrs เป็นโปรแกรมธรรมดาบน Linux หรือ Windows โดยไม่ใช้ Docker Docker ยังเป็นวิธีรันหลัก
ก่อนเริ่ม
ลิงก์ไปยัง ก่อนเริ่ม- Python 3, Git และ Docker บนเครื่องที่บิลด์
- Go module cache ที่เต็มแล้วจากการบิลด์โปรเจกต์ตามปกติ และติดตั้ง dependency ของ frontend จาก
app/frontend/package-lock.jsonแล้ว - เว็บแอปที่บิลด์แล้วต้อง commit ไว้ การบิลด์ใช้เฉพาะซอร์สที่ commit แล้ว การแก้ไขที่ยังไม่ commit จะไม่ถูกรวม
บิลด์และรัน
ลิงก์ไปยัง บิลด์และรัน-
จาก checkout บิลด์ไฟล์บีบอัด:
Terminal window python deploy/release/package.py --ref HEAD --version 1.0.0 --output /srv/holyarrs-archives/1.0.0 --web-node-modules app/frontend/node_modules --module-cache /home/you/go/pkg/modใช้โฟลเดอร์ output ใหม่ที่อยู่นอก checkout จะเห็นไฟล์บีบอัดหนึ่งไฟล์ต่อหนึ่ง target และไฟล์
SHA256SUMS -
ตรวจไฟล์บีบอัดกับ
SHA256SUMS -
แตกไฟล์ลงโฟลเดอร์ใหม่ แยกโฟลเดอร์ของโปรแกรมกับคอนฟิกออกจากกัน
-
เริ่มด้วยพาธคอนฟิกของคุณเอง:
Terminal window ./holyarrs -config /srv/holyarrs/config -addr :6262บน Windows PowerShell:
Terminal window .\holyarrs.exe -config 'C:\HolyArrs\config' -addr ':6262' -
เปิด
http://your-server:6262จะเห็นวิซาร์ดการเปิดใช้ครั้งแรก สร้างบัญชีเจ้าของทันที ผู้เข้ามาคนแรกจะกลายเป็นเจ้าของ
ตัวเลือก
ลิงก์ไปยัง ตัวเลือกใครเป็นผู้รัน
ลิงก์ไปยัง ใครเป็นผู้รันรัน HolyArrs ภายใต้บัญชีของมันเอง โดยมีสิทธิ์เขียนเฉพาะโฟลเดอร์คอนฟิกและสื่อของคุณ
- ถ้ารันเป็น root นอก container โดยไม่มี
PUIDและPGIDมันจะหยุดพร้อมข้อความ “started as root outside a container” - ถ้าตั้ง
PUIDและPGIDมันจะส่งโฟลเดอร์คอนฟิกให้ผู้ใช้นั้นและสลับไปเป็นผู้ใช้นั้น - บน Windows ให้ป้องกันโฟลเดอร์คอนฟิกด้วยสิทธิ์ NTFS ของบัญชีนั้น
การรีสตาร์ตและขีดจำกัด
ลิงก์ไปยัง การรีสตาร์ตและขีดจำกัดไฟล์บีบอัดไม่ติดตั้งเซอร์วิส ตั้ง auto-restart และขีดจำกัดหน่วยความจำแบบเข้มงวดในตัวจัดการเซอร์วิสของคุณเอง (systemd, NSSM, Task Scheduler) การรีสตาร์ตจากแอปและการกู้คืน Backup ต่างก็ออกจากโปรแกรมและคาดว่าจะมีคนเริ่มให้ใหม่
อัปเดตและย้อนกลับ
ลิงก์ไปยัง อัปเดตและย้อนกลับ- ตรวจไฟล์บีบอัดใหม่ก่อนหยุดแอป
- หยุด HolyArrs แล้วคัดลอกทั้งโฟลเดอร์คอนฟิก รวมคีย์หลักด้วย หรือสร้าง Backup ในแอปแล้วเก็บคีย์แยกต่างหาก
- แตกโปรแกรมใหม่ลงโฟลเดอร์อื่น เก็บโปรแกรมเก่าและสำเนาคอนฟิกเก่าไว้
- เริ่มโปรแกรมใหม่บนคอนฟิกของคุณ ควรล็อกอินได้ และ
/healthควรแสดง running
ดู Backup
ถ้าไม่ทำงาน
ลิงก์ไปยัง ถ้าไม่ทำงาน| อาการ | สาเหตุ | วิธีแก้ |
|---|---|---|
| “started as root outside a container” | เริ่มด้วย root | รันด้วยผู้ใช้ของมันเอง หรือตั้ง PUID และ PGID |
| แอปออกหลังการกู้คืน | การกู้คืนเตรียมข้อมูลไว้แล้วออกด้วยโค้ด 75 | เริ่มอีกครั้งเพื่อให้มีผล ตั้งตัวจัดการเซอร์วิสให้รีสตาร์ตมัน |
| การเรียก HTTPS ล้มเหลวบน Linux | ไม่มีใบรับรอง CA ของระบบ | ติดตั้งใบรับรองเหล่านั้น |
| บิลด์บอกว่ามี output อยู่แล้ว | โฟลเดอร์ output ที่มีอยู่ถูกปฏิเสธ | เลือกโฟลเดอร์ใหม่ |
สำหรับผู้เชี่ยวชาญ
ลิงก์ไปยัง สำหรับผู้เชี่ยวชาญตัวเลือกการบิลด์
| ตัวเลือก | ทำอะไร | ค่าเริ่มต้น |
|---|---|---|
--targets |
ชุดย่อยที่ต้องการบิลด์ คั่นด้วยจุลภาค | linux-amd64, |
--low-resource |
container ของตัวบิลด์แต่ละตัวได้ 1 CPU, 2 GiB และ 256 โพรเซส Go บิลด์ทีละแพ็กเกจ การแพ็กยังรันบนโฮสต์ นอกขีดจำกัดเหล่านั้น | ปิด |
การบิลด์รันใน Go builder image ที่ปักเวอร์ชันของโปรเจกต์โดยปิดเครือข่าย จึงไม่ดาวน์โหลดอะไร module cache ถูกเมานต์แบบอ่านอย่างเดียว ถ้า target ใดล้มเหลว จะไม่เหลือโฟลเดอร์ output commit ถูกเพิ่มเข้าไปในหมายเลขเวอร์ชันและฝังในโปรแกรม แอปและ Backup จะรายงานค่านี้
สิ่งที่อยู่ในไฟล์บีบอัด
โปรแกรม สัญญาอนุญาต ประกาศของบุคคลที่สาม คู่มือ รายการซอร์ส และข้อมูลระบุแพ็กเกจ ไฟล์บีบอัดซอร์สแยกต่างหากเก็บซอร์สของโปรเจกต์และ dependency ของ Go ให้เก็บไว้คู่กับไบนารี
SHA256SUMS พิสูจน์ว่าไฟล์ตรงกัน แต่ไม่ใช่ลายเซ็น commit เวอร์ชัน และอินพุตเดียวกันให้ไฟล์บีบอัดเหมือนเดิม คุณจึงบิลด์ใหม่เพื่อตรวจสอบได้
หมายเหตุตอนรัน
| หัวข้อ | รายละเอียด |
|---|---|
| พาธคอนฟิก | ค่าเริ่มต้น /config ส่ง -config เสมอ บนดิสก์ในเครื่อง |
| เป้าหมายหน่วยความจำ | 384 MiB เมื่อไม่มี GOMEMLIMIT ตั้งไว้ที่ประมาณ 80 เปอร์เซ็นต์ของหน่วยความจำที่ให้ เป็นเป้าหมาย ไม่ใช่ขีดจำกัดตายตัว |
| โหมดประหยัดหน่วยความจำ | บน Linux เปิดเองเมื่อประมาณ 2.5 GiB หรือน้อยกว่า เป้าหมายลดเหลือหนึ่งในสี่ของหน่วยความจำ ระหว่าง 192 ถึง 384 MiB HOLYARRS_LOW_MEMORY=1 หรือ 0 เป็นตัวกำหนด |
| Node | ไม่ต้องใช้ตอนรัน |
| Hardlink | เก็บโฟลเดอร์งานดาวน์โหลดและคลังไว้บนระบบไฟล์เดียวกัน |
หน้าที่เกี่ยวข้อง
ลิงก์ไปยัง หน้าที่เกี่ยวข้องHolyArrs ใช้ได้ฟรี ถ้าช่วยประหยัดเวลาคุณได้ กดดาวบน GitHub, สนับสนุนโปรเจกต์ หรือ เลี้ยงกาแฟผู้พัฒนา