Skip to content

TrueNAS & Nextcloud

Linux
  • Als Nextcloud User folge ich natürlich Nextcloud auch auf Twitter, so fiel mir dieser Beitrag auf.

    TrueNAS? Das hatte ich irgendwo auch schon mal gelesen, hatte es aber vergessen. Ok, ich wusste grob was es macht und jetzt gab es eine Möglichkeit, da einfach Nextcloud zu installieren? Ok, nicht das ich das jetzt gerade brauche, aber das alte Spielkind musste das Testen.

    Ich wollte das auf echter Hardware testen, aber jetzt wurde es schwierig. Mein Zweitrechner ist mit dem PROXMOX Backup Server belegt, da wollte ich nicht ran. Da fiel mir ein, ich hab noch einen alten NUC, den keiner kaufen möchte, der hier in der Ecke rum lag. Dann testen wir damit mal, obwohl ich nicht wusste, ob der von der Leistung noch reichte.

    Ok, ich brauchte ein Image.

    ef550935-2ec9-4d9f-8129-aaebb841273a-image.png

    Es gibt drei verschiedene Versionen!? Als Spielkind, habe ich mich für TrueNAS SCALE entschieden. Zwei Aspekte, sollten man vorher beachten.

    • BETA Evt. nicht 2TB an wichtigen Daten dort speichern 😉

    und

    SCALE is developed as an appliance that uses specific Linux packages with each release. Attempting to update SCALE with apt or methods other than the SCALE web interface can result in a nonfunctional system.

    Also, nur das eingebaute Update System nutzen. Findet man unter System Settings / Update

    Das Image auf den USB-Stick und die Maschine damit gestartet. TrueNAS installiert und neugestartet. Bei der Installation kam ein Warnhinweis, das mein NUC keine 8GB RAM hat, das ist die empfohlenen Menge. Ich dachte mir aber, das das Grundsystem mit den 4GB RAM laufen müsste.

    6ec75aef-82fb-4999-9c8a-fcb9296c14bf-image.png

    Gut, es läuft. Hier auf dem Screenshot schon mit eingerichtetem Storage und installiertem Nextcloud. Man sieht nun sofort, das die Empfehlung für 8GB RAM nicht gewürfelt ist. Da ist nicht mehr viel frei, somit dürfte ich damit keinen Spaß haben, noch andere Sachen zu testen. Für einen ersten Überblick sollte es reichen...

    Storage

    Nach der Installation muss erst ein Storage eingerichtet werden. Auch hier kam direkt eine Warnmeldung. Was wollte ich machen? Ich habe eine USB-Platte als Storage anmelden wollen, das ist natürlich auf einem NAS nicht sinnvoll. Man braucht mindestens zwei Platten um ein RAID bzw. besser einen ZFS-Pool einzurichten. Auch hier habe ich die Warnmeldung bestätigt und mit einer Platte installiert.

    Nextcloud

    Danach konnte man ganz einfach Nextcloud als APP installieren.

    1d6cb958-4160-4088-8ba3-d116c773ed89-image.png

    Auf Install klicken, ein paar Angaben ergänzen - fertig. Praktische Sache. Nextcloud läuft dann auf dem TrueNAS als Docker Container. Den Port wird bei der Installation angegeben.

    1381c722-7717-496c-802b-c20879a35473-image.png

    SSH

    Schauen wir uns mal ein paar Dinge etwas genauer an. Dafür brauchte ich einen SSH Zugang. Der ist vorbildlich abgeschaltet. Kann man mit System Settings / Services aktivieren. Danach kann man sich ja an einem Debian System mit dem User root nicht anmelden. Wir brauchen einen User. Unter Credentials / Local Users einen anlegen. Danach kann man dann per SSH ins System.

    fdisk

    truenas# fdisk -l
    Disk /dev/sda: 119.24 GiB, 128035676160 bytes, 250069680 sectors
    Disk model: PLEXTOR PX-128M5
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: gpt
    Disk identifier: 16DD0615-F91C-4A9F-86F3-BCF140FE7087
    
    Device        Start       End   Sectors   Size Type
    /dev/sda1        40      2087      2048     1M BIOS boot
    /dev/sda2      2088   1050663   1048576   512M EFI System
    /dev/sda3  34605096 250069646 215464551 102.7G Solaris /usr & Apple ZFS
    /dev/sda4   1050664  34605095  33554432    16G Linux swap
    
    Partition table entries are not in disk order.
    
    
    Disk /dev/sdb: 465.76 GiB, 500107862016 bytes, 976773168 sectors
    Disk model: Portable SSD T5 
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 33553920 bytes
    Disklabel type: gpt
    Disk identifier: 372BC4C0-52DA-40F2-B75C-F250F28147AE
    
    Device       Start       End   Sectors   Size Type
    /dev/sdb1      128   4194304   4194177     2G Linux swap
    /dev/sdb2  4194432 976773134 972578703 463.8G Solaris /usr & Apple ZFS
    
    
    Disk /dev/mapper/sdb1: 2 GiB, 2147418624 bytes, 4194177 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 33553920 bytes
    

    free

    truenas# free
                   total        used        free      shared  buff/cache   available
    Mem:         3472820     2947888      227328       47396      297604      269624
    Swap:        2097084       59904     2037180
    

    Jo, Speicher ist ein Problem.

    Fazit

    Ein erstes Fazit. Das macht einen sehr guten Eindruck, die Einstellungen in Bezug auf Sicherheit sehen sehr ordentlich aus. Die Nextcloud Installation war easy und funktionierte gut. Im Backend hat er wenig zu meckern.

    55acbd54-c57c-4f1b-bfac-6b098f1f1fd1-image.png

    Macht Lust auf weitere Tests, aber mit dem NUC? Ich weiß nicht so richtig, Geld ausgeben für mehr Speicher, dafür erscheint er mir als zu alt. Muss ich drüber nachdenken. Also, wer so was sucht,das kann man sich anschauen 🙂

  • 0 Stimmen
    2 Beiträge
    349 Aufrufe
    FrankMF

    Ok, ich war leider nicht in der Lage den CODE-Server hinter einem Proxy zu installieren. Das CODE-Team scheint Docker zu lieben und das andere nur am Rande zu machen. Ohne Liebe 🙂

    Da ich extrem lange Ladezeiten hatte und die Software insgesamt nicht den Eindruck machte, das man das gerne produktiv auf einem Server nutzen möchte, habe ich den Server eben wieder gelöscht.

    Jetzt fehlt mir leider, die deepl.com Anbindung, aber das kann man ja auch über die Webseite nutzen.

    Ich nutze jetzt wieder den eingebauten CODE-Server, der eigentlich ein App-Image ist.

    28c41010-5ce1-4f7c-89d5-1c9b253011d0-grafik.png

    Der klare Vorteil, es läuft incl. Dokumenten Freigabe 🙂

    Nicht vergessen, unter Allow list for WOPI requests kommen die Server Adressen des Nextcloud-Webservers rein!

    c1a06c2c-86b5-4750-a062-7ba9d8dd8253-grafik.png

  • Pycharm & Docker

    Verschoben Linux
    1
    0 Stimmen
    1 Beiträge
    91 Aufrufe
    Niemand hat geantwortet
  • Nextcloud API Zugriff

    Nextcloud
    4
    0 Stimmen
    4 Beiträge
    184 Aufrufe
    FrankMF

    Ok, es gab noch ein Problem und zwar '/'. Habe das Script jetzt nochmal umgebaut, jetzt bin ich soweit zufrieden. Die Textdatei ist auf meine Bedürfnisse angepasst worden

    1.2.01 1.2.01.1 Text1.1 1.2.01.2 Text1.2 1.2.02 1.2.02.1 Text2.1/Testing 1.2.02.2 Text2.2

    1.2.01 und 1.2.02 erzeugt dann einen Ordner, der Rest sind dann Unterordner.

    """ Tool to create folders using the Nextcloud API """ ############################################### # Imports ############################################### import subprocess from pathlib import Path ############################################### # Constant ############################################### # Get home directory from user USERHOME = str(Path.home()) NCPATH = 'https://DOMAIN/remote.php/dav/files/Frank/Python_Script/' USERNAME = 'USER' PASSWORD = 'PASSWORD' ############################################### # Function to crate folder with nextcloud api ############################################### def read_textobject(): # read folders to create from textfile with open(f'{USERHOME}/Textdatei.txt', 'r') as obj: # create object for line in obj: line_split = line.split(' ') elements = line_split[0].split('.') try: if elements[3]: main_folder = 0 # replace whitespaces with %20, and / with _ and remove linefeed (\n) path = Path((line.replace(' ', '%20').replace('/', '_')).rstrip('\n')) except IndexError: print("Element is main folder") main_folder = 1 # replace whitespaces with %20, and / with _ and remove linefeed (\n) main = Path((line.replace(' ', '%20').replace('/', '_')).rstrip('\n')) else: print("Element is not a main folder") ############################################### # Create directory ############################################### if main_folder == 1: # Main folder try: args = ['curl', '-u', f'{USERNAME}:{PASSWORD}', f'{NCPATH}{main}', '-X', 'MKCOL'] result = subprocess.run(args, check=True, capture_output=True, text=True) except subprocess.CalledProcessError as error: print(result.stderr) else: if result.stdout: print(result.stdout) else: print('Directory created successful') else: # Not a main folder try: args = ['curl', '-u', f'{USERNAME}:{PASSWORD}', f'{NCPATH}{main}/{path}', '-X', 'MKCOL'] result = subprocess.run(args, check=True, capture_output=True, text=True) except subprocess.CalledProcessError as error: print(result.stderr) else: if result.stdout: print(result.stdout) else: print('Directory created successful') else: print(result.stdout) obj.close() if __name__ == '__main__': read_textobject()
  • 0 Stimmen
    1 Beiträge
    154 Aufrufe
    Niemand hat geantwortet
  • Nextcloud - Update auf 21.0.1

    Nextcloud
    1
    0 Stimmen
    1 Beiträge
    220 Aufrufe
    Niemand hat geantwortet
  • Nextcloud - Preview Generator

    Nextcloud
    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet
  • Nextcloud umziehen

    Verschoben Nextcloud
    2
    0 Stimmen
    2 Beiträge
    2k Aufrufe
    FrankMF

    Ich habe heute mal wieder eine Nextcloud Installation umgezogen. Diesmal erneut alles von einem Server zum Nächsten. War bis auf ein paar Kleinigkeiten auch kein Problem.

    1. Problem

    Es trat ein interner Serverfehler auf. Ich habe nichts dazu in den Logs gefunden. Dann die Config noch mal durchgegangen und dann machte es Klick.

    Ich hatte den Redis-Cache vergessen. Installiert, danach war alles wieder gut 🙂

    2. Problem

    NC meckert über ein fehlendes PHP Paket mit Namen imagick

    apt install php-imagick

    Erledigt!

    Auf einem Debian 11 Server fehlte mir die SVG Unterstützung

    apt install libmagickcore-6.q16-6-extra 3. Problem

    NC meckert über irgendwelche PHP Umgebungsvariablen. Die Doku dazu durchgelesen und dann das Folgende gemacht.

    /etc/php/7.3/fpm/php-fpm.conf

    Am Ende die Zeilen aus der Doku hinzugefügt.

    env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp

    Nach den Änderungen nicht vergessen fpm neu zu starten.

    service php7.3-fpm restart

    Damit ist die Nextcloud Installation erfolgreich umgezogen.

    a27995ec-ad5c-44fe-a3b7-2fe718a66518-grafik.png

  • Installation von Grav & NGinx & PHP7.2

    Angeheftet Verschoben Grav
    2
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    FrankMF

    Nachdem ich den ROCKPro64 jetzt auf den Mainline umgestellt habe, lief meine Testinstallation von Grav nicht mehr.

    Hilfreiche Sache um das Problem zu lösen -> https://gist.github.com/GhazanfarMir/03bd1f1f770a3834d47274586d46ea62

    Ich bekam immer 502 Bad Gateway, Grund war ein nicht korrekt gestarteter php-pfm Service.

    rock64@rockpro64v2_0:/usr/local/bin$ sudo service php7.2-fpm start rock64@rockpro64v2_0:/usr/local/bin$ sudo service php7.2-fpm status ● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2018-08-16 20:15:20 CEST; 21s ago Docs: man:php-fpm7.2(8) Main PID: 3206 (php-fpm7.2) Status: "Processes active: 0, idle: 2, Requests: 3, slow: 0, Traffic: 0.2req/sec" Tasks: 3 (limit: 4622) CGroup: /system.slice/php7.2-fpm.service ├─3206 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) ├─3207 php-fpm: pool www └─3208 php-fpm: pool www Aug 16 20:15:19 rockpro64v2_0 systemd[1]: Starting The PHP 7.2 FastCGI Process Manager... Aug 16 20:15:20 rockpro64v2_0 systemd[1]: Started The PHP 7.2 FastCGI Process Manager.