Jump to content

mgutt

Moderators
  • Posts

    11,366
  • Joined

  • Last visited

  • Days Won

    124

Everything posted by mgutt

  1. Ein paar fertige Builds findest du hier: https://pkgs.org/download/mkvtoolnix Auf der jeweiligen Seite findet du im Abschnitt "Requires" die Abhängigkeiten zu anderen Paketen. Als Docker wäre es allerdings deutlich einfacher. Du kannst einen Container ja auch per Script starten und Befehle übergeben, falls das dein Ziel ist.
  2. Gibt es währenddessen denn keine Fehler in den Container Logs?
  3. Eine Roadmap alleine, macht noch kein gutes Produkt. Ich mein vom Prinzip gibt es bereits genug Plattformen die VM und Docker können wie zB Proxmox oder Synology. Trotzdem existieren die alle nebeneinander und keiner macht den anderen platt. Es gibt auch immer noch genug Leute, die sich ihr NAS komplett selbst zusammen zimmern zb mit Ubuntu. Ich denke jedenfalls, dass es andersherum gefährlich für die Marktanteile der anderen wird, wenn Unraid HA und ZFS integriert. Dann wird unRAID nämlich auch für diverse Business Anwendungen interessant. Allerdings fehlt es dann noch an einem Hardware-Lieferanten. Aber wer weiß was die Zeit noch bringt.
  4. Dann die Mover Logs aktivieren und die System Logs sichten. Es muss dafür ja einen Grund geben.
  5. Das oder du baust die Laufwerke in den Server und startest MakeMKV als Container. So machen das auch viele. Die arme interne Platte. Einfach nutzlos TBW produziert ☝️
  6. In einem PC vermutlich nicht, aber wenn man wie ich Blu-Rays auf den Server rippt und über 10G große Datenmengen transferiert, dann schon. Jedenfalls wäre es albern so viel Geld für eine Evo Plus auszugeben, wenn man weiß, dass es Modelle gibt, die diese Einschränkung nicht haben. Ist ja nicht so als gäbe es keine günstigeren Alternativen. Ist auf jeden Fall frech von Samsung. Wäre ja wirklich nicht schwer gewesen die Revision "Evo Plus 2" oder so zu nennen. Sie ist ja schließlich kein absoluter Schrott und hat gut beim SLC Cache zugelegt. Nur für manche ist es eben nicht das richtige Modell.
  7. Das hat mir zu denken gegeben und es geht doch. Wenn ich zB das oben genannte Kommando auf dem Host ausführe, dann identifiziert sich der NPM Container auch nur mit dem Servicenamen "nginx" und "node": Ich kann also nicht sehen, dass diese Dienste gar nicht auf dem Host laufen, sondern in einem Container. Allerdings sehe ich dessen PID 13351, welche ja von irgendeinem Haupt-Prozess erstellt wurde. Ich habe dann erst mal alle Haupt-PIDs aller Container ausgeben lassen: Und genau damit bekomme ich nun alle Sub-PIDs, die diese PID erstellt hat und schon habe ich "13351" und "13366" gefunden: Schlussfolgerung: Man liest die PIDs jedes Containers aus, dann alle Sub-PIDs und zuletzt ermittelt man auf welchen Ports die Prozesse des Containers lauschen. Damit sollte sich die GUI so anpassen lassen, dass sie die wirklich offenen Ports anzeigt. Mal sehen ob ich das umgesetzt bekomme. Ist ja denke ich auch interessant für br0 Container, dass man mal sieht was die wirklich so offen haben.
  8. And you are sure you needed a custom location for this? A location isn't usually a redirect. It only means that /vnc.html should open a different target than the general rule. This means you could add the location /bla.html and let it show the content of /vnc.html.
  9. Die SN550 ist eine günstige NVMe ohne DRAM. Sie nutzt stattdessen ein paar MB RAM vom Server, um diesen Nachteil auszugleichen, was aber sehr gut funktioniert. Für mich kommt sie aber trotzdem nicht in Frage, weil sie bei einem Upgrade auf 10G Netzwerk zu langsam wäre (Achtung, 12GB davon wurden mit über 1,5GB/s in den SLC Cache geschrieben, also ist sie eigentlich noch etwas langsamer): https://www.tomshardware.com/reviews/wd-blue-sn550-m2-nvme-ssd-review-best-dramless-ssd-yet/3 Das gilt auch für das 2TB Modell: https://www.computerbase.de/2021-04/wd-black-sn850-blue-sn550-test/2/#diagramm-leistung-schreiben-nach-fuellstand-wd-blue-sn550-2-tb Wenn einem irgendwas unter 600 MB/s ausreichen, kann man sie aber trotzdem kaufen. Garantie und TBW sind jedenfalls gut. Vom Preis her liegt die SN550 aktuell bei 80 €. Eine SanDisk Extreme Pro, WD SN750, Samsung Evo, Crucial P5... kostet im Angebot 5 bis 20 € mehr. Da ist die Frage ob man nicht lieber auf ein Angebot wartet. Die restliche Hardware klingt so als hättest du dich gut informiert 😉
  10. In einer idealen Welt würde ich gerne direkt in der Container-Übersicht sehen können, welche Ports wirklich offen sind. Und sollte es Wege geben, wäre das ja ein Ansatz die Unraid GUI für alle entsprechend anzupassen.
  11. Tatsächlich sehe ich bei deiner Auswertung eher wenige Schreibzugriffe. Schließlich liegen die neuesten 7 Dateien ganze 5 Minuten auseinander. Daraus kann man eher schließen, dass Dateien in /mnt/cache_raid/appdata nicht dein Problem sind. Du solltest eher mal das Dockerverzeichnis /var/lib/docker auswerten (= docker.img oder Dockerpfad auf dem Cache).
  12. Hmm doof. Ein einfacher Portscan bringt natürlich auch nichts, weil bei Host weiß ich dann ja nicht ob das Unraid selbst oder der Container ist. Bleibt eigentlich nur im Container selbst. Also zB so: su apt-get update apt-get install lsof lsof -i -P -n | grep LISTEN Auf die Art bekomme ich gefühlt 1000 Ergebnisse, aber alle Ports: lsof -i -P -n | grep LISTEN nginx 233 root 18u IPv4 32304866 0t0 TCP *:80 (LISTEN) nginx 233 root 19u IPv6 32304867 0t0 TCP *:80 (LISTEN) nginx 233 root 20u IPv4 32304868 0t0 TCP *:443 (LISTEN) nginx 233 root 21u IPv6 32304869 0t0 TCP *:443 (LISTEN) nginx 233 root 22u IPv4 32304870 0t0 TCP *:81 (LISTEN) nginx 233 root 23u IPv6 32304871 0t0 TCP *:81 (LISTEN) nginx 233 root 24u IPv4 32304872 0t0 TCP *:25565 (LISTEN) nginx 233 root 25u IPv6 32304873 0t0 TCP *:25565 (LISTEN) nginx 233 root 26u IPv4 32304874 0t0 TCP *:25566 (LISTEN) nginx 233 root 27u IPv6 32304875 0t0 TCP *:25566 (LISTEN) node 248 root 21u IPv6 32301913 0t0 TCP *:3000 (LISTEN) nginx 1112 root 18u IPv4 32304866 0t0 TCP *:80 (LISTEN) nginx 1112 root 19u IPv6 32304867 0t0 TCP *:80 (LISTEN) nginx 1112 root 20u IPv4 32304868 0t0 TCP *:443 (LISTEN) nginx 1112 root 21u IPv6 32304869 0t0 TCP *:443 (LISTEN) ... und noch viel mehr... Trotzdem nervig, wenn man das bei jedem Container einzeln machen muss und wer weiß ob der Container vielleicht später noch mehr Ports aufmacht. Die Kontrolle fehlt dann natürlich. Wobei.. Docker nutzt doch cgroups. Da kann man doch bestimmt die Capability entfernen, dass der einfach mehr Ports aufmacht. Muss ich mal suchen.
  13. Ich vermute mal, damit man Container immer in separaten Netzen betreibt. Also auch nicht wie das viele hier machen mit dem einen proxynet, sondern dass man immer nur die Container in ein Netzwerk steckt, die auch wirklich miteinander kommunizieren können sollen. Das reduziert dann natürlich die Angriffsfläche, wenn einer der Container gehackt wurde.
  14. Ich meine damit alles. Also auch EUSt, was ja mit 19% den größten Teil ausmacht.
  15. Korrekt. Ähnliches soll aber auch in anderen Netzwerk-Typen gelten, wenn IPv6 aktiv ist bzw in br0 usw gilt das natürlich sowieso auch.
  16. Nope: Der Container hat zusätzlich die Ports 3000, 25565 und 25566 geöffnet. Weitere weiß ich nicht mal, weil ich nicht wüsste, wie ich das herausfinde.
  17. And now you open yourdomain.com or yourdomain.com/vnc.html? By enabling this option, these rules are added to the nginx config: cat /etc/nginx/conf.d/include/assets.conf location ~* ^.*\.(css|js|jpe?g|gif|png|woff|eot|ttf|svg|ico|css\.map|js\.map)$ { if_modified_since off; # use the public cache proxy_cache public-cache; proxy_cache_key $host$request_uri; # ignore these headers for media proxy_ignore_headers Set-Cookie Cache-Control Expires X-Accel-Expires; # cache 200s and also 404s (not ideal but there are a few 404 images for some reason) proxy_cache_valid any 30m; proxy_cache_valid 404 1m; # strip this header to avoid If-Modified-Since requests proxy_hide_header Last-Modified; proxy_hide_header Cache-Control; proxy_hide_header Vary; proxy_cache_bypass 0; proxy_no_cache 0; proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504 http_404; proxy_connect_timeout 5s; proxy_read_timeout 45s; expires @30m; access_log off; include conf.d/include/proxy.conf; } As you can see many files depending on their extension are cached by the proxy itself. By that your proxy "guards" your target container as those requests are not forwarded anymore. It simply means, that the file is copied to the nginx container. This can be useful as nginx is very fast in serving static files, but it can result in a high disk usage. For example if you use Nextcloud with huge files, this could fully utilize your SSD. Yes. Some containers like Plex or Unifi need it. By that the container is able to send requests/data to the user while the website stays open. Shouldn' t be a downside to allow it by default, but not necessary of course. Force SSL forwards all "http" requests to "https" I was not able to find a difference?! With HSTS the (compatible) browser automatically overwrites "http" to "https" which the user types in to the address bar. So the user is not able to open your website through "http". A drawback could be, that if your SSL certificate does not work anymore, nobody is able to reach your website (until the TTL of HSTS expired). Same as HSTS, but this time for all subdomains of your domain, too. I would say it passes Basic Auth to the target container, so Nginx asks for the password and passes it to the target container, so if the target container has Basic Auth as well (with the same credentials), the user does not need to re-enter it. This adds these rules: cat /etc/nginx/conf.d/include/block-exploits.conf ## Block SQL injections set $block_sql_injections 0; if ($query_string ~ "union.*select.*\(") { set $block_sql_injections 1; } if ($query_string ~ "union.*all.*select.*") { set $block_sql_injections 1; } if ($query_string ~ "concat.*\(") { set $block_sql_injections 1; } if ($block_sql_injections = 1) { return 403; } ## Block file injections set $block_file_injections 0; if ($query_string ~ "[a-zA-Z0-9_]=http://") { set $block_file_injections 1; } if ($query_string ~ "[a-zA-Z0-9_]=(\.\.//?)+") { set $block_file_injections 1; } if ($query_string ~ "[a-zA-Z0-9_]=/([a-z0-9_.]//?)+") { set $block_file_injections 1; } if ($block_file_injections = 1) { return 403; } ## Block common exploits set $block_common_exploits 0; if ($query_string ~ "(<|%3C).*script.*(>|%3E)") { set $block_common_exploits 1; } if ($query_string ~ "GLOBALS(=|\[|\%[0-9A-Z]{0,2})") { set $block_common_exploits 1; } if ($query_string ~ "_REQUEST(=|\[|\%[0-9A-Z]{0,2})") { set $block_common_exploits 1; } if ($query_string ~ "proc/self/environ") { set $block_common_exploits 1; } if ($query_string ~ "mosConfig_[a-zA-Z_]{1,21}(=|\%3D)") { set $block_common_exploits 1; } if ($query_string ~ "base64_(en|de)code\(.*\)") { set $block_common_exploits 1; } if ($block_common_exploits = 1) { return 403; } ## Block spam set $block_spam 0; if ($query_string ~ "\b(ultram|unicauca|valium|viagra|vicodin|xanax|ypxaieo)\b") { set $block_spam 1; } if ($query_string ~ "\b(erections|hoodia|huronriveracres|impotence|levitra|libido)\b") { set $block_spam 1; } if ($query_string ~ "\b(ambien|blue\spill|cialis|cocaine|ejaculation|erectile)\b") { set $block_spam 1; } if ($query_string ~ "\b(lipitor|phentermin|pro[sz]ac|sandyauer|tramadol|troyhamby)\b") { set $block_spam 1; } if ($block_spam = 1) { return 403; } ## Block user agents set $block_user_agents 0; # Disable Akeeba Remote Control 2.5 and earlier if ($http_user_agent ~ "Indy Library") { set $block_user_agents 1; } # Common bandwidth hoggers and hacking tools. if ($http_user_agent ~ "libwww-perl") { set $block_user_agents 1; } if ($http_user_agent ~ "GetRight") { set $block_user_agents 1; } if ($http_user_agent ~ "GetWeb!") { set $block_user_agents 1; } if ($http_user_agent ~ "Go!Zilla") { set $block_user_agents 1; } if ($http_user_agent ~ "Download Demon") { set $block_user_agents 1; } if ($http_user_agent ~ "Go-Ahead-Got-It") { set $block_user_agents 1; } if ($http_user_agent ~ "TurnitinBot") { set $block_user_agents 1; } if ($http_user_agent ~ "GrabNet") { set $block_user_agents 1; } if ($block_user_agents = 1) { return 403; }
  18. You are not using NPM Official. Please ask here: https://forums.unraid.net/topic/76460-support-djoss-nginx-proxy-manager/
  19. @Squid I think I found something which could be interesting for your appdata backup plugin: If the docker service is stopped and the user install your plugin, it creates the following in /var/lib/docker: Not sure how important those files are for your plugin, but they aren't present anymore after the docker service has been started (as the mount /var/lib/docker > /mnt/user/system/docker/docker "overwrites" the path). Now I hope you can help me as well: I'm working on my own plugin to create a RAM disk for /var/lib/docker/containers. By that this happens after the docker service has been started: unraid mounts /mnt/user/system/docker/docker to /var/lib/docker my enhancement creates a backup of /var/lib/docker/containers then it creates a ram disk through tmpfs of /var/lib/docker/containers then it restores the backup into the ram disk all containers start as usual, but this time they write logs/json files to the RAM instead of the SSD the cache SSDs are sleeping until the backup schedule is executed This works perfectly, except your plugin creates /var/lib/docker/unraid while the docker service wasn't running. This time, after enabling the docker service, everything seems to work as usual: Unraid mounts the docker path, my enhancement creates the ram disk..., but now the cache SSDs are not sleeping. Everything which is written to /var/lib/docker/containers, is written to the cache SSD's /mnt/cache/system/docker/docker/containers?! I really don't understand why this is happening. Do you?
  20. Und was gibt das aus? fdisk -l /dev/sdc Vom Gefühl her ist sdc1 eine 512MiB große Partition und der Rest ist eben noch frei. In dem Fall würde ich den Pool auflösen und mit dem Unassigned Devices Plugin die Partitionen löschen.
  21. Danke für die Info. Habe es jetzt auch in der Doku gefunden, dass das normale Bridge Netzwerk die DNS Einstellungen vom Host übernimmt: https://docs.docker.com/config/containers/container-networking/ @Rall1 Für dich heißt das, dass du erstmal ein Custom Netzwerk erstellen musst. In der Anleitung wird das nur beiläufig mit "I am personally using a custom network 'proxynet' within unraid" erklärt. Das könnte zB so gemacht werden: docker create network invi Nachdem du das mit dem WebTerminal von Unraid ausgeführt hast, kannst du das Netzwerk "invi" für die beiden Container auswählen. Auch wichtig ist, dass der postgresql Container, egal welche Version du verwenden möchtest, unbedingt "postgres" genannt werden muss, da der invidious container wohl nur diesen Namen sucht, wenn er sich mit der Datenbank verbinden möchte. Oder man übergibt "--hostname=postgres" über die Post Arguments. Das sollte auch gehen. Dann kann er heißen wie er will.
  22. Mal PCIe Slots tauschen? Vielleicht hilft's ja.
×
×
  • Create New...