ubuntu:navidrome
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| ubuntu:navidrome [2026/04/24 11:39] – [6. Apache VirtualHost (Reverse Proxy)] Sebastian Hetzel | ubuntu:navidrome [2026/07/29 22:28] (aktuell) – [Kennzahlen] Sebastian Hetzel | ||
|---|---|---|---|
| Zeile 52: | Zeile 52: | ||
| </ | </ | ||
| + | ==== Logrotate ==== | ||
| + | |||
| + | <file bash / | ||
| + | / | ||
| + | { | ||
| + | rotate 14 | ||
| + | daily | ||
| + | missingok | ||
| + | notifempty | ||
| + | delaycompress | ||
| + | compress | ||
| + | create 640 navidrome navidrome | ||
| + | postrotate | ||
| + | if service navidrome status > /dev/null 2>& | ||
| + | touch / | ||
| + | chown navidrome: | ||
| + | service navidrome restart > /dev/null 2>& | ||
| + | fi; | ||
| + | endscript | ||
| + | sharedscripts | ||
| + | } | ||
| + | </ | ||
| ==== Daten wiederherstellen (bei Migration) ==== | ==== Daten wiederherstellen (bei Migration) ==== | ||
| Zeile 253: | Zeile 275: | ||
| a2enmod proxy proxy_http proxy_wstunnel headers rewrite ssl | a2enmod proxy proxy_http proxy_wstunnel headers rewrite ssl | ||
| </ | </ | ||
| + | |||
| + | Dual Stack aktivieren --> ''/ | ||
| <code apache> | <code apache> | ||
| - | < | + | Listen 80 |
| - | < | + | Listen [::]:80 |
| - | | + | Listen |
| - | | + | Listen [::]:443 |
| + | </code> | ||
| - | # Logs | + | Apache-Version nicht bekannt geben --> '' |
| - | ErrorLog | + | |
| - | CustomLog / | + | |
| - | # Proxy Settings | + | <code apache> |
| - | | + | # ServerTokens |
| - | Protocols http/ | + | # This directive configures what you return as the Server |
| - | + | # Header. The default is ' | |
| - | | + | # and compiled in modules. |
| - | RewriteEngine On | + | # Set to one of: Full | OS | Minimal | Minor | Major | Prod |
| - | RewriteCond %{HTTP:Upgrade} =websocket [NC] | + | # where Full conveys the most information, and Prod the least. |
| - | | + | #ServerTokens Minimal |
| - | + | ServerTokens Prod | |
| - | | + | #ServerTokens Full |
| - | ProxyPass / http://127.0.0.1:4533/ nocanon | + | |
| - | ProxyPassReverse / http:// | + | |
| - | + | ||
| - | # Forwarded Headers | + | |
| - | RequestHeader set X-Forwarded-Proto " | + | |
| - | | + | |
| - | RequestHeader set X-Forwarded-For " | + | |
| - | + | ||
| - | | + | |
| - | KeepAlive On | + | |
| - | MaxKeepAliveRequests 100 | + | |
| - | KeepAliveTimeout 5 | + | |
| - | ProxyTimeout 300 | + | |
| - | + | ||
| - | # Security Headers | + | |
| - | # X-XSS-Protection ist veraltet, kann optional drinbleiben oder entfernt werden | + | |
| - | # Header always set X-XSS-Protection "1; mode=block" | + | |
| - | | + | |
| - | | + | |
| - | + | ||
| - | | + | |
| - | Include / | + | |
| - | SSLCertificateFile / | + | |
| - | SSLCertificateKeyFile / | + | |
| - | + | ||
| - | </ | + | |
| - | </ | + | |
| </ | </ | ||
| ===== ModSecurity-Konfiguration für Apache2 Reverse Proxy vor Navidrome ===== | ===== ModSecurity-Konfiguration für Apache2 Reverse Proxy vor Navidrome ===== | ||
| Zeile 544: | Zeile 540: | ||
| < | < | ||
| < | < | ||
| - | | + | |
| - | DocumentRoot / | + | |
| + | | ||
| - | # Logs | + | |
| - | | + | CustomLog / |
| - | CustomLog / | + | |
| - | # Proxy Settings | + | |
| - | | + | Protocols http/1.1 |
| - | Protocols http/ | + | |
| - | | + | |
| - | RewriteEngine On | + | RewriteEngine On |
| - | RewriteCond %{HTTP: | + | RewriteCond %{HTTP: |
| - | RewriteRule /(.*) ws:// | + | RewriteRule /(.*) |
| - | | + | |
| - | ProxyPass / http:// | + | ProxyPass / http:// |
| - | ProxyPassReverse / http:// | + | ProxyPassReverse / http:// |
| - | # Forwarded Headers | + | |
| - | | + | RequestHeader set X-Forwarded-Port " |
| - | RequestHeader set X-Forwarded-Port " | + | RequestHeader set X-Forwarded-For " |
| - | RequestHeader set X-Forwarded-For " | + | Header always set X-XSS-Protection "1; mode=block" |
| - | # Connection / Timeout Optimierungen | + | |
| - | | + | MaxKeepAliveRequests 100 |
| - | MaxKeepAliveRequests 100 | + | KeepAliveTimeout 5 |
| - | KeepAliveTimeout 5 | + | ProxyTimeout 300 |
| - | ProxyTimeout 300 | + | |
| - | + | ||
| - | # Security Headers | + | |
| - | # X-XSS-Protection ist veraltet, kann optional drinbleiben oder entfernt werden | + | |
| - | # Header always set X-XSS-Protection "1; mode=block" | + | |
| - | Header always set X-Content-Type-Options " | + | |
| - | Header always set Strict-Transport-Security " | + | |
| - | + | ||
| - | # SSL Certs | + | |
| - | Include / | + | |
| - | SSLCertificateFile / | + | |
| - | SSLCertificateKeyFile / | + | |
| + | Include / | ||
| + | Include / | ||
| + | SSLCertificateFile | ||
| + | SSLCertificateKeyFile | ||
| + | Header always set Strict-Transport-Security " | ||
| </ | </ | ||
| </ | </ | ||
| Zeile 608: | Zeile 597: | ||
| | Test | DetectionOnly | | | Test | DetectionOnly | | ||
| | Produktion | On + gezielte Exclusions | | | Produktion | On + gezielte Exclusions | | ||
| + | |||
| + | ===== Datenbank ===== | ||
| + | |||
| + | ==== Tools ==== | ||
| + | |||
| + | <code |shell> | ||
| + | sudo apt update | ||
| + | sudo apt install sqlite3 | ||
| + | </ | ||
| + | |||
| + | ==== Kennzahlen ==== | ||
| + | |||
| + | <code |bash> | ||
| + | sqlite3 / | ||
| + | </ | ||
| + | |||
| + | <code |sql> | ||
| + | sqlite> select count(*) from media_file; | ||
| + | 89379 | ||
| + | sqlite> select count(*) from album; | ||
| + | 5224 | ||
| + | sqlite> SELECT COUNT(*) FROM artist; | ||
| + | 10954 | ||
| + | </ | ||
ubuntu/navidrome.1777023593.txt.gz · Zuletzt geändert: von Sebastian Hetzel
