feat(docker compose): healthcheck for speckle-server (#1651)
* feat(docker compose): healthcheck for speckle-server - if speckle server pod becomes unresponsive (but has not yet exited with a non-zero exit code), it will be automatically restarted after 30s. * feat(1click): add healthcheck to speckle-server container running in DigitalOcean 1click * fix(1click): remove command statements - the docker image is responsible for providing these
This commit is contained in:
Родитель
40fec1efde
Коммит
fa36e9e40c
|
@ -17,6 +17,16 @@ services:
|
|||
dockerfile: packages/server/Dockerfile
|
||||
image: speckle/speckle-server:local
|
||||
restart: always
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- node
|
||||
- -e
|
||||
- "require('node:http').request({headers: {'Content-Type': 'application/json'}, port:3000, hostname:'127.0.0.1', path:'/graphql?query={serverInfo{version}}', method: 'GET' }, (res) => { body = ''; res.on('data', (chunk) => {body += chunk;}); res.on('end', () => {process.exit(res.statusCode != 200 || body.toLowerCase().includes('error'));}); }).end();"
|
||||
interval: 10s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 5s
|
||||
environment:
|
||||
# TODO: Change this to the URL of the speckle server, as accessed from the network
|
||||
CANONICAL_URL: 'http://localhost'
|
||||
|
|
|
@ -47,9 +47,18 @@ services:
|
|||
speckle-server:
|
||||
image: speckle/speckle-server:2
|
||||
restart: always
|
||||
healthcheck:
|
||||
test:
|
||||
- CMD
|
||||
- node
|
||||
- -e
|
||||
- "require('node:http').request({headers: {'Content-Type': 'application/json'}, port:3000, hostname:'127.0.0.1', path:'/graphql?query={serverInfo{version}}', method: 'GET' }, (res) => { body = ''; res.on('data', (chunk) => {body += chunk;}); res.on('end', () => {process.exit(res.statusCode != 200 || body.toLowerCase().includes('error'));}); }).end();"
|
||||
interval: 10s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 5s
|
||||
ports:
|
||||
- '127.0.0.1:3000:3000'
|
||||
command: ['bash', '-c', '/wait && node bin/www']
|
||||
environment:
|
||||
CANONICAL_URL: 'TODO: change'
|
||||
SESSION_SECRET: 'TODO: change'
|
||||
|
@ -88,7 +97,6 @@ services:
|
|||
restart: always
|
||||
mem_limit: '1000m'
|
||||
memswap_limit: '1000m'
|
||||
command: ['bash', '-c', '/wait && node bin/www']
|
||||
|
||||
environment:
|
||||
LOG_LEVEL: 'info'
|
||||
|
@ -98,7 +106,6 @@ services:
|
|||
speckle-webhook-service:
|
||||
image: speckle/speckle-webhook-service:2
|
||||
restart: always
|
||||
command: ['bash', '-c', '/wait && node main.js']
|
||||
environment:
|
||||
LOG_LEVEL: 'info'
|
||||
PG_CONNECTION_STRING: 'postgres://speckle:speckle@postgres/speckle'
|
||||
|
@ -107,7 +114,6 @@ services:
|
|||
fileimport-service:
|
||||
image: speckle/speckle-fileimport-service:2
|
||||
restart: always
|
||||
command: ['bash', '-c', '/wait && node src/daemon.js']
|
||||
environment:
|
||||
LOG_LEVEL: 'info'
|
||||
PG_CONNECTION_STRING: 'postgres://speckle:speckle@postgres/speckle'
|
||||
|
|
Загрузка…
Ссылка в новой задаче