DUNGEONS-30: support Node 18 runtime and Docker

Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
2026-09-05 17:18:40 +05:00
parent b87a8ef70e
commit eb135ac6ef
5 changed files with 95 additions and 30 deletions

View File

@@ -8,9 +8,10 @@ The gateway forwards the configured Dungeons-Ground site on the same public orig
## Local start
Use Node.js **22.15+ on the Node 22 line** (the `.nvmrc` selects Node 22), Node 24, or Node 26+.
Use Node.js **18.20.5 or newer on the Node 18 line**, or Node 20.9+. The `.nvmrc` and Docker image select **Node 18.20.8**. The proxy uses the Node 18-compatible `http-proxy-middleware` 3.x line.
```sh
nvm install
nvm use
npm ci
cp .env.example .env
@@ -25,6 +26,8 @@ npm start
With the default local URLs, open `http://localhost:8080`; the upstream is `http://127.0.0.1:3000`. `npm run dev` restarts on source changes. Environment variables supplied by a host override `.env`. The server reads `.env` from the directory in which it starts.
When updating an existing checkout from the Node 22 version, pull `main`, select Node 18 with `nvm install && nvm use`, and run `npm ci` to replace the old proxy dependencies before `npm start`. Keep your existing `.env` and `data` directory.
For a visual preview, development mode may run with both tokens empty. It displays an honest unavailable message in place of bot links; there is no built-in bypass number. Production requires at least one configured provider and an HTTPS `PUBLIC_URL`.
## Telegram setup
@@ -116,4 +119,4 @@ npm test
The suite covers both bot adapters with mocked provider APIs, administrator authorization, failed DM recovery, duplicate reviews, reusable codes and expiry/renewal, persistent sessions, rate limits, signed Discord interactions, unauthenticated HTTP/WebSocket denial, streaming proxy requests, redirects, cookies, logout, and upstream outages. It requires no external credentials. Live Telegram/Discord delivery still needs an installation with real tokens, configured admins and working DMs.
Protocol references: [Telegram Bot API](https://core.telegram.org/bots/api), [Discord interactions](https://docs.discord.com/developers/interactions/receiving-and-responding), [Discord application commands](https://docs.discord.com/developers/interactions/application-commands), [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware).
Protocol references: [Telegram Bot API](https://core.telegram.org/bots/api), [Discord interactions](https://docs.discord.com/developers/interactions/receiving-and-responding), [Discord application commands](https://docs.discord.com/developers/interactions/application-commands), [http-proxy-middleware 3.x](https://github.com/chimurai/http-proxy-middleware/tree/v3.0.7).