Nextcloud czyli własny magazyn na dane

in polish •  last year 

Od pewnego czasu zaczęło mi brakować miejsca na zdjęcia na telefonie. Zresztą mojej żonie też od jakiegoś czasu brakowało miejsca tyle, że ona ma luźniejsze podejście - synchronizuje swoje zdjęcia z chmurą od googla i w sumie jeśli pozwalamy na kompresję zdjęć to można tam wrzucać bez ograniczeń. Większy problem jest z filmami, które jednak przestrzeń zajmują.
Darmowe miejsce w chmurze od Googla przypomina trochę pierwszą darmową działkę od dilera. Jest za darmo, ale w końcu po paru latach trafimy na moment, że brakuje nam miejsca, wtedy trzeba dokupić kolejne GB. 100GB za około 9zł miesięcznie. Niby nie jest to dużo jak na to, że mamy raczej gwarancję, że dane nie zostaną uszkodzone. Z drugiej strony jeśli zaczniemy wrzucać tam zdjęcia bez kompresji to szybko się okaże, że trzeba przejść na kolejny plan.

Hassio

Od dłuższego czasu na RaspberryPi miałem postawionego system operacyjny HASSIO czyli oparty na dokerach system od zespołu Home Assistant. Miał on sporo zalet, po pierwsze wszystko działało bezproblemowo, a po drugie instalacja kolejnych dokerów sprowadzała się do kliknięcia i zainstalowania dodatku. Sam zarządzał wszystkim i wg mnie jest to dobry wybór dla osób, które chcą zacząć automatyzować pewne rzeczy w domu lub mieć wgląd w różne statystyki.
Skoro RPi chodzi już 24/7 to postanowiłem go wykorzystać jak najmocniej. Postanowiłem postawić na nim również Nextcloud. Tutaj zaczęły się schody. Udało mi się zainstalować odpowiedni dodatek, ale dodatkowy dysk 1,5TB na USB już nie mógł być rozpoznany. Walczyłem z konfiguracją cały dzień, aż się poddałem. Mogłem wszystko przenieść na dysk 1,5TB razem z HA, ale udostępnić go dla konkretnego dokera mi się już nie udało, a wszystko przez to, że HASSIO ma własne aplikacje, które służą do zarządzania dodatkami.

OpenMediaVault

Po wielu nieudanych próbach postanowiłem zmienić podejście. Zrobiłem backup całości konfiguracji oraz dodatkowo zainstalowałem OMV na nowej karcie SD (starą z HASSIO zostawiłem na wszelki wypadek). OMV jest dodatkiem, który instaluje się na systemie RaspberryPiOS. Dzięki temu dostajemy możliwość zarządzania dyskami, backupami itd. Dzięki dodatkom możemy łatwo postawić zasoby sieciowe, antywirusa i wiele innych rzeczy. Jest również dodatek Compose, który służy do zarządzania obrazami i kontenerami dokerowymi, ale jakoś nie przypadł mi do gustu.

Portainer

Jak już wspomniałem Compose nie przypadł mi do gustu. Trudno mi powiedzieć czy to wygląd, czy problemy z zarządzaniem, ale przydał się do jednej rzeczy. Postawiłem przy jego użyciu kontener z Portainer. Portainer to webowy interfejs do zarządzania Dockerem czyli robi dokładnie to samo co ten plugin, ale ma znacznie większą społeczność i lata doświadczenia.

Przy jego użyciu dodałem wszystkie potrzebne kontenery. Od homeassistant po nextcloud. Wadą tego rozwiązania jest, że nie mogłem już wygodnie instalować kontenerów z poziomu homeassistant - chociaż domyślam się, że skoro Portainer jest w stanie nimi zarządzać to dałoby się też zrobić tak aby HA mógł to robić - tyle, że obraz dla Dockera nie zawiera tej funkcjonalności co oznacza, że musiałbym kolejny raz coś przerabiać.
Ostatecznie użyłem Portainers do zainstalowania Mosquitto (serwer MQTT), Nextcloud, Homeassistant, NodeRED (serwer automatyzacji - opowiadałem o tym ostatnio) oraz RTL (kontener z rtl433, który w moim przypadku odbiera dane ze stacji pogodowej - fajna zabawka, o której kiedyś napiszę coś więcej).

A tak mniej-więcej wyglądał plik do stosu dla nextcloud:

version: '2'

services:
  db:
    image: mariadb:10.5
    restart: always
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    volumes:
      - /{ŚCIEŻKA DO ZASOBU W OMV}/nextcloud/maria:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=HASŁO
      - MYSQL_PASSWORD=HASŁO
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    image: nextcloud
    restart: always
    ports:
      - 8080:80
    links:
      - db
    volumes:
      - /{ŚCIEŻKA DO ZASOBU W OMV}/nextcloud/data:/var/www/html
    environment:
      - MYSQL_PASSWORD=HASŁO
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db

Nextcloud

Nextcloud to kombajn, który ma bardzo dużo funkcji i w sumie nie sądzę abym był w stanie wykorzystać nawet 1% z nich. Jednak najważniejsza dla mnie funkcja obecnie działa. Zainstalowałem aplikację na telefonie, która sama przerzuca zdjęcia na serwer. Zdjęcia można tagować i katalogować w albumy. Dodatkowo jeśli z takiej instancji serwera ma korzystać więcej osób to możemy zdjęcia udostępnić. Moje aktualne ustawienia sieciowe nie pozwalają by dało się przeglądać i wrzucać zdjęcia na z innej sieci niż domowa. Jest to oczywiście zarówno wada jak i zaleta.

Jedno jest pewne. Od dzisiaj RPi zarabia na siebie bo nie muszę wykupywać przestrzeni dyskowej aby przetrzymywać zdjęcia, a dodatkowo dane są przetrzymywane prywatnie. Nie jest to trudne i myślę, że każdy powinien sobie z tym poradzić.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE BLURT!