2.4 KiB
2.4 KiB
OSC-Docker
Docker image for the Open Stage Control node-only release.
This image uses the upstream release artifact instead of building Electron from source. I verified on May 10, 2026 that Framagit's current release is v1.30.3, and that it publishes a Node.js package at:
https://openstagecontrol.ammd.net/packages/open-stage-control_1.30.3_node.zip
Source project:
https://framagit.org/jean-emmanuel/open-stage-control
Build
docker build -t open-stage-control .
To target a different upstream release:
docker build \
--build-arg OPEN_STAGE_CONTROL_VERSION=1.30.3 \
-t open-stage-control .
Run
docker run --rm \
-p 8080:8080/tcp \
-p 8080:8080/udp \
-v "${PWD}/config:/config" \
-v "${PWD}/data:/data" \
open-stage-control
Then open:
http://localhost:8080
Docker Compose
docker compose up --build
Gitea Actions
The repo includes a Gitea Actions workflow at .gitea/workflows/docker-publish.yml.
It will:
- build on pushes to
main - allow manual runs with
workflow_dispatch - poll the upstream Open Stage Control releases API once a week
- build and push a new image only when a new upstream release tag is found
Required repository secrets:
USER: registry usernameTOKEN: registry token or PAT forgit.f-40.com
Environment Variables
OSC_PORT: HTTP port. Default8080.OSC_OSC_PORT: OSC UDP input port. Default8080.OSC_TCP_PORT: Optional OSC TCP input port.OSC_CACHE_DIR: Config/cache path inside the container. Default/config.OSC_REMOTE_ROOT: File browser root inside the container. Default/data.OSC_LOAD: Optional session file to auto-load.OSC_STATE: Optional state file to auto-load.OSC_CUSTOM_MODULE: Optional custom module path.OSC_THEME: Optional theme path or theme name.OSC_AUTHENTICATION: Optionaluser:password.OSC_CLIENT_OPTIONS: Optional singlekey=valueclient option. For multiple client options, pass extra CLI args after the image name.OSC_READ_ONLY: Set totrueto disable editing/saving.OSC_USE_SSL: Set totrueto enable HTTPS.OSC_DEBUG: Set totrueto log OSC traffic.OSC_NO_QRCODE: Set totrueto suppress QR output.
Extra CLI Arguments
You can still pass native Open Stage Control arguments after the image name:
docker run --rm -p 8080:8080/tcp -p 8080:8080/udp open-stage-control --send 192.168.1.50:9000