This commit is contained in:
87
README.md
87
README.md
@@ -1,3 +1,88 @@
|
||||
# OSC-Docker
|
||||
|
||||
A docker image for Open Stage Control
|
||||
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
|
||||
|
||||
```bash
|
||||
docker build -t open-stage-control .
|
||||
```
|
||||
|
||||
To target a different upstream release:
|
||||
|
||||
```bash
|
||||
docker build \
|
||||
--build-arg OPEN_STAGE_CONTROL_VERSION=1.30.3 \
|
||||
-t open-stage-control .
|
||||
```
|
||||
|
||||
## Run
|
||||
|
||||
```bash
|
||||
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
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
docker run --rm -p 8080:8080/tcp -p 8080:8080/udp open-stage-control --send 192.168.1.50:9000
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user