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 🙂

  • Nextcloud - Collabora Installation

    Nextcloud
    1
    0 Stimmen
    1 Beiträge
    289 Aufrufe
    Niemand hat geantwortet
  • Nextcloud 24.0.0

    Nextcloud
    1
    0 Stimmen
    1 Beiträge
    148 Aufrufe
    Niemand hat geantwortet
  • Nextcloud API Zugriff

    Nextcloud
    4
    0 Stimmen
    4 Beiträge
    230 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()
  • Nextcloud 21.0.2 - Kann kein PDF anzeigen!?

    Nextcloud
    1
    0 Stimmen
    1 Beiträge
    176 Aufrufe
    Niemand hat geantwortet
  • Nextcloud - Desktop Integration

    Nextcloud
    1
    0 Stimmen
    1 Beiträge
    262 Aufrufe
    Niemand hat geantwortet
  • Nextcloud 16.0.5 -> 17.0.0

    Nextcloud
    1
    0 Stimmen
    1 Beiträge
    227 Aufrufe
    Niemand hat geantwortet
  • Nextcloud - App Text

    Nextcloud
    2
    0 Stimmen
    2 Beiträge
    392 Aufrufe
    FrankMF

    Noch was vergessen.

    a2c377b7-d4e4-4791-b94e-dc9fc7f1677c-grafik.png

    Neues Textdokument erstellt ein Dokument mit der Endung .md

  • 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