diff options
-rw-r--r-- | .SRCINFO | 34 | ||||
-rw-r--r-- | PKGBUILD | 52 | ||||
-rw-r--r-- | config.json | 80 | ||||
-rw-r--r-- | deemix-server.install | 22 | ||||
-rw-r--r-- | deemix-server.service | 12 | ||||
-rw-r--r-- | deemix-server.sysusers | 1 | ||||
-rw-r--r-- | deemix-server.tmpfiles | 2 | ||||
-rw-r--r-- | example-nginx.conf | 16 |
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; + } + } +} |