Comments (2)
Note: These are based on Linuxserver.io images
- We need to create a 90-config file that will download a docker binary so that lidarr can call commands in a different container
-----------------------------90-config----------------------------------
#!/usr/bin/with-contenv bash
DOCKERVERSION=20.10.9
curl -fsSLO https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKERVERSION}.tgz \
&& tar xzvf docker-${DOCKERVERSION}.tgz --strip 1 \
-C /usr/local/bin docker/docker \
&& rm docker-${DOCKERVERSION}.tgz
- Then we need to add two volumes to lidarr server in docker-compose. The 90-config for the docker binary and the docker socket.
- /some/path/to/config/90-config:/etc/cont-init.d/90-config
- /var/run/docker.sock:/var/run/docker.sock
Also /music is both the root volume for my music in both beets and lidarr. It can be whatever you want but for this to work they both need to have the same path in their respective containers so that when lidarr calls beets, its the same path structure.
- Add this in the lidarr container somehow (I just have mine in the config folder). This will trigger beet import and tell lidarr to run an update. Note: You may need to change the lidarr port if you have changed it.
-----------------------------beet_import.sh----------------------------------
#!/bin/bash
#Get Destination Folder
lidarr_first_track=$(echo "$lidarr_addedtrackpaths" | cut -d '|' -f1)
lidarr_album_path=$(dirname "$lidarr_first_track")
#Trigger Beets
docker --config "/config/.docker" exec -u abc beets /bin/bash -c "beet update" && sleep 3
docker --config "/config/.docker" exec -u abc beets /bin/bash -c "beet import -q '$lidarr_album_path'"
#Update Lidarr
FILE=/config/config.xml
until test -f $FILE; do sleep 1; done
API=`grep -oP '(?<=<ApiKey>)(.*)(?=<\/ApiKey>)' /config/config.xml`
curl -s "http://localhost:8686/music/api/v1/command?apikey=$API" -X POST -d "{'name': 'ReScanArtist', 'artistID': $lidarr_artist_id}" > /dev/null
- In lidarr, go to Settings > Connect > Add > Custom Script. Select On Release Import. Point the path to beet_import.sh
Optional:
-
I have Beets convert the music and rename so I have lidarr renaming tracks with an additional underscore in the track name
{track:00}_{Track Title}
so that when it gets to beets, it doesn't accidentally remove the wrong file. I think it might be overkill since beets converts to temp folder and then copies. Then in beets config I have the naming structure to
$track - $title
- I was having issues with the docker socket permissions in a container. Looked online and people said that this was one of the better ways to handle it. I added this to my host's cronjob
@reboot setfacl -m user:MY_USER_THAT_RUNS_DOCKERS:rw /var/run/docker.sock
from archon.
Convert the following dockers & scripts to Docker Mods.
https://github.com/RandomNinjaAtk/docker-ama
https://github.com/RandomNinjaAtk/docker-ambd
https://github.com/RandomNinjaAtk/docker-amd
https://github.com/RandomNinjaAtk/docker-amvd
https://github.com/RandomNinjaAtk/Tidal-Media-Downloader
from archon.
Related Issues (20)
- Internet Radio Docker
- Unmanic AI Upscaling Plugin
- Auto Scrape websites for DLL Links
- JDownloader2 Proxy List HOT 4
- yt-dlp Web Docker
- Gamearr Type Docker
- Retro Console Web Browser Gaming HOT 1
- Web Interface for ddclient
- KVM over IP
- AI Subtitle Syncing
- VPN rotation
- Jellyfin Shared Libary HOT 1
- Wiki: Jellyfin Server OS should be marked available on FreeBSD HOT 2
- Wiki: ATSC 3.0 HOT 2
- Contribution: Addition to "Compare Media Servers" wiki documentation page HOT 3
- Compare Media Servers: Credits/Outro Skipping, Video Preview Thumbnails, Auto Play Next, Online Account required, Auto-Scan, Moving files
- Free TV docker (Web2TV) HOT 1
- Jellyfin Tubi VOD Plugin
- Jellyfin FreeVee VOD Plugin
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from archon.