Przystawka nextcloud z katalogiem danych na zewnętrznym dysku twardym

9

Zainstalowałem nextcloud na moim Raspberrypi 3 za pomocą tego linku . Wszystko działa całkiem dobrze, ale nie podoba mi się, że UX ma całą dodatkową przestrzeń dyskową pochodzącą z dodatku „Pamięć zewnętrzna”, ponieważ oznacza to, że wszyscy muszą teraz wiedzieć, jak umieścić wszystkie swoje pliki w wyznaczonym folderze .

Wygląda na to, że powinienem być w stanie powiedzieć nextcloud, aby używał zewnętrznego dysku twardego jako lokalizacji katalogu danych (bez dodatku pamięci zewnętrznej) i wszystko będzie dobrze i dobrze ... i wydaje się, że teoretycznie działa dobrze . Ale ponieważ jest zainstalowany jako przystawka, wygląda na to, że przystawka nie ma dostępu do tej części mojego systemu plików, a zatem nie działa.

Zastanawiałem się, czy ktoś ma jakieś sugestie. Czy powinienem zamontować dysk twardy w obszarze zapisu przystawki? Czy da się szybko uzyskać dostęp do dysku twardego?

Matt
źródło

Odpowiedzi:

13

Przede wszystkim powinienem chyba wspomnieć, że tak naprawdę nie jest to forum wsparcia dla przystawki Nextcloud. Jeśli masz z tym problemy, możesz zgłosić błąd .

To powiedziawszy, ktoś już to zrobił, z podanym tutaj rozwiązaniem .

Podsumowując tutaj: masz rację, powinno to być możliwe i tak jest. Jednak domyślnie przystawka Nextcloud nie ma uprawnień dostępu do nośników wymiennych (jak wspomniano w pliku README ).

Podane kroki to:

  1. Podłączyć removable-mediawtyczkę: sudo snap connect nextcloud:removable-media.
  2. Podłączenie tego interfejsu daje Nextcloud pozwolenie na dostęp do rzeczy /media/, dzięki czemu możesz edytować /var/snap/nextcloud/current/nextcloud/config/config.phpi upewnić się, że datadirectorywskazuje właściwe miejsce.
  3. Wyłącz przystawkę: sudo snap disable nextcloud
  4. Przenieść (lub skopiować) aktualny katalog danych do nowej lokalizacji: sudo mv /var/snap/nextcloud/common/nextcloud/data /media/my/new/data.
  5. Ponowne włączenie przystawki: sudo snap enable nextcloud.

Teraz nie musisz się martwić zewnętrznym rozwiązaniem medialnym: wszystkie dane Nextcloud będą tam.

Pamiętaj, że dotyczy to tylko surowych danych (np. Plików) hostowanych przez Nextcloud. Baza danych i aplikacje są nadal dostępne /var/snap/nextcloud/current/. Sugeruję, żebyś je tam zostawił.

Kyle
źródło
To działało świetnie! Przysięgam, wykonałem sporo poszukiwań i nie znalazłem powiązanego postu. Podłącz ... nośniki wymienne to element, o którym nie wiedziałem; dokładnie tego szukałem i bardzo pomocny. Wygląda na to, że jest to dobry wpis na temat snapcraft. Przepraszamy za umieszczenie tego w niewłaściwym miejscu. Zgłaszanie błędów wydawało się głupie, kiedy nie znalazłem błędu.
Matt
Och, żadne przeprosiny nie są konieczne! To naprawdę powinno być ujęte w README przystawki Nextcloud, a może na jej wiki.
Kyle
3
Inną rzeczą do wspomnienia tutaj jest to, że może występować problem z uprawnieniami do plików, ponieważ serwer nextcloud nadal działa jako root, podczas gdy możemy chcieć użyć innych uprawnień do plików (używam nextcloud jako syncthinginterfejsu). Aby to naprawić, początkowo wykorzystywałem sztuczkę polegającą na dodaniu sftpmagazynu wskazującego na sam serwer i dostępie jako pożądany użytkownik, więc 127.0.0.1jako host i właściciel pliku jako użytkownik z wygenerowanym kluczem ssh. Ale to nie był najlepszy wybór. Używanie bindfszamiast czegoś podobnego bindfs --map=ubuntu/root:@ubuntu/@root, zamiast tego robi pożądaną pracę.
Treviño
Po przeniesieniu katalogu otrzymałem „UniqueConstraintViolationException \”, \ „Message \”: \ „Wystąpił wyjątek podczas wykonywania polecenia„ INSERT INTO oc_filecache... ”. Nie dodałem do niego żadnych plików, wystarczy czysta instalacja przystawki, utworzyłem użytkowników admin i jeden login przed przeniesieniem katalogu. Jakieś wskazówki?
Giox
nextcloud snap + syncthing - wpis bindfs w fstab to tylko zrównoważony sposób, w jaki działałem. Przystawka Nextcloud, która nie korzysta z uprawnień faktycznego użytkownika, jest bolesna.
Jack Wasey
0

Użyj „stop” zamiast „wyłącz”, w przeciwnym razie nie będziesz mógł edytować config.php.

  1. Włącz pamięć zewnętrzną dla snap: sudo snap connect nextcloud: nośniki wymienne

  2. Zatrzymaj przystawkę Nexcloud: Sudo Snap Przystanek NextCloud

  3. Zaktualizuj lokalizację przechowywania: sudo vim /var/snap/nextcloud/current/nextcloud/config/config.php

zmień lokalizację danych:

„datadirectory” => ”/ media / storage / data”,

  1. Przenieś katalog danych na urządzenie magazynujące: sudo mv / var / snap / nextcloud / common / nextcloud / data / media / storage /

  2. Rozpocznij Snap NextCloud: sudo Snap Uruchom NextCloud

jonathonp
źródło