jean-emmanuel / open-stage-control

Libre and modular OSC / MIDI controller
https://openstagecontrol.ammd.net
GNU General Public License v3.0
702 stars 88 forks source link

[Feature] Docker support #781

Closed dabruh closed 1 year ago

dabruh commented 2 years ago

Thank you Jean Emmanuel for the awesome software that Open Stage Control is!

I wonder, are there any plans to run OSC on Docker? Seems like talltechdude attempted this 4 years ago - but I'm not sure how it went. All the necessary directories for handling MIDI as well as network can be mounted or exposed with Docker.

Kind regards, dabruh

jean-emmanuel commented 2 years ago

Hi ! I have no plans regarding OSC on Docker as I don't use it. I'm of course open to adapt the repo's structure if someone wants to do it but I don't think I'd recommend it over the existing download/usage instructions.

DjTuxeedo commented 1 year ago

Maybe i can be of some assistance. I've build a Docker container that runs OpenStageControl in --no-gui mode. It's nothing fancy its basicall just a debian Container that downloads the "open-stage-control_1.22.0_node.zip", unpacks it and runs it via node.

This is my Dockerfile: ` FROM debian:stable

ENV LANG=C.UTF-8 ENV DEBIAN_FRONTEND=noninteractive

ENV OSC_VERSION=1.22.0

RUN apt-get update -q && \ apt-get install -qy apt-utils && \ apt-get dist-upgrade && \

RUN apt-get install -qy \ build-essential \ bzip2 \ ca-certificates \ cmake \ git \ pkg-config \ unzip \ wget \ curl

RUN cd /tmp && \ curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - &&\ apt-get install -y nodejs

RUN cd /tmp && \ wget -q https://github.com/jean-emmanuel/open-stage-control/releases/download/v1.22.0/open-stage-control_1.22.0_node.zip -O open-stage-control.zip && \ unzip open-stage-control.zip

USER we

CMD node /tmp/open-stage-control_1.22.0_node/ --no-gui --send 127.0.0.1:57120 --osc-port 57121 --load /mnt/openStageControl/main.json `

With this command you should be able to build the container: docker build -t containerName .

with this command you should be able to run the container: docker run --rm -it -v ~/localpath/to/mnt:/mnt --name containerName -p 8080:8080 containerName

note: this setup assumes that you have a file ~/localpath/to/mnt/openStageControl/main.json on your hardrive that contains the desired Layout of your OSC surface

I hope this helps someone

jean-emmanuel commented 1 year ago

Closing as there no plan on my side to work on that besides what I already mentioned. For further experience sharing, the forums might be a better place.