Commit Graph
11 Commits
Author SHA1 Message Date
zstadlerandacalcutt 64adff0855 Handle SIGTERM (#782)
* Handle SIGTERM

Resolve #781

* Add `Caught signal ...` messages

Container log when sending a `SIGHUP` signal and then a `SIGTERM` signal using
`docker kill --signal ...` :

```
Starting tileserver-gl v4.4.8
[INFO] Automatically creating config file for zurich_switzerland.mbtiles
[INFO] Only a basic preview style will be used.
[INFO] See documentation to learn how to create config.json file.
Run with --verbose to see the config file here.
Starting server
Listening at http://[::]:8080/
Startup complete
Caught signal SIGHUP, refreshing
Stopping server and reloading config
Starting server
Listening at http://[::]:8080/
Startup complete
Caught signal SIGTERM, stopping gracefully
```

Note that the numeric signal values, as used in the shell version, were
replaced by signal names, as used in nodeJS.

* run 'npm run lint:js:fix'

---------

Co-authored-by: acalcutt <acalcutt@techidiots.net>
2023-03-01 10:05:21 -05:00
zstadler f242cc1760 Simplify signal handling (#771)
Avoid implementing a complex signal relaying mechanism in `docker-entrypoint*.sh`
Instead, the shell performs `exec node ...` and the `node` process receives the signals directly.

Related to #560, #575, which were my initial implemetation.
2023-02-18 23:51:48 -05:00
zstadler acde7b0a30 Simplify signal handling (#767)
Avoid implementing a complex signal relaying mechanism in `docker-entrypoint*.sh`
Instead, the shell performs `exec node ...` and the `node` process receives the signals directly.

Related to #560, #575, which were my initial implemetation.
2023-02-18 22:29:47 -05:00
zstadler ac3b2f3dce usage.rst: Add "Docker and --port" section (#651) 2022-12-05 00:02:05 -05:00
zstadlerandacalcutt 50201f0a99 Add Docker Healthcheck (#636)
* Add Docker Healthcheck

Fixes #635

* Update Dockerfile_light

* Update healthcheck.js

fix healthcheck output error: "file:///usr/src/app/src/healthcheck.js:1\nvar http = require(\"http\");\n           ^\n\nReferenceError: require is not defined in ES module scope, you can use import instead\nThis file is being treated as an ES module because it has a '.js' file extension and '/usr/src/app/package.json' contains \"type\": \"module\". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.\n    at file:///usr/src/app/src/healthcheck.js:1:12\n    at ModuleJob.run (node:internal/modules/esm/module_job:193:25)\n    at async Promise.all (index 0)\n    at async ESMLoader.import (node:internal/modules/esm/loader:526:24)\n    at async loadESM (node:internal/process/esm_loader:91:5)\n    at async handleMainPromise (node:internal/modules/run_main:65:12)\n"

* update version

Co-authored-by: acalcutt <acalcutt@techidiots.net>
2022-11-06 21:30:55 -05:00
zstadler 145ea15be3 Add .gitattribute (#637)
Lines in `.sh` scripts must always end with `lf`,
even in Windows' git shell
2022-11-06 18:08:26 -05:00
zstadler edd7c7dd87 Allow multiple refreshes
by sending multiple `HUP` kill commands to the container.
2022-03-06 16:33:56 +02:00
zstadler a766dfd233 Update usage.rst
Typo correction
2022-03-05 22:37:39 +02:00
zstadler 6027d89623 Simplify reloading the configuration with docker
Allow `docker kill -s HUP` and `docker-compose kill -s HUP` to reach the
node process.
2021-12-22 18:38:44 +02:00
zstadler 09ded526ef Document configuration reloading when using docker
Based on https://github.com/maptiler/tileserver-gl/issues/420#issuecomment-766332814
2021-02-02 12:35:19 +02:00
zstadler 8126b31081 Resolve https://github.com/maptiler/tileserver-gl/issues/386 2020-01-28 11:29:42 +02:00