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:25] – [1. Basis: ModSecurity aktivieren] 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 251: | Zeile 273: | ||
| <code bash> | <code bash> | ||
| - | a2enmod proxy proxy_http proxy_wstunnel headers rewrite ssl security2 | + | 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 542: | Zeile 538: | ||
| <code apache> | <code apache> | ||
| - | < | + | < |
| - | ServerName music.example.com | + | < |
| + | ServerName music.example.de | ||
| + | ServerAlias music.example.net | ||
| + | DocumentRoot / | ||
| + | |||
| + | ErrorLog / | ||
| + | CustomLog / | ||
| + | |||
| + | ProxyPreserveHost On | ||
| + | Protocols http/1.1 | ||
| + | #ProxyPass "/ | ||
| + | |||
| + | # WebSocket-Unterstützung | ||
| + | RewriteEngine On | ||
| + | RewriteCond %{HTTP: | ||
| + | RewriteRule /(.*) | ||
| + | |||
| + | # Alles andere Proxy | ||
| + | ProxyPass / http:// | ||
| + | ProxyPassReverse / http:// | ||
| - | ProxyPreserveHost On | + | RequestHeader set X-Forwarded-Proto " |
| - | | + | |
| - | | + | RequestHeader set X-Forwarded-For " |
| + | | ||
| - | # Sicherheit | + | KeepAlive On |
| - | | + | |
| - | | + | |
| - | | + | |
| - | # Logging | + | Include / |
| - | | + | |
| - | | + | |
| + | SSLCertificateKeyFile | ||
| + | Header always set Strict-Transport-Security " | ||
| </ | </ | ||
| + | </ | ||
| </ | </ | ||
| - | |||
| ==== 7. Test & Debug ==== | ==== 7. Test & Debug ==== | ||
| Zeile 579: | 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.1777022756.txt.gz · Zuletzt geändert: von Sebastian Hetzel
