Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

zero_neverload

Members
  • Joined

  • Last visited

  1. ok dann hatte ich das richtig verstanden. muss das dann halt so hinbekommen, wie du es oben beschrieben hattest (/config <> /mnt/user/appdata/....) und eben in /config alles umbiegen, das dort die änderbare Daten landen um sie dann über Volumes oder Bind Mounts peristent zu halten. (wie hast du das bei deinem Docker geregelt? (Dockerfile/Entrypoint) Wenn ich mir die standart Nginx Dockerfile mal anschaue, ist dort ja im Prinzip erstmal ja auch nichts angegeben und der User muss es selbst regeln, das er die Dateien peristent bekommt.
  2. Ja aber diese Verzeichnisse erstellt doch der Docker in meinem Fall auf dem Unraid Host und nicht im Docker um die Configdaten peristent zu machen, falls jemand etwas anpassen will und Reboot/Pull/etc. den Docker beeinflussen. Und als Beispiel vom Webserver wird dann im Nachgang die index.html rein gelegt und über mein Appdata Backup werden diese ja auch gesichert. (oder hab ich da gerade ein Denkfehler?) Das was du oben mit Plex beschrieben hattest, habe ich bei mir ja auch (wenn ich das richtig verstehe), dass meine vorhandenen Medien über den z.B /Media im Docker auf /mnt/user/Data/Media vom Unraid-Host verweisen. Oder was meintest du mit rewrite?
  3. Danke für die Tipps. Zu 1 das kannte ich nicht und werde ich dann anpassen Zu 2 bin ich davon ausgegangen das eigentlich jeder dieses Verzeichniss hat, aber ja klar, sollte ich den Docker wirklich veröffentlichen wollen, könnte ja auch theoretisch ein nicht Unraiduser diesen in andren Dockerumgebungen pullen und hätte diese Ordner nicht. Zu meiner Schande war ich mir garnicht sicher, ob ich ein anderen Docker als nicht Alpine beim selbst erstellen verwenden darf. (wieder was gelernt) Aktuell bin ich erstmal etwas zurück gerudert und versuche mein Glück über Docker-Compose Manager, aber auch hier bin ich gerade in ner kleinen Sackgasse (Websocket/Socket.io) was mich doch wieder in richtung eigenes Docker zurückbewegt... Bestehende Docker ändern/erweitern/fork geht vermutlich nicht, ausser man hat eben die Dockerfile/entrypoint/weitere Daten die der Ersteller verwendet hat. Mich selbst hat auch gewundert, das es noch nicht so eine AIO entwicklungsumgebung für WebApp gibt.
  4. Hallo zusammen, ich brauche mal eure Hilfe. Ich möchte gerne eine Website / WebApp entwickeln (lernen) und suche dafür eine passenden AIO Docker. (zum testen würde ich erstmal ein klassisches CMS wie (Joomla o.Ä. dort Hosten) Der Docker sollte einen Nginx, mit den Features PHP, Flask, usw. enthalten. Als weitere Datenbank wollte ich dann entweder MariaDB oder alternativ MySQL verwenden. (klar diese könnte ich gesondert Hosten, wollte sie aber diesmal mit in dem Docker haben) Mein Ziel ist es am Ende meine WebApp als eigenständigen Docker anderen zu teilen. Da ich hierzu keine Docker von der Stange gefunden habe, der das abbildet, habe ich versucht mir einen Docker selbst zu erstellen. (Falls jemand eine Docker kennt, die meinen Anforderungen entspricht, bin ich über einen Tipp dankbar) Ich muss dazu sagen, das ich bis jetzt immer nur fertige Docker verwendet habe und nun das erste mal einen Docker selbst erstellt habe. Was ich bis jetzt gemacht habe: 1. Dockerfile erstellt in welchem Nginx, mit MariaDB und PHP mehr schlecht als recht installiert werden. (Dockerfile folgt weiter unten) (Problem ist das die Ngnix config datei nicht automatisch in den Config-Ordner unter Appdata abgelegt wird) 2. Entrypoint.sh erstellt welche gewisse abhängigkeiten prüft und Ordner unter Appdata/Dockername/ bereitstellt 3. Supervisord.conf erstellt um die Dienste starten Hier meine Files zur Ansicht (sorry hab den Knopf zum Einklappen nicht gefunden) #Dockerfile # Verwende das offizielle Nginx-Alpine-Image FROM nginx:alpine # Installiere benötigte Pakete für PHP, Python und Supervisor RUN apk add --no-cache \ php83 php83-fpm php83-mysqli php83-json php83-openssl php83-curl \ python3 py3-pip \ mariadb mariadb-client \ supervisor \ && rm -rf /var/cache/apk/* # Erstelle notwendige Verzeichnisse (für Nginx & Supervisor) RUN mkdir -p /var/log/supervisor /docker-entrypoint.d/ # Kopiere Supervisor-Konfigurationsdatei COPY supervisord.conf /etc/supervisord.conf # Kopiere EntryPoint-Skript für automatische Einrichtung COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh # Setze Arbeitsverzeichnis WORKDIR /var/www # Exponiere Ports für Nginx (HTTP, HTTPS) und Flask EXPOSE 80 443 5000 # Startet das EntryPoint-Skript CMD ["/entrypoint.sh"] #Entrypoint.sh #!/bin/sh set -e # Logging-Funktion (lässt sich mit Umgebungsvariable deaktivieren) entrypoint_log() { if [ -z "${NGINX_ENTRYPOINT_QUIET_LOGS:-}" ]; then echo "$@" fi } entrypoint_log "🛠️ Starte EntryPoint-Skript..." # Sicherstellen, dass benötigte Verzeichnisse existieren mkdir -p /mnt/user/appdata/AIO-Webserver/html mkdir -p /mnt/user/appdata/AIO-Webserver/flaskapp mkdir -p /mnt/user/appdata/AIO-Webserver/mariadb mkdir -p /mnt/user/appdata/AIO-Webserver/nginx mkdir -p /mnt/user/appdata/AIO-Webserver/nginx/custom-configs mkdir -p /docker-entrypoint.d/ entrypoint_log "📂 Standardkonfigurationen werden überprüft..." # Prüfen, ob Nginx vorhanden ist – falls nicht, installieren if [ ! -f /etc/nginx/nginx.conf ]; then entrypoint_log "⚠️ Nginx wurde nicht gefunden. Installiere jetzt..." apk add --no-cache nginx fi # Falls /mnt/user/appdata/AIO-Webserver/nginx leer ist, Standarddateien aus /etc/nginx kopieren if [ ! "$(ls -A /mnt/user/appdata/AIO-Webserver/nginx 2>/dev/null)" ]; then entrypoint_log "📝 Kopiere Standard-Nginx-Konfiguration..." cp -r /etc/nginx/* /mnt/user/appdata/AIO-Webserver/nginx/ fi # Falls Supervisor-Konfiguration nicht existiert, kopiere Standarddatei if [ ! -f /mnt/user/appdata/AIO-Webserver/supervisord.conf ]; then entrypoint_log "📝 Kopiere Standard-Supervisor-Konfiguration..." cp /etc/supervisord.conf /mnt/user/appdata/AIO-Webserver/supervisord.conf fi # Falls keine Standard-Webseite existiert, erstelle eine if [ ! -f /mnt/user/appdata/AIO-Webserver/html/index.html ]; then entrypoint_log "🌐 Erstelle Standard-Webseite..." echo "<h1>AIO-Webserver läuft erfolgreich!</h1>" > /mnt/user/appdata/AIO-Webserver/html/index.html fi # Prüft, ob `/docker-entrypoint.d/` Skripte enthält und führt sie aus if /usr/bin/find "/docker-entrypoint.d/" -mindepth 1 -maxdepth 1 -type f -print -quit 2>/dev/null | read v; then entrypoint_log "🔄 Führe zusätzliche Skripte in /docker-entrypoint.d/ aus..." find "/docker-entrypoint.d/" -follow -type f -print | sort -V | while read -r f; do case "$f" in *.sh) if [ -x "$f" ]; then entrypoint_log "▶ Starte Skript: $f" "$f" else entrypoint_log "⚠ Skript ist nicht ausführbar: $f" fi ;; *) entrypoint_log "ℹ Ignoriere Datei: $f";; esac done fi entrypoint_log "🚀 Starte Supervisor..." exec /usr/bin/supervisord -c /etc/supervisord.conf #Superwisord.conf [supervisord] nodaemon=true [supervisorctl] serverurl=unix:///var/run/supervisor.sock [program:nginx] command=/usr/sbin/nginx -g 'daemon off;' autostart=true autorestart=true stderr_logfile=/var/log/nginx.err.log stdout_logfile=/var/log/nginx.out.log [program:flask] command=python3 /var/www/flaskapp/app.py autostart=true autorestart=true stderr_logfile=/var/log/flask.err.log stdout_logfile=/var/log/flask.out.log [program:mariadb] command=/usr/bin/mysqld_safe --skip-grant-tables autostart=true autorestart=true stderr_logfile=/var/log/mysql.err.log stdout_logfile=/var/log/mysql.out.log [program:php-fpm] command=/usr/sbin/php-fpm83 --nodaemonize autostart=true autorestart=true stderr_logfile=/var/log/php-fpm.err.log stdout_logfile=/var/log/php-fpm.out.log Vermutlich wird jetzt jeder erfahrene Programmierer die Hände über den Kopf zusammenschlagen und mir sagen das es alles Mist ist was ich da zusammengeschusstert habe, ich wusste es eben nicht besser. (KI hat geholfen) Was der Docker beim starten nicht macht: Es werden die Dateien im Ngnix Ordner (fastcgi_params, mime.types, nginx.conf) nicht automatisch angelegt unter Appdata/AIO-Webserver/nginx/ und wenn ich mir den standart Nginx Docker mal anschaue, fehlt da glaube ich noch mehr. Weiterhin erstellt er mir keine DB unter dem Ordner Appdata/AIO-Webserver/mariadb/, sowie unter Appdata/flaskapp/ die app.py Nachdem ich mit viel rummgefummel obigen Docker tatsächlich irgenwie zum laufen gebracht habe, bin ich mir ziemlich sicher, das dies eben nicht der richtige Weg ist (zumindes was ich mir mit der KI da zurechtgefummelt habe) Alternativ hatte ich versucht die originale Nginx Docker zu erweitern, jedoch waren dort die von mir hinzugefügten Services nicht Persistent und nach jedem Neustart oder Neuinstallation weg. (Falls es da einen Weg gibt, wäre ich über einen Tipp sehr Dankbar) Nach weiteren Recherchen habe ich dann versucht über Docker-Compose einzelne Docker zu einem Stack zu verbinden, hab das aber dann erstmal auf Eis gelegt. Weitere Idee war, einen vorhandenes Projekt von Github zu kopieren und zu erweitern (wenn man das darf, bzw. wenn das geht) Ich danke euch im Voraus für eure Hilfe und hoffe auf hilfreiche Tipps.
  5. Ich geh mal davon aus, das deine Platten nicht über USB angeschlossen sind. Das Problem hatte ich anfangs mal mit meinem ersten Aufbau und da hatte ich die Platten per USB angeschlossen gehabt.
  6. Ich bin jetzt mal nur kurz über den Thread geflogen. Handelt es sich bei den Platten um SAS Platten?
  7. Power Mode: active: Der Leistungsmodus der Festplatte ist aktiv, d.h., die Festplatte ist eingeschaltet und betriebsbereit.
  8. Zu 1. JA, da bist du leider einer von vielen, die das selbe Problem haben. Warum oder wieso das so ist, kann irgendwie keiner wirklich erklären. Es gibt einige Systeme, bei denen die SAS Platten tatsächlich in den Sleep gehen, allerdings ist dies aus meiner sicht dem passsendem Controller zuzuschreiben. (ist aber nur meine Meinung) Ich selbst habe auch noch einige Platten rumliegen, die ich aufgrund der oben beschriebenen Situation nicht im Einsatz sind, was ich selbst sehr schade finde. Zu 2. Das ist denke ich ganz normal, das die Rate da schwankt.
  9. Kann ich nur bestätigen. Hab seit gestern auch eine Lexar verbaut und war doch sehr verwundert, das die im Idle schon um 6 Grad wärmer ist, obwohl die auf dem selben Controller sitzt wie die Crutical Als Kühlkörper verwende ich diese hier: vielleicht kannst du mir mal ein Feedback geben, wenn du den Kühler verbaut hast. Würd mich mal interessieren, da ich mit dem auch geliebäugelt hatte. Na eigentlich sollte die NVME sich drosseln und nicht sich das System aufhängen. Wenn es nicht der Aufkleber mit der Seriennummer ist oder explizit der Garantieverlust beschrieben ist denke ich schon das man das machen kann. Hier wird übrigens im Benchmark getestet was es bringt den Aufkleber zu entfernen. (Spoiler, ich lass sie ab jetzt auch wieder drauf)
  10. Warum nimmst du nicht den Docker von ich777 Der läuft super. Gesendet von iPhone mit Tapatalk
  11. Ich hätte diese konstelation genommen und dann die Daten zusätlich gesichert mittels Script von Mgutt. In der Konstelation Array stehen ihm nur 2 TB effektiv zu Verfügung. Vorteil: 1. Die Schreib und Lesegeschwindigkeit ist schneller, da die Daten gänzlich von der NVME verwendet werden. 2. Es gibt keine Geschwindigkeitverlusste wegen der Parrity und dem Array 3.. Mittels Backupscript sind die Daten auf der Arrayplatte zusätzlich vorhanden für den Falle eines Ausfalles. Nachteil: Sollte eine Platte ausfallen, bedarf es einer Nutzereingabe (welche für mich absolut tragbar wären, da das Array nicht automatisch weiterlaufen würde im Falle eines Plattenausfalls) Naja die Docker laufen ja intern. Warum nicht den Speedgewinn dadurch genießen. Ein Nextcloud läuft deutlich schneller, wenn es auf einer NVME läuft als auf ner SSD.
  12. Das geht ohne Probleme. Dazu musst du nur den Pfad im Docker zusätzlich einrichten, so das Plex das auch Mountet. HIer ein Beispiel: Macht Sinn Ja, du kannst soviele Mounts einrichten wie du willst.
  13. Hm das überlege ich mir nochmal ob ich das will. Aktuell hab ich mir meine Fotos quer in Immich eingespielt, aber damit bin ich auch noch nicht so zufrieden. Hätte eigentlich gerne das in NC genutzt... Ich werde das morgen mal testen....
  14. Hab den damals gewählt: Kann ich das irgendwie wechseln ohne alles neue einzurichten? Theoretisch müsste ich doch lediglich den Verweis auf die alte DB machen und eine Kopie von dem alten Appdata in die Linux Appdata kopieren oder?
  15. Werde ich auch gleich mal machen, da ichdas sehr cool finde. Das schaue ich mir auch gleich mal an Wie hast du das hinbekommen. Nur mit installation von Memorys?

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.