root folder creation
This commit is contained in:
parent
a5ef6efd4d
commit
f31106e1db
|
@ -1,3 +1,4 @@
|
|||
config/
|
||||
config_deemix/
|
||||
downloads/
|
||||
music/
|
||||
|
|
|
@ -5,10 +5,6 @@ services:
|
|||
image: lidarr-onsteroids
|
||||
build:
|
||||
context: .
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=100
|
||||
- AUTOCONFIG=true
|
||||
ports:
|
||||
- "8686:8686"
|
||||
- "6595:6595"
|
||||
|
@ -16,4 +12,5 @@ services:
|
|||
- ./config:/config
|
||||
- ./config_deemix:/config_deemix
|
||||
- ./downloads:/downloads
|
||||
- ./music:/music
|
||||
restart: unless-stopped
|
||||
|
|
|
@ -4,6 +4,8 @@ LABEL maintainer="youegraillot"
|
|||
|
||||
ENV DEEMIX_SINGLE_USER=true
|
||||
ENV AUTOCONFIG=true
|
||||
ENV PUID=1000
|
||||
ENV PGID=1000
|
||||
|
||||
# flac2mp3
|
||||
COPY lidarr-flac2mp3/root/usr /usr
|
||||
|
@ -13,9 +15,9 @@ RUN apk add --no-cache ffmpeg && \
|
|||
# deemix
|
||||
COPY --from=registry.gitlab.com/bockiii/deemix-docker:latest /deemix-server /deemix-server
|
||||
RUN chmod +x /deemix-server
|
||||
VOLUME [ "/config_deemix" "/downloads" ]
|
||||
VOLUME "/config_deemix" "/downloads"
|
||||
EXPOSE 6595
|
||||
|
||||
COPY root /
|
||||
VOLUME "/config"
|
||||
VOLUME "/config" "/music"
|
||||
EXPOSE 6595 8686
|
||||
|
|
|
@ -1,6 +1,26 @@
|
|||
#!/usr/bin/with-contenv sh
|
||||
# shellcheck shell=sh
|
||||
|
||||
url="http://localhost:8686"
|
||||
urlPlugin="https://github.com/ta264/Lidarr.Plugin.Deemix"
|
||||
|
||||
# string, route
|
||||
isPresent() {
|
||||
apiCall "GET" "$2" | grep -q "$1"
|
||||
}
|
||||
|
||||
# method, route, payload
|
||||
apiCall() {
|
||||
curl \
|
||||
-s \
|
||||
-X "$1" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Api-Key: $apiKey" \
|
||||
-d "$3" \
|
||||
$url/api/v1/"$2"
|
||||
return 0
|
||||
}
|
||||
|
||||
echo "
|
||||
----------------------------------------------------------------------
|
||||
Flac2MP3 SETUP
|
||||
|
@ -24,66 +44,50 @@ echo "
|
|||
----------------------------------------------------------------------
|
||||
LIDARR SETUP
|
||||
----------------------------------------------------------------------
|
||||
Source=$urlPlugin
|
||||
PluginSource=$urlPlugin
|
||||
----------------------------------------------------------------------
|
||||
"
|
||||
|
||||
url="http://localhost:8686"
|
||||
urlPlugin="https://github.com/ta264/Lidarr.Plugin.Deemix"
|
||||
|
||||
# string, route
|
||||
isPresent() {
|
||||
apiCall "GET" "$2" | grep -q "$1"
|
||||
}
|
||||
|
||||
# method, route, payload
|
||||
apiCall() {
|
||||
curl \
|
||||
-sS \
|
||||
-X "$1" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Api-Key: $apiKey" \
|
||||
-d "$3" \
|
||||
$url/api/v1/"$2"
|
||||
return 0
|
||||
}
|
||||
|
||||
apiKey="$(curl \
|
||||
-sS \
|
||||
--retry-all-errors \
|
||||
--retry 10 \
|
||||
$url/initialize.js |
|
||||
sed -n "s/apiKey: '\(.*\)'.*/\1/p")"
|
||||
|
||||
if isPresent $urlPlugin "system/plugins"; then
|
||||
echo "Plugin already installed"
|
||||
else
|
||||
echo "Installing plugin"
|
||||
apiCall "POST" "command" '{"name":"InstallPlugin","githubUrl":"'$urlPlugin'"}'
|
||||
fi
|
||||
|
||||
if [ "$AUTOCONFIG" = "true" ]; then
|
||||
echo "[autoconfig] Waiting Lidarr to launch on 8686..."
|
||||
while ! nc -z localhost 8686; do
|
||||
sleep 0.1
|
||||
done
|
||||
apiKey="$(curl \
|
||||
-sS \
|
||||
--retry-all-errors \
|
||||
--retry 10 \
|
||||
$url/initialize.js |
|
||||
sed -n "s/apiKey: '\(.*\)'.*/\1/p")"
|
||||
|
||||
if ! isPresent $urlPlugin "system/plugins"; then
|
||||
echo "[autoconfig] Installing plugin"
|
||||
apiCall "POST" "command" '{"name":"InstallPlugin","githubUrl":"'$urlPlugin'"}'
|
||||
fi
|
||||
if ! isPresent "path" "rootFolder"; then
|
||||
echo "[autoconfig] Setting /music rootFolder"
|
||||
apiCall "POST" "rootFolder" '{"defaultTags":[],"defaultQualityProfileId":1,"defaultMetadataProfileId":1,"path":"/music","name":"Music"}'
|
||||
fi
|
||||
loginPath="/config_deemix/login.json"
|
||||
echo "Waiting for $loginPath to be filled..."
|
||||
echo "[autoconfig] Waiting for $loginPath to be filled..."
|
||||
while [ -z "$arl" ]; do
|
||||
sleep 1
|
||||
arl=$(sed -n 's/.*arl.*"\(.*\)"/\1/p' "$loginPath" 2>/dev/null)
|
||||
done
|
||||
if [ "$(apiCall "GET" "delayprofile" | jq .[0].items[2].allowed)" = "false" ]; then
|
||||
echo "Allowing Deemix in default delay profile"
|
||||
echo "[autoconfig] Allowing Deemix in default delay profile"
|
||||
apiCall "PUT" "delayprofile/1" \
|
||||
'{"name":"Default","items":[{"name":"Usenet","protocol":"UsenetDownloadProtocol","allowed":true,"delay":0},{"name":"Torrent","protocol":"TorrentDownloadProtocol","allowed":true,"delay":0},{"name":"Deemix","protocol":"DeemixDownloadProtocol","allowed":true,"delay":0}],"tags":[],"id":1}'
|
||||
fi
|
||||
if ! isPresent "Deemix" "indexer"; then
|
||||
loginPath="/config_deemix/login.json"
|
||||
echo "Updating indexer"
|
||||
echo "[autoconfig] Updating indexer"
|
||||
apiCall "POST" "indexer" \
|
||||
'{"enableRss":true,"enableAutomaticSearch":true,"enableInteractiveSearch":true,"supportsRss":true,"supportsSearch":true,"protocol":"DeemixDownloadProtocol","priority":25,"downloadClientId":0,"name":"Deemix","fields":[{"name":"baseUrl","value":"http://localhost:6595"},{"name":"arl","value":"'"$arl"'"},{"name":"earlyReleaseLimit"}],"implementationName":"Deemix","implementation":"Deemix","configContract":"DeemixIndexerSettings","infoLink":"https://wiki.servarr.com/lidarr/supported#deemix","tags":[]}'
|
||||
fi
|
||||
if ! isPresent "Deemix" "downloadclient"; then
|
||||
echo "Updating download client"
|
||||
echo "[autoconfig] Updating download client"
|
||||
apiCall "POST" "downloadclient" \
|
||||
'{"enable":true,"protocol":"DeemixDownloadProtocol","priority":1,"removeCompletedDownloads":true,"removeFailedDownloads":true,"name":"Deemix","fields":[{"name":"host","value":"localhost"},{"name":"port","value":6595},{"name":"urlBase"},{"name":"useSsl","value":false},{"name":"arl","value":"'"$arl"'"}],"implementationName":"Deemix","implementation":"Deemix","configContract":"DeemixSettings","infoLink":"https://wiki.servarr.com/lidarr/supported#deemix","tags":[]}'
|
||||
fi
|
||||
echo "Configuration is up to date"
|
||||
echo "[autoconfig] Configuration is up to date"
|
||||
fi
|
||||
|
|
Loading…
Reference in New Issue