From 6849358f51d6444455ae6b72775bca61824bfa19 Mon Sep 17 00:00:00 2001 From: Chewing_Bever Date: Sun, 10 Jan 2021 14:50:14 +0100 Subject: [PATCH] Added koel config --- koel/.env.example | 4 ++++ koel/README.md | 15 +++++++++++++ koel/docker-compose.yml | 49 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 koel/.env.example create mode 100644 koel/README.md create mode 100644 koel/docker-compose.yml diff --git a/koel/.env.example b/koel/.env.example new file mode 100644 index 0000000..b462e61 --- /dev/null +++ b/koel/.env.example @@ -0,0 +1,4 @@ +# Database Settings +DB_USERNAME=koel +DB_PASSWORD=changeme +DB_ROOT_PASSWORD=changeme diff --git a/koel/README.md b/koel/README.md new file mode 100644 index 0000000..7fbf68e --- /dev/null +++ b/koel/README.md @@ -0,0 +1,15 @@ +# Koel +[Koel](https://github.com/koel/koel) is a self-hostable music server. + +# Initial setup +After launching the application for the first time, you have to run the initial +setup. This can be done using the following command: + +``` +docker exec -it koel_app_1 php artisan koel:init +``` + +This will ask you to configure the admin user etc. The location for the music +can be left as the default (`/music`). The command will error out after asking +this; this is normal. Even though an error occurred, the system still +initialized successfully. diff --git a/koel/docker-compose.yml b/koel/docker-compose.yml new file mode 100644 index 0000000..9701e69 --- /dev/null +++ b/koel/docker-compose.yml @@ -0,0 +1,49 @@ +version: '3.5' + +services: + app: + image: 'hyzual/koel:latest' + restart: 'always' + + depends_on: + - 'db' + environment: + - 'DB_CONNECTION=mysql' + - 'DB_DATABASE=koel' + - 'DB_HOST=db' + - 'DB_PASSWORD' + - 'DB_USERNAME' + labels: + - 'com.centurylinklabs.watchtower.enable=true' + networks: + - 'default' + - 'nginx' + volumes: + - 'config:/var/www/html' + - 'covers:/var/www/html/public/img/covers' + - 'music:/music' + + db: + image: 'mysql:8' + restart: 'always' + command: '--default-authentication-plugin=mysql_native_password' + + environment: + - 'MYSQL_DATABASE=koel' + - 'MYSQL_PASSWORD=$DB_PASSWORD' + - 'MYSQL_ROOT_PASSWORD=$DB_ROOT_PASSWORD' + - 'MYSQL_USER=$DB_USERNAME' + labels: + - 'com.centurylinklabs.watchtower.enable=true' + volumes: + - 'db-data:/var/lib/mysql' + +networks: + nginx: + external: true + +volumes: + config: + covers: + db-data: + music: