brian-thornton / jukebox-web

0 stars 1 forks source link

Enhancement: Docker Image #48

Open fourofspades opened 1 year ago

fourofspades commented 1 year ago

Would be nice if this was available as a ready to go docker image, with a sensible default configuration, and all the user needs to do is add the music path as a docker variable.

brian-thornton commented 1 year ago

@fourofspades - Thanks for the suggestion. I agree it would be good to containerize this. Feel free to raise a PR if you have docker skills. Aside from the dependencies Jukebox needs VLC for playback.

fourofspades commented 1 year ago

Had a quick look, at this, and also the possibility of running under WSL2/Ubuntu on Windows, and they both fail due to a few references to things that appear to be Mac only. I suspect that needs to be fixed before this can fly.

It fails at the starting of the service:

sh: 1: /Applications/VLC.app/Contents/MacOS/VLC: not found npm ERR! code ELIFECYCLE npm ERR! syscall spawn npm ERR! file sh npm ERR! errno ENOENT npm ERR! jukebox@0.1.0 start:node check-version && concurrently "DISABLE_ESLINT_PLUGIN=true react-scripts start" & node ../jukebox-service/index.js & /Applications/VLC.app/Contents/MacOS/VLC npm ERR! spawn ENOENT npm ERR! npm ERR! Failed at the jukebox@0.1.0 start script.

fourofspades commented 1 year ago

The rough instructions I used for WSL were;

Install Ubuntu from Windows store using WSL2 sudo apt-get update sudo apt-get upgrade sudo apt-get install build-essential curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash curl -o- https://raw.githubusercontent.com/brian-thornton/jukebox-web/master/scripts/mac.sh | bash

if/when the script fails at the brew step:

(echo; echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"') >> /home//.profile eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"

curl -o- https://raw.githubusercontent.com/brian-thornton/jukebox-web/master/scripts/mac.sh | bash