nextcloud snap กับ data-directory บนฮาร์ดไดรฟ์ภายนอก


9

ฉันติดตั้ง nextcloud บน raspberrypi 3 โดยใช้ลิงค์นี้ ทุกอย่างทำงานได้ค่อนข้างดียกเว้นฉันไม่ชอบ UX ที่มีพื้นที่เก็บข้อมูลเพิ่มเติมทั้งหมดที่มาจาก Add-in "External Storage" เนื่องจากหมายความว่าตอนนี้ทุกคนต้องใส่ไฟล์ทั้งหมดในโฟลเดอร์ที่กำหนด .

ดูเหมือนว่าฉันควรจะสามารถบอก nextcloud ให้ใช้ harddrive ภายนอกเป็นที่ตั้งของ data-directory (โดยไม่มีที่เก็บข้อมูลภายนอก add-in) และทุกอย่างจะดีและดี ... และดูเหมือนว่าในทางทฤษฎีที่ใช้งานได้ดี . แต่เนื่องจากมันถูกติดตั้งเป็น snap ดูเหมือนว่า snap จะไม่สามารถเข้าถึงส่วนของระบบไฟล์ของฉันและดังนั้นจึงไม่ทำงาน

ฉันสงสัยว่าใครมีข้อเสนอแนะใด ๆ ฉันควรติดฮาร์ดไดรฟ์ไว้ในบริเวณที่เขียนได้ของสแน็ปอินหรือไม่ เป็นไปได้ไหมที่จะให้ snap เข้าถึงฮาร์ดไดรฟ์?

คำตอบ:


13

ก่อนอื่นฉันควรพูดถึงว่านี่ไม่ใช่ฟอรัมการสนับสนุนสำหรับ Nextcloud จริงๆ หากคุณมีปัญหากับมันคุณสามารถเข้าสู่ระบบข้อผิดพลาดกับมัน

ที่กล่าวว่ามีคนอยู่แล้วไม่ได้มีวิธีการแก้ปัญหาที่ได้รับที่นี่

ในการสรุปอย่างรวดเร็วที่นี่: คุณถูกต้องสิ่งนี้ควรเป็นไปได้และเป็น อย่างไรก็ตามโดยค่าเริ่มต้น Nextcloud snap ไม่ได้รับอนุญาตให้เข้าถึงสื่อแบบถอดได้ (ดังที่กล่าวไว้ในREADME )

ดังนั้นขั้นตอนที่กำหนดคือ:

  1. เชื่อมต่อremovable-mediaปลั๊ก: sudo snap connect nextcloud:removable-media.
  2. การเชื่อมต่ออินเทอร์เฟซนั้นอนุญาตให้ Nextcloud เข้าถึงสิ่งต่างๆได้/media/ดังนั้นคุณสามารถแก้ไข/var/snap/nextcloud/current/nextcloud/config/config.phpและตรวจสอบให้แน่ใจว่าdatadirectoryมีการชี้ไปยังที่ที่ถูกต้อง
  3. ปิดการใช้งาน snap: sudo snap disable nextcloud
  4. เคลื่อนย้าย (หรือคัดลอก) sudo mv /var/snap/nextcloud/common/nextcloud/data /media/my/new/dataไดเรกทอรีข้อมูลปัจจุบันไปยังตำแหน่งใหม่:
  5. เปิดใช้งาน snap sudo snap enable nextcloudอีกครั้ง:

ตอนนี้คุณไม่ต้องกังวลกับโซลูชันสื่อภายนอก: ข้อมูลทั้งหมดของ Nextcloud จะอยู่ที่นั่น

โปรดทราบว่าสิ่งนี้ครอบคลุมเฉพาะข้อมูลดิบ (เช่นไฟล์) ที่โฮสต์โดย Nextcloud /var/snap/nextcloud/current/ฐานข้อมูลและแอพพลิเคยังคงอยู่ใน ฉันแนะนำให้คุณทิ้งไว้ที่นั่น


มันใช้งานได้ดี! ฉันสาบานฉันทำการค้นหาในปริมาณที่เหมาะสมและไม่พบโพสต์ที่เชื่อมโยงของคุณ สื่อการเชื่อมต่อที่ถอดได้ ... เป็นสิ่งที่ฉันไม่รู้ นั่นคือสิ่งที่ฉันกำลังมองหาและเป็นประโยชน์อย่างมาก ดูเหมือนว่าเป็นรายการที่ดีสำหรับคำถามที่พบบ่อย snapcraft ขออภัยที่โพสต์ผิดที่ การรายงานข้อผิดพลาดดูเหมือนโง่เมื่อฉันไม่พบข้อบกพร่อง
Matt

โอ้ไม่จำเป็นต้องขอโทษ! สิ่งนี้ควรได้รับการกล่าวถึงใน README ของ Nextcloud snap หรือบางทีอาจเป็นวิกิ
Kyle

3
อีกสิ่งที่จะกล่าวถึงที่นี่คืออาจมีปัญหาสิทธิ์ในไฟล์เนื่องจากเซิร์ฟเวอร์ nextcloud ยังคงทำงานในฐานะ root ในขณะที่เราอาจต้องการใช้การอนุญาตอื่น ๆ กับไฟล์ (ฉันใช้ nextcloud เป็นsyncthingfront-end) ในการแก้ไขปัญหานี้ในขั้นต้นฉันใช้เคล็ดลับในการเพิ่มที่sftpเก็บข้อมูลที่ชี้ไปยังเซิร์ฟเวอร์ของตัวเองและเข้าถึงในฐานะผู้ใช้ที่ต้องการเพื่อใช้127.0.0.1เป็นโฮสต์และเจ้าของไฟล์ในฐานะผู้ใช้ที่มีคีย์ ssh ที่สร้างขึ้น แต่นี่ไม่ใช่ตัวเลือกที่ดีที่สุด ใช้bindfsแทนกับสิ่งที่ต้องการbindfs --map=ubuntu/root:@ubuntu/@rootแทนงานที่ต้องการแทน
Treviño

หลังจากที่ย้ายไดเรกทอรีฉันได้รับ "UniqueConstraintViolationException \", \ "Message \": \ "มีข้อยกเว้นเกิดขึ้นขณะดำเนินการ 'INSERT INTO oc_filecache... " ฉันไม่ได้เพิ่มไฟล์ใด ๆ ลงไปเพียงแค่ติดตั้งอย่างรวดเร็วเพียงสร้างผู้ใช้ผู้ดูแลระบบและเข้าสู่ระบบหนึ่งครั้งก่อนที่จะย้ายไดเรกทอรี เบาะแสใด ๆ
Giox

nextcloud snap + syncthing - รายการ bindfs ใน fstab เป็นวิธีที่ยั่งยืนเท่านั้นที่ฉันได้ทำงานนี้ Nextcloud snap ไม่ได้ใช้การอนุญาตของผู้ใช้จริงจะเจ็บปวด
Jack Wasey

0

ใช้ 'หยุด' แทน 'ปิดการใช้งาน' ไม่เช่นนั้นคุณจะไม่สามารถแก้ไข config.php

  1. เปิดใช้งานที่จัดเก็บข้อมูลภายนอกสำหรับ snap: sudo snap connect nextcloud: สื่อแบบถอดได้

  2. หยุด nexcloud snap: sudo snap หยุด nextcloud

  3. อัปเดตตำแหน่งที่เก็บ: sudo vim /var/snap/nextcloud/current/nextcloud/config/config.php

เปลี่ยนตำแหน่งข้อมูล:

'datadirectory' => '/ media / storage / data',

  1. ย้ายไดเร็กทอรีข้อมูลไปยังอุปกรณ์เก็บข้อมูล: sudo mv / var / snap / nextcloud / common / nextcloud / data / media / storage /

  2. เริ่ม nextcloud snap: sudo snap start nextcloud

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.