Commit Graph

42 Commits

Author SHA1 Message Date
Andras Bacsai 53f24df0a0 fix(terminal): enforce eight hour session expiry
Add a visible countdown in the terminal UI and terminate realtime PTY
sessions after the fixed maximum lifetime.
2026-06-01 09:45:56 +02:00
Andras Bacsai 4d3182c938 fix(terminal): allow debug logging via env override 2026-06-01 09:08:20 +02:00
Andras Bacsai b46d8e2601 fix(terminal): keep sessions alive without hard timeouts 2026-05-31 21:52:46 +02:00
Andras Bacsai 7c28d339c8 chore(deps): bump ws from 8.19.0 to 8.20.1 in /docker/coolify-realtime (#10424) 2026-05-29 15:24:35 +02:00
Andras Bacsai 20f9bb4305 perf(realtime): reduce push update churn
Cache destination lookups and skip empty resource queries during push
server updates. Add database indexes and Postgres storage tuning for
hot-update tables, and make the realtime entrypoint forward process
failures and signals reliably.
2026-05-27 19:38:23 +02:00
dependabot[bot] 98b36c1ff7 chore(deps): bump ws from 8.19.0 to 8.20.1 in /docker/coolify-realtime
Bumps [ws](https://github.com/websockets/ws) from 8.19.0 to 8.20.1.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/8.19.0...8.20.1)

---
updated-dependencies:
- dependency-name: ws
  dependency-version: 8.20.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-27 07:27:47 +00:00
Andras Bacsai c8185c8336 fix(realtime): replace axios with native HTTP client
Remove axios from the realtime server dependencies to avoid header injection risk,
switch Docker builds to npm ci, and bump the realtime image version to 1.0.15.
2026-05-11 21:43:52 +02:00
Andras Bacsai fbed9063d8 build(deps): bump follow-redirects from 1.15.11 to 1.16.0 in /docker/coolify-realtime (#9690) 2026-04-28 14:30:21 +02:00
Andras Bacsai 1368026f20 fix(terminal): remove verbose websocket message logging 2026-04-28 12:29:32 +02:00
Andras Bacsai cabcd8f699 fix(terminal): add idle timeout, reconnect replay, and scrollback preservation
- Kill PTY and notify client after 30 min of inactivity (IDLE_TIMEOUT_MS)
- Buffer client messages during async auth/IP fetch to prevent race-condition
  message loss on fast reconnects
- Replay last sent command after transient reconnect so PTY respawns without
  user interaction
- Preserve scrollback on disconnect/reconnect; write visible timestamp markers
  instead of wiping term state
- Handle idle-timeout sentinel on client with user-facing error message
2026-04-28 12:26:31 +02:00
Andras Bacsai 9408620d5f fix(terminal): add WS heartbeat and fix proxy idle disconnects
Proxies (Cloudflare, nginx) drop idle WebSocket connections before the
application notices, leaving clients typing into dead sockets.

- Add server-side ping/pong heartbeat (30s) in terminal-server.js;
  terminate unresponsive clients instead of letting connections go stale
- Move client keepAlive interval start to the connect event so it
  restarts correctly after reconnects
- Remove hidden-tab keepalive short-circuit — server pings now own
  liveness; suppressing client pings while hidden masked proxy drops
- Fix clearAllTimers to use clearTimeout for one-shot timers
- On visibility resume, probe with a 5s timeout instead of the default
  35s so half-open sockets are detected quickly
- Bump coolify-realtime to 1.0.14 across all compose files
2026-04-28 10:35:32 +02:00
dependabot[bot] f1f53a31ab build(deps): bump follow-redirects in /docker/coolify-realtime
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.11 to 1.16.0.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.11...v1.16.0)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-version: 1.16.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-21 10:31:57 +00:00
dependabot[bot] 942e1baaec build(deps): bump axios in /docker/coolify-realtime
Bumps [axios](https://github.com/axios/axios) from 1.13.6 to 1.15.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.13.6...v1.15.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.15.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-12 11:13:23 +00:00
Charles Dabard 7d9a0748bf fix(security): add apk upgrade to helper and realtime Dockerfiles
The production Dockerfile already runs apk upgrade at build time.
The helper and realtime Dockerfiles were missing this step.

The helper (Alpine 3.21) ships with CVE-2025-15467 in OpenSSL 3.3.5.
The realtime (Alpine 3.18) has outdated OpenSSL 3.1.2 with HIGH CVEs.

Adding apk upgrade before apk add makes both images consistent
with the production Dockerfile.
2026-04-05 00:23:17 +02:00
Andras Bacsai b71d1561f3 chore(realtime): upgrade npm dependencies
Update dependencies in coolify-realtime package:
- @xterm/addon-fit 0.10.0 → 0.11.0
- @xterm/xterm 5.5.0 → 6.0.0
- axios 1.12.0 → 1.13.6
- cookie 1.0.2 → 1.1.1
- dotenv 16.5.0 → 17.3.1
- node-pty 1.0.0 → 1.1.0 (now uses node-addon-api instead of nan)
- ws 8.18.1 → 8.19.0
2026-03-10 21:07:14 +01:00
Andras Bacsai 5c5f67f48b chore: prepare for PR 2026-03-10 20:37:22 +01:00
dependabot[bot] d679e1a7d0 chore(deps): bump axios from 1.8.4 to 1.12.0 in /docker/coolify-realtime
Bumps [axios](https://github.com/axios/axios) from 1.8.4 to 1.12.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.8.4...v1.12.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.12.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-13 12:45:57 +00:00
peaklabs-dev 6ddca603e2 chore(deps): update docker deps
- update Nixpacks to v1.39.0
2025-07-18 16:25:01 +02:00
peaklabs-dev 889712b53a chore(deps): update npm and composer deps 2025-07-18 16:24:13 +02:00
Andras Bacsai f7d6aa850b fix(terminal): Terminal through Cloudflare tunnel works?!
fix(dependencies): update realtime version to 1.0.9 and cloudflared version to 2025.5.0; enhance SSH argument parsing in terminal-server.js
2025-05-30 17:50:06 +02:00
Andras Bacsai f5cc272861 fix(terminal): enhance WebSocket client verification with authorized IPs in terminal server 2025-04-25 15:35:23 +02:00
Andras Bacsai 77c8ed769b chore(deps): update axios and dotenv versions in package-lock.json; bump realtime version to 1.0.7 2025-04-14 14:30:57 +02:00
Andras Bacsai 0f0497c7fb chore(versions): update realtime version to 1.0.7 and bump dependencies in package.json 2025-04-14 11:48:44 +02:00
🏔️ Peak a46caf209f Chore: Bump all dependencies (#5216)
* chore: bump all docker dependecies

* chore: update composer and npm dep
2025-02-24 18:08:54 +01:00
peaklabs-dev c01d3e4954 bump: docker dep 2025-01-09 15:11:14 +01:00
peaklabs-dev e51207a35e fix: bind() to 0.0.0.0:80 failed 2024-12-23 15:33:12 +01:00
Andras Bacsai 959c21a888 force image update 2024-11-15 12:42:08 +01:00
peaklabs-dev 2ccdbe8015 update terminal dep 2024-11-13 13:45:38 +01:00
Andras Bacsai 2d64c006e2 just triggering the workflow (I'm such a pro developer 10x) 2024-11-08 11:11:31 +01:00
Andras Bacsai e2ed213957 fix: update packagejson of coolify-realtime + add lock file 2024-11-07 14:06:32 +01:00
🏔️ Peak b039a481c7 Update package.json 2024-10-11 13:04:20 +02:00
Andras Bacsai 66bb4e0fc1 refactor: Remove inactivity timer in terminal-server.js 2024-10-02 21:23:59 +02:00
Andras Bacsai e03e4f2e91 refactor: Improve SSH command generation in Terminal.php and terminal-server.js 2024-10-02 15:16:55 +02:00
Andras Bacsai 6f25b548c7 fix: realtime watch in development mode 2024-10-02 14:18:52 +02:00
Luan Estradioto 2c38af1df0 - fixes: no more exit fallback to server 2024-10-01 01:42:09 -03:00
Luan Estradioto 6bd8583eab - resize check to int
- modularize, tree-shake terminal, idempotency on navigations
2024-09-25 22:14:05 -03:00
Andras Bacsai cbc2f1f015 chore: Update versions.json to reflect latest version of realtime container 2024-09-17 11:58:28 +02:00
Andras Bacsai dcf91cc034 Update WebSocket URL in terminal.blade.php to include /ws for consistency with the server configuration. 2024-09-13 16:58:16 +02:00
Andras Bacsai 7cac243589 chore: Update Dockerfile and workflow for Coolify Realtime (v4) 2024-09-13 14:05:37 +02:00
Andras Bacsai 0cfd8ed5f0 chore: Update Dockerfile and workflow for Coolify Realtime (v4) 2024-09-13 13:46:10 +02:00
Luan Estradioto 35dfb1b0f8 fix: grouped process and docker execs are killed with ssh process
fix: run clear command only if exists
fix: link terminal js on dev compose better dx
fix: add error on terminal ux
2024-09-12 01:58:56 -03:00
Andras Bacsai 117fbeb07c fixes for terminal 2024-09-11 12:19:27 +02:00