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.

Docker, um Musik-Dateien im lokalen Netz per DLNA zur Verfügung zu stellen?

Featured Replies

Hallo,

ich möchte mit meinem Yamaha-AV-Receiver per UPnP die Musikdateien auf meinem unraid-Server abspielen können. Dafür muss ein DLNA-Server diese im lokalen Netz zur Verfügung stellen.

 

Mit der Installation des Plex-Servers als Docker ist das zwar möglich, aber ich habe leider festgestellt, dass diese App auch ohne aktuelle Streaming-Anforderungen ständig auf die Datenplatte des Arrays, auf der die Musikdaten liegen, zuzugreifen scheint, so dass diese automatisiert nicht in den Spindown-Schlafmodus geht. Selbst manuell lässt sich die Platte erst dann zum Einschlafen bewegen, wenn der Plex-Docker gestoppt wurde.

 

Gibt es hier irgendeine Möglichkeit, Plex dazu zu überreden, nicht ständig die Platten wach zu halten? Oder gibt es einen anderen DLNA-Server, der die Platten nur beim Anfordern von Lesevorgängen benutzt und ansonsten den Spindown erlaubt?

 

Wichtig ist mir, dass die Daten im Netz so zur Verfügung gestellt werden, dass am Endgerät auch eine Auswahl nach der vorhandenen Ordnerstruktur möglich ist und nicht nur nach den MP3-Tags.

 

Eine Idee?

 

Danke für Eure Hilfe

 

doc_jochim

 

Es gibt noch den Docker "minidlna". Schau dir den mal an. Damit mache ich das.

Alternativ könntest Du dir auch JellyFin anschauen. Der hat ebenfalls einen eingebauten DLNA-Server und kann neben Videos auch Musik.
Der Jellyfin-Docker holt die Platten nur aus dem Spindown, wenn auch drauf zugegriffen wird. Sprich, wenn Du aktiv drauf zugreifst oder ein Library Scan (Manuell gestartet oder per Zeitsteuerung) läuft. 

  • Community Expert

Ich nutze minimserver im docker. ist speziell für musik

3 hours ago, doc_jochim said:

dass diese App auch ohne aktuelle Streaming-Anforderungen ständig auf die Datenplatte des Arrays, auf der die Musikdaten liegen, zuzugreifen scheint, so dass diese automatisiert nicht in den Spindown-Schlafmodus geht. Selbst manuell lässt sich die Platte erst dann zum Einschlafen bewegen, wenn der Plex-Docker gestoppt wurde.

dann liegt das Problem aber woanders ... aber ja, nur für DLNA braucht es keinen Plex Server ... dafür würde ich auch minidlna nehmen.

  • Author
2 hours ago, alturismo said:

dann liegt das Problem aber woanders ...

Woran kann das liegen? Gibt es hier typische Einstellungsfehler, die dieses Bild auslösen können? Ich habe in meinem System keine SSD-Cache-Platten, sondern nur das HDD-Array.

 

5 hours ago, Archonw said:

Es gibt noch den Docker "minidlna". Schau dir den mal an. Damit mache ich das.

2 hours ago, alturismo said:

nur für DLNA braucht es keinen Plex Server ... dafür würde ich auch minidlna nehmen.

 

Das werde ich demnächst einfach mal probieren.

 

4 hours ago, Synoxion said:

Alternativ [...] JellyFin

Muss ich auch nochmal reinschauen, aber ich meine, Jellyfin hätte ich bereits probiert, als ich daraufhin bei plex hängengeblieben bin. Ich meine, da war irgendwas mit der Bereitstellung der Sortierung nach Ordnern komisch, daß kein Browsen durch Ordner und Unterordner möglich war, sondern alle Ordner (auch Unterordner) in einer gemeinsamen Struktur dargestellt wurden. Ich bin mir aber nicht mehr sicher - also auch nochmal probieren.

Edited by doc_jochim

13 minutes ago, doc_jochim said:

Ich habe in meinem System keine SSD-Cache-Platten, sondern nur das HDD-Array.

ok, dann wird JEDER Docker zumindest eine HDD aktiv halten ... der Docker ist ja aktiv ... und nutzt seine Base und ggf. zusätzlich seine appdata ...

 

 

  • Author

Ah - ok, dann hatte ich bei der Einrichtung etwas falsch verstanden. Ich war davon ausgegangen, dass dieses Docker-Dings im Arbeitsspeicher des unraid-Servers läuft und nur dann die Daten auf der HDD abfragt, wenn Clients auf die Musikdateien zugreifen.

 

Also auf jeden Fall eine SSD hinzufügen? Oder gibt es eine Möglichkeit, die Docker im RAM laufen zu lassen?

 

Wie müsste dann die SSD konfiguriert werden, um die HDDs schlafen legen zu können? Einfach als zusätzliche Platte neben dem Array? Oder im Array? Oder als Cache-Platte?

  • Community Expert
1 minute ago, doc_jochim said:

Ah - ok, dann hatte ich bei der Einrichtung etwas falsch verstanden. Ich war davon ausgegangen, dass dieses Docker-Dings im Arbeitsspeicher des unraid-Servers läuft und nur dann die Daten auf der HDD abfragt, wenn Clients auf die Musikdateien zugreifen.

 

Dein Problem ist nicht Plex oder so, Dein Problem ist, daß jeder gestartete Docker ja auch irgendwo arbeitet.
Der liegt nicht dumm in der Ecke und tut nix, der ist ja im Prinzip nur ein verschlankte Anwendung, die auf einem Basissystem läuft. Und diese Mischung ist aktiv. Die arbeitet auf dem zugrunde liegenden Datenträger.
Wenn Du das auf einer SSD laufen läßt bleibt die auch durch sporadische Zugriffe wach, legt sich aber selbstständig immer dazwischen schlafen.

Da kommt der Spindown des Array mit seinen mindestens 15 Minuten nicht nach und bleibt permanent an. selbst wenn nur alls 14,9 Minuten nur einmal kurz gelesen/geschrieben wird.
Laß Deine Docker (und falls existieren auch VM) auf einer SSD in einem extra Pool laufen.
 

1 minute ago, doc_jochim said:

Also auf jeden Fall eine SSD hinzufügen?

 

Oder mit laufenden Festplatten leben.

 

1 minute ago, doc_jochim said:

Oder gibt es eine Möglichkeit, die Docker im RAM laufen zu lassen?

 

Du müßtest irgendwie unraid dazu bewegen eine Ramdisk zu erstellen und in dieser die relevanten Systemverzeichnisse zu nutzen. (Natürlich brauchst Du dafür auch genug RAM, den unraid dann aber nicht anderweitig nutzt. RAM ist eigentlich (fast) immer teurer als SSD Flashspeicher.)

Das sehe ich nicht wirklich als realistisch an.

 

Was spricht dagegen eine kleine SSD als Pool einzubauen?  Selbst eine >100GB SSD sollte ausreichen. Die sollte sich im Gebrauchtmarkt schnell finden lassen.

Oder hast Du keine Anschlüsse mehr frei für den Betrieb einer SSD?

 

1 minute ago, doc_jochim said:

Wie müsste dann die SSD konfiguriert werden, um die HDDs schlafen legen zu können?

 

Als Pool und dann die relevanten Systemshares auf diesen Pool transferieren. Die Shares dann noch korrekt einstellen und das sollte es gewesen sein.

  • Author

ok - das probiere ich am Wochenende mal aus. Wenn's noch Fragen dazu gibt, melde ich mich. Wenn's geklappt hat, dann auch 🙂

 

2 hours ago, doc_jochim said:

Ich war davon ausgegangen, dass dieses Docker-Dings im Arbeitsspeicher des unraid-Servers läuft

das OS an sich läuft im RAM, das ist auch so ... aber Dockers, VM's, ... nicht, dann wird es auch langsam eng im RAM ;)

 

2 hours ago, doc_jochim said:

ieses Docker-Dings im Arbeitsspeicher des unraid-Servers läuft und nur dann die Daten auf der HDD abfragt, wenn Clients auf die Musikdateien zugreifen.

in den Mülleimer gesprochen, möglich, ja ... praktisch, nicht wirklich.

 

du brauchst ne Ramdisk wo bei jedem Start neu erstellt wird, darin wird dann bei jedem Start der Docker neu installiert und die Konfiguration muss ja auch vorgenommen werden ... also kurz, für "cracks" mit "prrof of concept" Gedanke, umsetzbar, aber praktisch, nope ...

 

Man könnte auch vor dem herunter fahren alles aus dem RAM weg kopieren und nach dem Start wieder rein ... aber auch hier, lass es ;)

 

RAM ist ein flüchtiger Speicher, nach einem Neustart ist der leer ;)

 

wie @DataCollector bereits anmerkte, eine SSD und alles ist gut, Anleitungen zum Verschieben findest du ne Menge hier.

Moin,

 

ich nutze den Docker Logitech Media Server in Verbindung mit einem externen Raspi3, Hifiberry amp2 und Picore player
Bin von dem LMS echt überzeugt, es stellt sämtliche Plugins zu verfügug die man braucht Spotify,Tidal,Deezer usw. außerdem kann man seine YouTube Music Playlist abspielen.

Eigene Musik habe ich auf der Gdrive Cloud gespeichert und spiele diese dann auch über LMS bzw. den externen Player ab.

Plex und Jelly sind gut für Filme/Serien, aber für Musik meiner Meinung nach nicht zu gebrauchen.

 

  • Author
On 10/29/2024 at 4:07 PM, DataCollector said:

Was spricht dagegen eine kleine SSD als Pool einzubauen?

 

Kurz 'ne blöde Anfängerfrage: Wenn die zusätzliche SSD eingebaut ist, wird diese ja erst einmal als unassigned erkannt und möchte formatiert werden. Welches Format wähle ich denn hier aus? XFS, wie die Platten im Array?

 

EDIT / Ergänzung:

 

On 10/29/2024 at 4:07 PM, DataCollector said:

Als Pool und dann die relevanten Systemshares auf diesen Pool transferieren. Die Shares dann noch korrekt einstellen und das sollte es gewesen sein.

 

Ich hab' die SSD erstmal zum Testen mit XFS formatiert - wenn was anderes besser sein sollte, kann ich es ja noch problemlos ändern.

 

Array gestoppt und SSD als Pool hinzugefügt. Aber welches sind die relevanten Systemshares und wie transferiere ich die in den gerade erstellten Pool? Shares korrekt einstellen? Hmmm... - was wäre denn für die Systemshares 'korrekt'? Was muss / sollte wie eingestellt sein?

 

 

 

 

 

Edited by doc_jochim
Ergänzung

1 hour ago, doc_jochim said:

Ich hab' die SSD erstmal zum Testen mit XFS formatiert - wenn was anderes besser sein sollte, kann ich es ja noch problemlos ändern.

 

single drive, xfs, passt

 

1 hour ago, doc_jochim said:

Aber welches sind die relevanten Systemshares und wie transferiere ich die in den gerade erstellten Pool? Shares korrekt einstellen?

/system

/appdata

/domains (bei Nutzung von VM's)

/isos (kein Schaden)

 

zum Verschieben, Dienste vorher ausschalten, wie man verschiebt ... wird zuhauf hier beschrieben oder steht auch in den docs (Anleitungen)

  • Community Expert
2 hours ago, doc_jochim said:

Kurz 'ne blöde Anfängerfrage: Wenn die zusätzliche SSD eingebaut ist, wird diese ja erst einmal als unassigned erkannt und möchte formatiert werden. Welches Format wähle ich denn hier aus? XFS, wie die Platten im Array?

 

Einzeldatenträger xfs (also Array und auch Pool).

Wenn man mehrere Dateenträger in einem Pool verbinden will (Raid0, Raid1, Raid5...): bis vor unraid 6.12.x: btrfs

Wenn man mehrere Dateenträger in einem Pool verbinden will (Raid0, Raid1, Raid5...): seit unraid 6.12.x: zfs

 

2 hours ago, doc_jochim said:

Array gestoppt und SSD als Pool hinzugefügt. Aber welches sind die relevanten Systemshares und wie transferiere ich die in den gerade erstellten Pool?

 

Die Systemshares sind:

appdata
domains
system
isos
 

Wobei isos nicht wirklich wichtig ist, daß der auf einer SSD liegt, da dort eigentlich nur ISO Dateien rumliegen, die man eher selten braucht..

 

Wie verlagert man ein Share:

https://docs.unraid.net/unraid-os/manual/shares/user-shares/

Runterscollen bis: "Moving Files from the Array to a Pool (cache)"

 

2 hours ago, doc_jochim said:

Shares korrekt einstellen? Hmmm... - was wäre denn für die Systemshares 'korrekt'?

 

Ich habe mal einen Screenshot eingestellt.

Damit wird dann gewährleistet, daß der Mover bei seinem Durchlauf das Share appdata vom Array auf meinen Pool verschiebt.

Natürlich kann der Mover das nur dann machen, wenn dei Dateien in dem Share nicht gerade von einer Anwendung benutzt/festgehalten werden.

Deshalb für diese einmalige Moveraktion Docker und VM abschalten, dann moven und wenn der Mover fertig ist kann man bei Bedarf VM/Docker wieder starten.

 

Beschreibung des Screenshot:

Oben habe ich bei Minimun free Space einen Wert eingestellt, der auf der sehr großen Pool/SSD dafür sorgt, daß sie nie vollgeschrieben wird.

Faustformel: mindestens so groß einstellen, wie die jemand darauf zu schreibende Datei ist. Wenn es nur um die Systemshares geht und nicht einen Plattencache für Nutzdaten im Array, kann der Wert auch recht klein gewählt werden.

 

Primary Storage ist eben mein Pool: namens cachenvmeb [Cache Nvme B].

Secondary Storage ist das Array.

Und ganz unten steht, daß der Mover bei seiner Aktion alles vom Array in den Pool schubsen soll.

 

 

Sysshare-Screenshot 2024-11-02 200529.png

Edited by DataCollector

  • Author
15 hours ago, DataCollector said:

 

Screenshot [...] Damit wird dann gewährleistet, daß der Mover bei seinem Durchlauf das Share appdata vom Array auf meinen Pool verschiebt.

 

Uuups - nächstes Fremdwort 🤔

Was ist der Mover und was tut der wann bzw. was sollte der tun? Wird der hier jetzt nur manuell einmal gestartet, um die Systemdateien von HDD-Array auf die einzelne SSD zu schieben und dort zu lassen? Oder muss hier dann ein regelmäßiges moven stattfinden, da das System zwar nach dem Move von der SSD liest, aber trotzdem weiter auf das Array schreibt, so dass Änderungen nur durch regelmäßiges Kopieren auch auf der SSD landen?

 

  • Community Expert
3 hours ago, doc_jochim said:

Was ist der Mover und was tut der wann bzw. was sollte der tun?

 

Grundlagen (kannst Du auch in der Dokumentation ähnlich nachlesen):

 

Unraid ist damals geplant worden um einmal ein Festplattenarray und zusätzlich einen (oder mehrere) Pool(s) mit SSD zu haben.

Die Festplattens schlucken im aktiven Betrieb viel Strom und sollen deshalb so lange wie möglich stromsparend schlafen (Spindown).

Es ist also so gedacht, daß zu schreibende Dateien nicht die Festplatten aufwecken sollen, sondern im vorgeschalteten Pool (als Cache) landen.

Da der Cache aber irgendwann voll ist, hat man den Mover erfunden (eigentlich ein "Verschieber" von Dateien).

Dieser kann in einstellbaren Intervallen oder auch einzeln manuell angestoßen werden und macht dann das, was in den jeweiligen Shares eingestellt ist.

 

Wenn ein Share eingestellt ist, daß der Mover vom Pool ins Array verschieben soll und dieser startet, dann nimmt er die Dateien&Verzeichnisse dieses Shares von dem Pool runter und schreibt sie in die selbe Verzeichnisstruktur auf die zugeordnete(n) Festplatte(n) im Array. Sollte eine Anwendung diese Datei aber in dem Moment benutzen(festhalten), fasst der Mover die nicht an und diese Datei bleibt im Pool.

 

Ein Share kann auch anders herum eingestellt werden, so daß eben alles des Share vom Array in den Pool geschubst wird.

 

In Deinem Fall (nur die Systemshares auf den Pool/SSD) wird der Mover eben einmalig mißbraucht um eben das, was Du in diesen Shares noch auf dem Array hast dann eben automatisiert in den Pool zu schubsen.

Das funktioniert sehr gut und man muß sich (wenn nichts schief läuft) keine Gedanken um Verzeichnisstrukturen, Kopieren, Zugriffsberechtigungen etc.. machen. Der Mover erledigt das alles selbstständig, weil das seine ureigenste Aufgabe ist.

 

Dieser Mover ist für Deine Aktion nur einmalig erforderlich, deshalb brauchst Du keinen Intervall einzustellen, sondern kannst ihn (nachdem DU die Shares wunschgemäß eingestellt hast) einmalig im Main-Tab unten anstoßen.

 

3 hours ago, doc_jochim said:

Wird der hier jetzt nur manuell einmal gestartet, um die Systemdateien von HDD-Array auf die einzelne SSD zu schieben und dort zu lassen?

 

In Deinem Fall: ja, einmalig. (Vorher Docker container abschalten, DOcker in Settings abschalten, alle VM abschalten und auch VM in Settings abschalten).

 

3 hours ago, doc_jochim said:

Oder muss hier dann ein regelmäßiges moven stattfinden, da das System zwar nach dem Move von der SSD liest, aber trotzdem weiter auf das Array schreibt,

 

Wenn Du die Shares so einstellst, wie im Screenshot, schreibt das System nicht ins Array.

Sollte sich durch eine Fehler dennoch irgendwann mal etwas im Array befinden, kann ein Moverlauf das verschieben (wenn es gerade nicht benutzt wird).

Es ist Deine Entscheidung ob Du den Mover timergesteuert immer mal wieder nachschauen läßt oder den im Scheduler eben so einstellst, daß er nicht timergesteuert läuft.

 

3 hours ago, doc_jochim said:

so dass Änderungen nur durch regelmäßiges Kopieren auch auf der SSD landen?

 

Es ist zu bevorzugen (und im Share eben auch so einzustellen), daß der Pool der primäre Storage ist, wodurch unraid von sich aus dann eben beim Schreiben immer diesen benutzt.

 

 

P.S.: Da das wirklich Grundsatzfragen sind empfehle ich Dir wirklich sehr eindringlich Dich mit der Doku von unraid zu befassen.

https://docs.unraid.net/unraid-os/manual/shares/user-shares/#primary-and-secondary-storage-unraid-612

 

Have fun! 🙂

  • Author

So - bin fleißig am Lesen ☺️

 

Und habe nebenbei schon mal versucht, die Systemshares appdata, domains, system und isos nach entsprechender Änderung der Einstellungen mit dem mover auf die ssd zu verschubsen.

 

Bei appdata, comains und isos hat das auch problemlos geklappt.

 

Aber wenn ich mir unter shares das system-share anschaue, passiert hier schon seit Stunden nichts mehr - keine Schreibvorgänge auf der SSD, die HDDs aus dem Array haben sich schlafen gelegt und das Verhältnis der Daten auf Disk1 aus dem Array und der SSD bleibt unverändert.

 

Unter Main steht weiterhin, dass der Mover aktiv sei.

 

?!

 

Woran könnte das jetzt liegen? Warum wird der System-Share nicht vollständig auf die SSD verschubst?

 

 

Edited by doc_jochim

  • Community Expert
1 hour ago, doc_jochim said:

Woran könnte das jetzt liegen? Warum wird der System-Share nicht vollständig auf die SSD verschubst?

 

Irgendetwas könnte auf dieses Share noch zugreifen. Hast Du Docker und auch VM in dem Settingstab auch wirklich abgeschaltet?

  • Author
6 hours ago, DataCollector said:

Hast Du Docker und auch VM in dem Settingstab auch wirklich abgeschaltet?

 

Es reicht doch, die obere Variable 'enable dockers' und 'enable VMs' in den settings auf jeweils auf 'no' zu setzen, so dass VM und docker nach einem Neustart nicht mehr im Menü auftauchen - oder muss zum Abschalten noch etwas anderes verändert werden?

 

Vorher hatte ich das zum Testen installierte minidlna gestoppt.

  • Community Expert
1 hour ago, doc_jochim said:

Es reicht doch, die obere Variable 'enable dockers' und 'enable VMs' in den settings auf jeweils auf 'no' zu setzen,

 

Ja, das sollte reichen.

  • Author

Hmmm... - und warum vollendet dann der mover seinen Verschubs-Auftrag nicht? Seit gestern abend steht hier im Main-Tab neben dem ausgegrauten move-button nur 'disabled - mover is running'. Aber er runnt scheinbar nicht mehr wirklich, denn alle Platten sind spinned-down.

 

?!

11 hours ago, DataCollector said:

Irgendetwas könnte auf dieses Share noch zugreifen.

 

Aber was? Eine Idee, wie man herausbekommt, was den mover blockiert? Greifen noch andere Plugins auf Dateien im Systemshare zu?

 

Kann man irgendwo sehen, was der mover gerade tut oder gerne tun möchte? Oder ob er auf irgendetwas wartet?

Edited by doc_jochim

  • Community Expert
1 hour ago, doc_jochim said:

Hmmm... - und warum vollendet dann der mover seinen Verschubs-Auftrag nicht? Seit gestern abend steht hier im Main-Tab neben dem ausgegrauten move-button nur 'disabled - mover is running'. Aber er runnt scheinbar nicht mehr wirklich, denn alle Platten sind spinned-down.

 

Aber was? Eine Idee, wie man herausbekommt, was den mover blockiert?

 

Warum er klemmt: Weiß ich nicht. Ich würde den Mover im Terminal mit "mover stop" verszuchen zu stoppen und unraid mal neu rebooten.

Dann neu mit mover versuchen.

Sollte das wieder fehl schlagen könnte man mit mc/krusader/oder so versuchen zu verschieben.

 

4 hours ago, doc_jochim said:

mmm... - und warum vollendet dann der mover seinen Verschubs-Auftrag nicht? Seit gestern abend steht hier im Main-Tab neben dem ausgegrauten move-button nur 'disabled - mover is running'. Aber er runnt scheinbar nicht mehr wirklich, denn alle Platten sind spinned-down.

was liegt denn noch auf /cache  ... ?

  • Author
1 hour ago, alturismo said:

was liegt denn noch auf /cache  ... ?

Auf der gerade vor ein paar Tagen eingebauten und als Pool ins System aufgenommenen SSD (das meintest Du doch mit /cache - oder?) liegt bisher noch nichts drauf - außer die im Rahmen der aktuellen Verschiebeaktion erstellten 4 Systemshares.

 

4 hours ago, DataCollector said:

 

Warum er klemmt: Weiß ich nicht. Ich würde den Mover im Terminal mit "mover stop" versuchen zu stoppen und unraid mal neu rebooten.

Dann neu mit mover versuchen.

Sollte das wieder fehl schlagen könnte man mit mc/krusader/oder so versuchen zu verschieben.

 

Irgendwas muss sich wohl beim ersten Versuch verschluckt haben. Ich habe den mover mit dem stop-Befehl im Terminal angehalten und nach Systemneustart dann neu aktiviert - jetzt hat er zumindest bis auf ein paar Dateien (114kB) alles verschubst.

 

Ich habe dann mal versucht, den Rest des Docker-Verzeichnisses im Systemshare mit mc von der hdd auf die ssd zu verschieben. Dabei erhielt ich dann Fehlermeldungen, dass die Dateien schon im Ziel vorhanden sind. Also scheinbar muss beim ersten moving wirklich etwas schiefgegangen sein, so dass Dateien schon neu angelegt wurden, aber in der Quelle nicht gelöscht wurden.

 

Es waren alles Dateien in Verzeichnissen mit schier endlosen Zahlenkolonnen-Namen aus /system/docker/installed/overlay2. Was sind das eigentlich für Verzeichnisse?

 

Könnten solche Dateidopplungen dann dazu geführt haben, dass der mover sich aufgehängt hat?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

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.