Change public WS domain to nats.tes.gd

This commit is contained in:
2026-08-25 09:42:11 +00:00
parent 49dcf78529
commit f9a999d6bd
+6 -6
View File
@@ -8,7 +8,7 @@ This project deploys a NATS server behind Coolify, reachable **over WebSockets**
- **Server:** `localhost` (`d0c4owww4kwo0ow08wws4ss8`) - **Server:** `localhost` (`d0c4owww4kwo0ow08wws4ss8`)
- **Build pack:** `dockercompose` - **Build pack:** `dockercompose`
- **Compose file:** `/docker-compose.yml` - **Compose file:** `/docker-compose.yml`
- **Public domain:** `https://nats.volcanic.tes.gd` → routed by Traefik to `nats:8080` (WebSocket listener) - **Public domain:** `https://nats.tes.gd` → routed by Traefik to `nats:8080` (WebSocket listener)
- **TLS:** terminated at Traefik. NATS itself runs with `no_tls: true` on the WS listener. - **TLS:** terminated at Traefik. NATS itself runs with `no_tls: true` on the WS listener.
Coolify's non-secret app config (project/server UUIDs, name, domain) lives in `deploy.json` at the repo root and is **gitignored** — it is regenerated locally when needed by the `deploying-to-coolify-via-api` skill flow. Coolify's non-secret app config (project/server UUIDs, name, domain) lives in `deploy.json` at the repo root and is **gitignored** — it is regenerated locally when needed by the `deploying-to-coolify-via-api` skill flow.
@@ -41,7 +41,7 @@ curl -sS -H "Authorization: Bearer $COOLIFY_KEY" \
### WebSocket URL ### WebSocket URL
``` ```
wss://nats.volcanic.tes.gd wss://nats.tes.gd
``` ```
The NATS server accepts standard NATS-over-WebSocket framing (RFC 6455 with the `nats` subprotocol). No custom path; connect to the root URL. The NATS server accepts standard NATS-over-WebSocket framing (RFC 6455 with the `nats` subprotocol). No custom path; connect to the root URL.
@@ -50,7 +50,7 @@ The NATS server accepts standard NATS-over-WebSocket framing (RFC 6455 with the
```bash ```bash
nats \ nats \
--server=wss://nats.volcanic.tes.gd \ --server=wss://nats.tes.gd \
--user="$NATS_USER" --password="$NATS_PASSWORD" \ --user="$NATS_USER" --password="$NATS_PASSWORD" \
server info server info
``` ```
@@ -62,7 +62,7 @@ import { connect } from 'nats.ws'; // browser
// import { connect } from 'nats'; // node with ws // import { connect } from 'nats'; // node with ws
const nc = await connect({ const nc = await connect({
servers: 'wss://nats.volcanic.tes.gd', servers: 'wss://nats.tes.gd',
user: process.env.NATS_USER, user: process.env.NATS_USER,
pass: process.env.NATS_PASSWORD, pass: process.env.NATS_PASSWORD,
}); });
@@ -77,7 +77,7 @@ from nats.aio.client import Client as NATS
async def main(): async def main():
nc = NATS() nc = NATS()
await nc.connect( await nc.connect(
servers=['wss://nats.volcanic.tes.gd'], servers=['wss://nats.tes.gd'],
user=os.environ['NATS_USER'], user=os.environ['NATS_USER'],
password=os.environ['NATS_PASSWORD'], password=os.environ['NATS_PASSWORD'],
) )
@@ -91,7 +91,7 @@ asyncio.run(main())
- **Listeners** - **Listeners**
- `4222` — native NATS protocol, `expose`d only inside the compose network. Not reachable from outside. - `4222` — native NATS protocol, `expose`d only inside the compose network. Not reachable from outside.
- `8080` — WebSocket listener, `no_tls: true`. Traefik terminates TLS and forwards `ws://nats:8080` from the public `wss://nats.volcanic.tes.gd`. - `8080` — WebSocket listener, `no_tls: true`. Traefik terminates TLS and forwards `ws://nats:8080` from the public `wss://nats.tes.gd`.
- `8222` — HTTP monitoring (`/healthz`, `/varz`, `/jsz`), internal only. Used by the compose healthcheck. - `8222` — HTTP monitoring (`/healthz`, `/varz`, `/jsz`), internal only. Used by the compose healthcheck.
- **JetStream**: enabled, persisted to the named volume `nats-data` mounted at `/data`. Limits: 256MB memory / 4GB file. Bump `max_file_store` in `nats-server.conf` if you need more. - **JetStream**: enabled, persisted to the named volume `nats-data` mounted at `/data`. Limits: 256MB memory / 4GB file. Bump `max_file_store` in `nats-server.conf` if you need more.
- **Auth**: a single user, whose name and password come from the `NATS_USER` / `NATS_PASSWORD` env vars via NATS' native `$VAR` substitution in the config. No accounts, no operator/JWT mode. - **Auth**: a single user, whose name and password come from the `NATS_USER` / `NATS_PASSWORD` env vars via NATS' native `$VAR` substitution in the config. No accounts, no operator/JWT mode.