diff --git a/docker/docker-compose.homelab.yml b/docker/docker-compose.homelab.yml index f7454fdc..365f6a43 100644 --- a/docker/docker-compose.homelab.yml +++ b/docker/docker-compose.homelab.yml @@ -29,7 +29,7 @@ services: extends: file: ./app/docker-compose.yml service: app - command: npx vite build + command: '/bin/bash -c "npm ci && npx vite build"' environment: LACUNA_ASSETS_URL: https://lacuna.allosaurus-chromatic.ts.net/assets/ LACUNA_SERVER_URL: https://lacuna.allosaurus-chromatic.ts.net @@ -40,6 +40,9 @@ services: file: ./server/docker-compose.yml service: server restart: unless-stopped + environment: + # Disables the prod-only size-limit / profiling middleware (bin/lacuna.psgi). + TLE_NO_MIDDLEWARE: 1 volumes: - ./server/etc-homelab:/home/lacuna/server/etc diff --git a/docker/docker-compose.test.yml b/docker/docker-compose.test.yml index fff9597a..cf2d5bba 100644 --- a/docker/docker-compose.test.yml +++ b/docker/docker-compose.test.yml @@ -34,7 +34,7 @@ services: extends: file: ./app/docker-compose.yml service: app - command: npx vite build + command: '/bin/bash -c "npm ci && npx vite build"' environment: LACUNA_ASSETS_URL: https://lacuna-test.allosaurus-chromatic.ts.net/assets/ LACUNA_SERVER_URL: https://lacuna-test.allosaurus-chromatic.ts.net diff --git a/docker/tailscale/docker-compose.yml b/docker/tailscale/docker-compose.yml index 152d2c6c..86b0298e 100644 --- a/docker/tailscale/docker-compose.yml +++ b/docker/tailscale/docker-compose.yml @@ -22,4 +22,4 @@ services: cap_add: - net_admin - sys_module - # restart: unless-stopped + restart: unless-stopped diff --git a/v2-api/index.ts b/v2-api/index.ts index b1a55533..d5fd1b64 100644 --- a/v2-api/index.ts +++ b/v2-api/index.ts @@ -175,18 +175,31 @@ app.post('/v2/:module/:method', async (req, res) => { } console.log(`hitting /${reqModule} with:`, body); - const response = await fetch(`http://server:5000/${reqModule}`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify(body), - }); - const result = await response.json(); - console.log('status', response.status); - console.log('result', result); - - res.status(response.status).json(result); + try { + const response = await fetch(`http://server:5000/${reqModule}`, { + method: 'POST', + headers: { + // TODO pass real port through + 'Content-Type': 'application/json', + }, + body: JSON.stringify(body), + }); + const result = await response.json(); + console.log('status', response.status); + console.log('result', result); + + res.status(response.status).json(result); + } catch (e: unknown) { + console.error('Unknown error', e); + res.status(500).json({ + id: 1, + jsonrpc: '2.0', + error: { + code: 1002, + message: 'An unknown server error occurred in the TLE infrastructure.', + }, + }); + } }); app.listen(port, () => {