Aiden 4e2b4aba25
Some checks failed
Build & Push Docker / build-and-push (push) Failing after 36s
Initial commit
2026-05-10 12:51:16 +10:00
2026-05-10 12:51:16 +10:00
2026-05-10 12:51:16 +10:00
2026-05-10 12:51:16 +10:00
2026-05-10 12:51:16 +10:00
2026-05-10 12:51:16 +10:00
2026-05-10 12:51:16 +10:00
2026-05-10 02:38:23 +00:00
2026-05-10 12:51:16 +10:00

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 username
  • TOKEN: registry token or PAT for git.f-40.com

Environment Variables

  • OSC_PORT: HTTP port. Default 8080.
  • OSC_OSC_PORT: OSC UDP input port. Default 8080.
  • 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: Optional user:password.
  • OSC_CLIENT_OPTIONS: Optional single key=value client option. For multiple client options, pass extra CLI args after the image name.
  • OSC_READ_ONLY: Set to true to disable editing/saving.
  • OSC_USE_SSL: Set to true to enable HTTPS.
  • OSC_DEBUG: Set to true to log OSC traffic.
  • OSC_NO_QRCODE: Set to true to 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
Description
A docker image for Open Stage Control
Readme GPL-3.0 48 KiB
Languages
Dockerfile 53%
Shell 47%