summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO34
-rw-r--r--PKGBUILD52
-rw-r--r--config.json80
-rw-r--r--deemix-server.install22
-rw-r--r--deemix-server.service12
-rw-r--r--deemix-server.sysusers1
-rw-r--r--deemix-server.tmpfiles2
-rw-r--r--example-nginx.conf16
8 files changed, 219 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..e0e02c991177
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,34 @@
+pkgbase = deemix-server-git
+ pkgdesc = Standalone server packaged with headless components of deemix-pyweb
+ pkgver = r460.4308163b3f
+ pkgrel = 1
+ url = https://git.rip/RemixDev
+ install = deemix-server.install
+ arch = any
+ license = GPL3
+ makedepends = git
+ depends = python>=3.6
+ depends = deemix
+ depends = python-flask
+ depends = python-flask-socketio>=5.0
+ depends = python-eventlet
+ depends = python-bidict
+ provides = deemix-pyweb
+ backup = var/lib/deemix-server/.config/deemix/config.json
+ source = example-nginx.conf
+ source = config.json
+ source = deemix-server.service
+ source = deemix-server.sysusers
+ source = deemix-server.tmpfiles
+ source = deemix-pyweb::git+https://git.rip/RemixDev/deemix-pyweb.git
+ source = deemix-webui::git+https://git.rip/RemixDev/deemix-webui.git
+ sha256sums = 07bd9e362149e1f79c5f155c01cb5c8eeaacf44715f64d168b7fdf073e702fbb
+ sha256sums = 093c445f5a27044f648ab997e477ff6fd41789a3d940eb7f27d64c230de20681
+ sha256sums = b7a0a3940978c0242aad1a071d8676319a304d3aedff704b1941e0e441fda187
+ sha256sums = 12860b6fd3ade371ce4c2d81e645d29dbf02267ff9c299059621014b4e0e0614
+ sha256sums = ad69a84e0d51df2418c71b24e262e5128f0661ebc09abc719e6d7aec309e7599
+ sha256sums = SKIP
+ sha256sums = SKIP
+
+pkgname = deemix-server-git
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..5cd1daac7a40
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,52 @@
+# Maintainer: AlphaJack <alphajack at tuta dot io>
+
+pkgname="deemix-server-git"
+pkgver=r460.4308163b3f
+pkgrel=1
+pkgdesc="Standalone server packaged with headless components of deemix-pyweb"
+arch=("any")
+url="https://git.rip/RemixDev"
+license=("GPL3")
+depends=("python>=3.6" "deemix" "python-flask" "python-flask-socketio>=5.0" "python-eventlet" "python-bidict")
+makedepends=("git")
+provides=("deemix-pyweb")
+source=("example-nginx.conf"
+ "config.json"
+ "deemix-server.service"
+ "deemix-server.sysusers"
+ "deemix-server.tmpfiles"
+ "deemix-pyweb::git+https://git.rip/RemixDev/deemix-pyweb.git"
+ "deemix-webui::git+https://git.rip/RemixDev/deemix-webui.git")
+sha256sums=("07bd9e362149e1f79c5f155c01cb5c8eeaacf44715f64d168b7fdf073e702fbb"
+ "093c445f5a27044f648ab997e477ff6fd41789a3d940eb7f27d64c230de20681"
+ "b7a0a3940978c0242aad1a071d8676319a304d3aedff704b1941e0e441fda187"
+ "12860b6fd3ade371ce4c2d81e645d29dbf02267ff9c299059621014b4e0e0614"
+ "ad69a84e0d51df2418c71b24e262e5128f0661ebc09abc719e6d7aec309e7599"
+ "SKIP"
+ "SKIP")
+backup=("var/lib/deemix-server/.config/deemix/config.json")
+install="deemix-server.install"
+
+pkgver(){
+ cd "deemix-pyweb"
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=10 HEAD)"
+}
+
+package(){
+ install -d -m 755 "$pkgdir/usr/lib/deemix-server"
+ install -d -m 755 "$pkgdir/var/lib/deemix-server/.config/deemix"
+ cp -dr "deemix-pyweb"/* "$pkgdir/usr/lib/deemix-server/"
+ cp -dr "deemix-webui"/* "$pkgdir/usr/lib/deemix-server/webui"
+ cp -dr "deemix-webui"/* "$pkgdir/usr/lib/deemix-server/webui"
+
+ chmod +x "$pkgdir/usr/lib/deemix-server/server.py"
+ install -d -m 755 "$pkgdir/usr/bin"
+ ln -s "/usr/lib/deemix-server/server.py" "$pkgdir/usr/bin/deemix-server"
+
+ echo "CHANGEME" > "$pkgdir/var/lib/deemix-server/.config/deemix/.arl"
+ install -D -m 644 "config.json" "$pkgdir/var/lib/deemix-server/.config/deemix/config.json"
+ install -D -m 644 "example-nginx.conf" "$pkgdir/usr/lib/deemix-server/example-nginx.conf"
+ install -D -m 644 "deemix-server.service" "$pkgdir/usr/lib/systemd/system/deemix-server.service"
+ install -D -m 644 "deemix-server.sysusers" "$pkgdir/usr/lib/sysusers.d/deemix-server.conf"
+ install -D -m 644 "deemix-server.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/deemix-server.conf"
+}
diff --git a/config.json b/config.json
new file mode 100644
index 000000000000..526545c434bd
--- /dev/null
+++ b/config.json
@@ -0,0 +1,80 @@
+{
+ "downloadLocation": "/var/lib/deemix-server/downloads",
+ "tracknameTemplate": "%artist% - %title%",
+ "albumTracknameTemplate": "%tracknumber% - %title%",
+ "playlistTracknameTemplate": "%position% - %artist% - %title%",
+ "createPlaylistFolder": true,
+ "playlistNameTemplate": "%playlist%",
+ "createArtistFolder": false,
+ "artistNameTemplate": "%artist%",
+ "createAlbumFolder": true,
+ "albumNameTemplate": "%artist% - %album%",
+ "createCDFolder": true,
+ "createStructurePlaylist": false,
+ "createSingleFolder": false,
+ "padTracks": true,
+ "paddingSize": "0",
+ "illegalCharacterReplacer": "_",
+ "queueConcurrency": 3,
+ "maxBitrate": "3",
+ "fallbackBitrate": true,
+ "fallbackSearch": false,
+ "logErrors": true,
+ "logSearched": false,
+ "saveDownloadQueue": false,
+ "overwriteFile": "n",
+ "createM3U8File": false,
+ "playlistFilenameTemplate": "playlist",
+ "syncedLyrics": false,
+ "embeddedArtworkSize": 800,
+ "embeddedArtworkPNG": false,
+ "localArtworkSize": 1400,
+ "localArtworkFormat": "jpg",
+ "saveArtwork": true,
+ "coverImageTemplate": "cover",
+ "saveArtworkArtist": false,
+ "artistImageTemplate": "folder",
+ "jpegImageQuality": 80,
+ "dateFormat": "Y-M-D",
+ "albumVariousArtists": true,
+ "removeAlbumVersion": false,
+ "removeDuplicateArtists": false,
+ "tagsLanguage": "",
+ "featuredToTitle": "0",
+ "titleCasing": "nothing",
+ "artistCasing": "nothing",
+ "executeCommand": "",
+ "tags": {
+ "title": true,
+ "artist": true,
+ "album": true,
+ "cover": true,
+ "trackNumber": true,
+ "trackTotal": false,
+ "discNumber": true,
+ "discTotal": false,
+ "albumArtist": true,
+ "genre": true,
+ "year": true,
+ "date": true,
+ "explicit": false,
+ "isrc": true,
+ "length": true,
+ "barcode": true,
+ "bpm": true,
+ "replayGain": false,
+ "label": true,
+ "lyrics": false,
+ "syncedLyrics": false,
+ "copyright": false,
+ "composer": false,
+ "involvedPeople": false,
+ "source": false,
+ "savePlaylistAsCompilation": false,
+ "useNullSeparator": false,
+ "saveID3v1": true,
+ "multiArtistSeparator": "default",
+ "singleAlbumArtist": false,
+ "coverDescriptionUTF8": false
+ }
+}
diff --git a/deemix-server.install b/deemix-server.install
new file mode 100644
index 000000000000..9cad5eb81e51
--- /dev/null
+++ b/deemix-server.install
@@ -0,0 +1,22 @@
+post_install(){
+ cat <<INFO
+
+This package install files in the following directories:
+
+- executable: /usr/bin/deemix-server
+- program files: /usr/lib/deemix-server
+- program data: /var/lib/deemix-server
+- interface configuration: /var/lib/deemix-server/.config/deemix/config.json
+- arl cookie: /var/lib/deemix-server/.config/deemix/.arl
+- systemd unit: deemix-server.service
+
+It is strongly reccomended to start the server via its unit file.
+You can edit it to adjust your host, port and cookie settings.
+Changing the ARL cookie before starting the service is mandatory.
+
+The file /usr/lib/deemix-server/example-nginx.conf contains
+an example NginX server configuration. At the moment it is not possible
+to use subdirectories, as the server uses hardcoded absolute URLs.
+
+INFO
+}
diff --git a/deemix-server.service b/deemix-server.service
new file mode 100644
index 000000000000..1d8a3fe95f6c
--- /dev/null
+++ b/deemix-server.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Deemix server
+After=network.target
+
+[Service]
+User=deemix-server
+Type=simple
+WorkingDirectory=/var/lib/deemix-server
+ExecStart=/usr/bin/deemix-server --serverwide-arl --host 127.0.0.1 6595
+
+[Install]
+WantedBy=multi-user.target
diff --git a/deemix-server.sysusers b/deemix-server.sysusers
new file mode 100644
index 000000000000..532adfc5d35e
--- /dev/null
+++ b/deemix-server.sysusers
@@ -0,0 +1 @@
+u deemix-server - "Deemix server user" /var/lib/deemix-server
diff --git a/deemix-server.tmpfiles b/deemix-server.tmpfiles
new file mode 100644
index 000000000000..ffaa5dcebde3
--- /dev/null
+++ b/deemix-server.tmpfiles
@@ -0,0 +1,2 @@
+d /var/lib/deemix-server 0700 deemix-server deemix-server
+Z /var/lib/deemix-server - deemix-server deemix-server
diff --git a/example-nginx.conf b/example-nginx.conf
new file mode 100644
index 000000000000..ffa7771c0d71
--- /dev/null
+++ b/example-nginx.conf
@@ -0,0 +1,16 @@
+server {
+ listen 80;
+ server_name deemix.example.org;
+
+ location / {
+ proxy_pass http://127.0.0.1:6595;
+
+ # https://stackoverflow.com/a/25607600
+ location ^~ /socket {
+ rewrite ^/socket/(.*) /$1 break;
+ proxy_pass http://127.0.0.1:6595;
+ # https://redd.it/l3n2be
+ #proxy_set_header Host $host;
+ }
+ }
+}