docs: refresh README

This commit is contained in:
2026-07-27 15:24:01 +02:00
parent e0b3da2ac0
commit 23615cb214
+62 -22
View File
@@ -1,36 +1,76 @@
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). # Jam Session Web
## Getting Started A Next.js control UI for an X32 mixer. The browser loads an editable mixer configuration and talks over WebSocket to the Node OSC bridge, which sends and receives OSC over UDP for the mixer.
First, run the development server: ## Status and limitations
```bash This is an operational mixer-control application, not a standalone web site: the UI, OSC/WebSocket bridge, configuration file, and reachable X32 must all be available. The page includes a placeholder Recording tab. No automated test suite is present. The bridge imports `ws`, but it is not declared as a direct dependency in `package.json`; a clean installation has not been verified.
npm run dev
# or ## Prerequisites
yarn dev
# or - Node.js and npm (the repository includes `package-lock.json`).
pnpm dev - Network access to the X32 for the OSC bridge.
# or - A writable mixer configuration file and the X32 address/port values for the target environment.
bun dev - Docker and Docker Compose only when using the supplied Compose file.
## Configuration
Create a local configuration from the tracked shape:
```sh
cp config.sample.json config.json
``` ```
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. `config.json` is ignored by Git. The Next.js configuration API reads `CONFIG_PATH`, defaulting to `./config.json`, and writes configuration changes back to that path. The `webserver.port` in the JSON selects the browser's WebSocket endpoint; the sample uses `3001`. Do not commit environment-specific mixer addresses or credentials.
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. The bridge reads these environment variables:
This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. - `X32_IP` — X32 address.
- `X32_PORT` — X32 OSC port.
## Learn More The Compose file reads `.env` and passes `X32_IP`, `X32_PORT`, `CONFIG_PATH`, and `POLLING_INTERVAL`. `POLLING_INTERVAL` is passed by Compose but has no inspected runtime use. Compose does not mount a configuration file, so provide/configure one in the image or runtime environment before relying on its configuration API.
To learn more about Next.js, take a look at the following resources: ## Development
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. Install the locked npm dependency tree:
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! ```sh
npm ci
```
## Deploy on Vercel Run the two required processes in separate terminals:
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. ```sh
npm run dev
npm run start:websocket
```
Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. The development web server uses the Next.js `dev` script. The bridge listens on WebSocket port `3001`; its OSC UDP listener uses local port `57122`. The UI obtains its WebSocket host from `config.json` (`webserver.ip` if set, otherwise the browser host) and its port from `webserver.port`.
Declared npm scripts:
```sh
npm run build
npm run start
npm run lint
```
`build` then `start` runs the production Next.js server. `lint` is the only declared validation command; there is no declared test command.
## Containers and operations
The supplied Compose configuration builds two services and exposes the web service on `3000` and the OSC/WebSocket service on `3001`:
```sh
docker compose up --build
```
This starts containers but does not establish a complete deployment design or secure configuration policy. Restrict the WebSocket service and X32 network access appropriately for the environment. Do not treat generic static-host deployment as sufficient: the separate OSC bridge and mixer network configuration are required.
## Repository layout
- `src/app/` — Next.js UI, configuration API, and browser WebSocket manager.
- `src/OSCWebServer/server.js` — Node WebSocket-to-OSC bridge.
- `config.sample.json` — example mixer inputs, bus controls, and WebSocket configuration.
- `docker-compose.yml`, `Dockerfile.nextjs`, `Dockerfile.server` — two-service container setup.
- `package.json` — npm scripts and dependencies.