Commit Graph

11 Commits

Author SHA1 Message Date
Cohee 2c09d32b5b feat(docker): add robust healthcheck script (#5028)
* feat(docker): add robust healthcheck script

- Added `docker/healthcheck.cjs`: A standalone, dependency-free Node.js script for verifying server status.
- Updated `Dockerfile`: Added HEALTHCHECK instruction and script copy step.
- Features: Auto-detects port from env/config, handles IPv4/IPv6 fallback, auto-retries HTTPS on socket hangup, and sets custom User-Agent.

* feat(docker): new healthcheck with /api/health endpoint

- Added `GET /api/health` endpoint to `server.js` (unauthenticated) for lightweight status checks.
- Update `docker/healthcheck.cjs`: Rewrite
- Updated Error handle for `HEALTHCHECK`

* feat(docker): switch to heartbeat file healthcheck mechanism

- Replaced network-based check with a file-based heartbeat approach.
- Updated `src/command-line.js`: Added `heartbeatInterval` argument with explicit ENV override (`SILLYTAVERN_HEARTBEAT_INTERVAL`).
- Updated `src/server-main.js`: Added logic to write `heartbeat.json` to data directory at set intervals.
- Rewrote `docker/healthcheck.cjs`: Script now monitors the heartbeat file timestamp (zero dependencies, no config parsing required).
- Updated `Dockerfile`: Sets default heartbeat interval to 30s and ensures script availability.
- Updated `config.yaml`: Added `heartbeatInterval` defaulting to 0 (disabled) for non-Docker users.

* Fix variable names

* Convert to ESM, use serverDirectory variable

* Move file to /src

* fix: update heartbeat path to use global DATA_ROOT variable

* Pretty colors

* Move healthcheck to docker-compose.yml

* Comment fixed

* Even cleaner diff!

---------

Co-authored-by: Pavdig <101715456+Pavdig@users.noreply.github.com>
2026-01-18 16:36:37 +02:00
Cohee 108d9fd74f docker-compose.yml improvements
1. Enable colorized console outputs
2. Set node environment to production
2025-03-01 21:16:28 +02:00
Cohee 55a295f827 Remove version specification from docker-compose.yml 2025-03-01 21:03:53 +02:00
Cohee a867b2f85a Add global extensions Docker volume
Closes #3251
2025-01-01 19:13:47 +02:00
Bronya-Rand c2592d7d86 chore: update docker file to auto-create the plugins folder. 2024-05-21 04:31:21 +01:00
Cohee a3da248e3c Adapt Docker files to neo-server data migration 2024-04-12 01:32:40 +03:00
lucy 96883bae59 [fix] [docker-compose] persist third party extensions
currently the third party extensions will get wiped on each container restart and also there is no way to re-import extensions
2024-02-03 06:35:04 +01:00
Chris Bennight 690dc328c5 update docker registry in compose file to github from dockerhub 2023-11-12 18:52:34 -05:00
Daleth Darko 3fe2b21686 Update docker-compose.yml to keep images (#1153) 2023-09-19 21:36:47 +03:00
Cohee ed86e8de04 #765 Fix docker startup 2023-07-23 16:52:25 +03:00
Cohee edd41989fd Initial commit 2023-07-20 20:32:15 +03:00