Startseite » Knowledge Base » Koel Installation Debian – LXC Container

Koel Installation Debian – LXC Container

Koel Music-Server Streaming, Docker oder doch Systeminstallation? Es gibt da aktuell recht wenig patente Lösungen für. Grundsätzlich läuft der Docker-Container von diversen Entwicklern.

Aktuell wird hier nur das Docker-Image von phanan weiterentwickelt. Daher widme ich mich hier der Installation aus dem aktuellen github.

Hier gibt es nun die aktuelle Installation-Anleitung auf einem LXC-Container mit Debian 11 (privilegiert). Warum privilegiert?, weil ohne, kein vernünftiges NFS/CIFS Mounting funktioniert.

Alles läuft wie gewöhnlich über einen Proxmox-Server per virtueller LXC Installation. Natürlich kann dies auch separat auf einer Hardware-Maschine mit Linux installiert werden 🙂

Solltest Du deine MP3 Dateien intern im Container (System) speichern wollen, so ist das dann per privilegiertem LXC nicht erforderlich.

Koel Installation Debian

Erforderliche Pakete installieren

apt install nginx ffmpeg curl unzip lsb-release apt-transport-https ca-certificates -y

PHP-Paketquelle (Repository) hinzufügen

wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list

System aktualisieren

apt update && apt upgrade -y

Für die derzeit aktuellste Koel-Version von 6.11.0 ist PHP 8.0 erforderlich!

PHP Version 8.0 installieren

apt install php8.0-{cli,fpm,common,phpdbg,mysql,sqlite3,zip,gd,mbstring,curl,xml,bcmath,tokenizer} openssl -y

Prüfe die aktuelle PHP-Konfiguration

systemctl status php8.0-fpm nginx

php.ini (8.0) anpassen

nano /etc/php/8.0/fpm/php.ini

Ändere die Werte nach u.a. Vorgabe

memory_limit = 1024M
upload_max_filesize = 512M
post_max_size = 512M

PHP Service neu starten

systemctl restart php8.0-fpm

NGINX Settings

Lösche die default.conf

rm /etc/nginx/sites-enabled/default

Erstelle neue koel.conf für NGINX

nano /etc/nginx/sites-available/koel.conf

Codeschnipsel für die koel.conf

Auf das + Zeichen klicken um den Code anzeigen zu lassen. Dieser muss in die koel.conf eingefügt werden.

Symlink erstellen und Konfiguration aktivieren

ln -s /etc/nginx/sites-available/koel.conf /etc/nginx/sites-enabled/
nano /etc/nginx/nginx.conf

Im Bereich http Sektion einfügen

client_max_body_size 1024M;

Prüfe, ob NGINX Settings in Ordnung sind

nginx -t

NGINX neu starten

systemctl reload nginx.service

MYSQL Datenbank erstellen

MariaDB installieren

apt install mariadb-server -y

Sicherheitsprozess MYSQL durchführen

mysql_secure_installation

Root-Passwort neu setzen und die weiteren Schritte alle mit Y bestätigen

Logge dich nun zur Datenbank ein

mysql -u root -p

Datenbank und User erstellen

CREATE DATABASE koeldb;
CREATE USER 'koeluser'@'localhost' IDENTIFIED BY 'dein-passwort';
GRANT ALL ON koeldb.* TO 'koeluser' IDENTIFIED BY 'dein-passwort';
FLUSH PRIVILEGES;
EXIT;

Composer installieren

Download Install-Script

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Composer Setup ausführen

php composer-setup.php

Lösche das Installations-Script

php -r "unlink('composer-setup.php');"

Verschiebe composer in den System-Pfad

mv composer.phar /usr/local/bin/composer

Koel 6.11.0 installieren (derzeit aktuelles Release)

Wechsle nach und lade die gepackte Version

cd /var/www
wget https://github.com/koel/koel/releases/download/v6.11.0/koel-v6.11.0.tar.gz

Entpacke nach /var/www/koel

tar -zxvf koel-v6.11.0.tar.gz

Lösche das heruntergeladene ZIP-Archiv

rm koel-v6.11.0.tar.gz

Wechsle in das Koel-Verzeichnis und bearbeite die .env

cd koel
nano .env

Vom Entwickler gibt es auf Github eine Vorlage mit diversen Variablen für die .env Datei. Nachfolgend liste ich meine gesetzten Werte.

Diese Definitionen dienen dir nur als Richtwert.

Werte für die .env Datei

Composer ausführen in /var/www/koel

cd /var/www/koel
composer install

Koel Installation Debian

Initialisiere KOEL mit:

php artisan koel:init --no-assets

(Dieses ist nach der erstmaligen Installation erforderlich!)

koel

koel

Rechte für den kompletten Ordner setzen

chown -R www-data:www-data /var/www/koel
chmod -R 777 /var/www/koel/storage/

Entweder du mountest vom NAS (dafür müssten in der /etc/fstab die erforderlichen Definitionen gesetzt werden). Achte darauf, das dieser Mount-Point die Rechte für www-data hat.

Hierfür sind dann folgende Dinge erforderlich:

apt install nfs-common nfs4-acl-tools

Eintrag in der /etc/fstab

### MP3 Musikserver Mount ###
IP-Server-Adresse:/mnt/user/mp3 /media/mp3 nfs defaults 0 0

Einfacher geht es, wenn du ohne Mount (CIFS,NFS) deine Musikdateien nach /media kopierst und die Rechte für diesen Ordner wie folgt setzt:

chown -R www-data:www-data /media

Es wurde nun durch das erste Initialisieren von KOEL die Datenbank migriert und ein Standard-Admin Zugang eingerichtet.

Per Browser den Server aufrufen mit http://IP-Adresse-Server/

Im Login die Defaultwerte einmalig eingeben:

Username: admin@koel.dev
Password: KoelIsCool

Ändere unbedingt unter User-Settings deine Daten und das Passwort.

Koel Installation Debian

Have Fun 😉

Scan-Befehl per CLI

Mediaordner scannen

cd /var/www/koel
php artisan koel:sync

Für Koel als Streaming Server deiner privaten Musiksammlung gibt es auch eine App Mobil für Android oder IPhones.

Für einen Proxmox-Server eignet sich hervorragend ein Mini-PC:

Weitere Hilfe und Infos zu Koel Installation Debian findest Du hier.

War dieser Artikel hilfreich?
Artikel wurde bisher 626 mal gelesen
Einen Kommentar schreiben

Bewerte den Artikel nach Punkten

1 Punkt2 Punkte3 Punkte4 Punkte5 Punkte ( 6 Bewertungen, Durchschnitt: 5,00 von insgesamt 5 )
Loading...