feat: configure realtime services and update environment variables
This commit is contained in:
@@ -1,32 +1,32 @@
|
||||
services:
|
||||
# auth:
|
||||
# container_name: auth
|
||||
# build:
|
||||
# context: ./auth
|
||||
# dockerfile: Dockerfile
|
||||
# restart: unless-stopped
|
||||
# command: npm run dev
|
||||
# volumes:
|
||||
# - ./auth:/app
|
||||
# - /app/node_modules
|
||||
# env_file:
|
||||
# - ./auth/.env
|
||||
# healthcheck:
|
||||
# test: ["CMD", "node", "-e", "fetch('http://localhost:3006/health').then(r => r.ok ? process.exit(0) : process.exit(1))"]
|
||||
# interval: 30s
|
||||
# timeout: 5s
|
||||
# retries: 3
|
||||
# networks:
|
||||
# - meb-proxy-net
|
||||
# - meb-internal
|
||||
# ports:
|
||||
# - "3006:3006"
|
||||
# labels:
|
||||
# - "traefik.enable=true"
|
||||
# - "traefik.http.routers.auth.rule=Host(`auth.${URL_DOMAIN}`)"
|
||||
# - "traefik.http.routers.auth.entrypoints=web"
|
||||
# - "traefik.http.services.auth.loadbalancer.server.port=3006"
|
||||
# - "traefik.docker.network=meb-proxy-net"
|
||||
auth:
|
||||
container_name: auth
|
||||
build:
|
||||
context: ./auth
|
||||
dockerfile: Dockerfile
|
||||
restart: unless-stopped
|
||||
command: npm run dev
|
||||
volumes:
|
||||
- ./auth:/app
|
||||
- /app/node_modules
|
||||
env_file:
|
||||
- ./auth/.env
|
||||
healthcheck:
|
||||
test: ["CMD", "node", "-e", "fetch('http://localhost:3006/health').then(r => r.ok ? process.exit(0) : process.exit(1))"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
networks:
|
||||
- meb-public
|
||||
- meb-private
|
||||
ports:
|
||||
- "3006:3006"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.auth.rule=Host(`auth.mebboat.it`)"
|
||||
- "traefik.http.routers.auth.entrypoints=websecure"
|
||||
- "traefik.http.services.auth.loadbalancer.server.port=3006"
|
||||
- "traefik.docker.network=meb-public"
|
||||
|
||||
api:
|
||||
container_name: api-services
|
||||
@@ -45,8 +45,6 @@ services:
|
||||
networks:
|
||||
- meb-public
|
||||
- meb-private
|
||||
ports:
|
||||
- "3003:3003"
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.api.rule=Host(`api.mebboat.it`)"
|
||||
@@ -55,56 +53,74 @@ services:
|
||||
- "traefik.http.routers.api.tls.certresolver=letsencrypt"
|
||||
- "traefik.docker.network=meb-public"
|
||||
|
||||
# console:
|
||||
# build:
|
||||
# context: ./console
|
||||
# dockerfile: Dockerfile
|
||||
# restart: unless-stopped
|
||||
# command: npm run dev
|
||||
# volumes:
|
||||
# - ./console:/app
|
||||
# - /app/node_modules
|
||||
# env_file:
|
||||
# - ./console/.env
|
||||
# networks:
|
||||
# - meb-proxy-net
|
||||
# - meb-internal
|
||||
# ports:
|
||||
# - "3004:3004"
|
||||
console:
|
||||
build:
|
||||
context: ./console
|
||||
dockerfile: Dockerfile
|
||||
restart: unless-stopped
|
||||
command: npm run dev
|
||||
volumes:
|
||||
- ./console:/app
|
||||
- /app/node_modules
|
||||
env_file:
|
||||
- ./console/.env
|
||||
networks:
|
||||
- meb-public
|
||||
- meb-private
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.console.rule=Host(`console.mebboat.it`)"
|
||||
- "traefik.http.routers.console.entrypoints=websecure"
|
||||
- "traefik.http.services.console.loadbalancer.server.port=3004"
|
||||
- "traefik.http.routers.console.tls.certresolver=letsencrypt"
|
||||
- "traefik.docker.network=meb-public"
|
||||
|
||||
# realtime:
|
||||
# build:
|
||||
# context: ./realtime
|
||||
# dockerfile: Dockerfile
|
||||
# restart: unless-stopped
|
||||
# command: npm run dev
|
||||
# ports:
|
||||
# - "3002:3002"
|
||||
# - "3102:3102"
|
||||
# volumes:
|
||||
# - ./realtime:/app
|
||||
# - /app/node_modules
|
||||
# env_file:
|
||||
# - ./realtime/.env
|
||||
# networks:
|
||||
# - meb-proxy-net
|
||||
# - meb-internal
|
||||
realtime:
|
||||
build:
|
||||
context: ./realtime
|
||||
dockerfile: Dockerfile
|
||||
restart: unless-stopped
|
||||
command: npm run dev
|
||||
volumes:
|
||||
- ./realtime:/app
|
||||
- /app/node_modules
|
||||
env_file:
|
||||
- ./realtime/.env
|
||||
networks:
|
||||
- meb-private
|
||||
- meb-public
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.realtime.rule=Host(`realtime.mebboat.it`)"
|
||||
- "traefik.http.routers.realtime.entrypoints=websecure"
|
||||
- "traefik.http.services.realtime.loadbalancer.server.port=3002"
|
||||
- "traefik.http.routers.realtime.tls.certresolver=letsencrypt"
|
||||
- "traefik.docker.network=meb-public"
|
||||
|
||||
# ml:
|
||||
# container_name: ml-service
|
||||
# build:
|
||||
# context: ./ml
|
||||
# dockerfile: Dockerfile
|
||||
# restart: unless-stopped
|
||||
# volumes:
|
||||
# - ./ml:/app
|
||||
# env_file:
|
||||
# - ./ml/.env
|
||||
# ports:
|
||||
# - "3005:3005"
|
||||
# networks:
|
||||
# - meb-proxy-net
|
||||
# - meb-internal
|
||||
- "traefik.http.services.realtime.loadbalancer.sticky.cookie=true"
|
||||
- "traefik.http.services.realtime.loadbalancer.sticky.cookie.name=realtime-ws"
|
||||
- "traefik.http.services.realtime.loadbalancer.sticky.cookie.secure=true"
|
||||
|
||||
ml:
|
||||
container_name: ml-service
|
||||
build:
|
||||
context: ./ml
|
||||
dockerfile: Dockerfile
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./ml:/app
|
||||
env_file:
|
||||
- ./ml/.env
|
||||
networks:
|
||||
- meb-private
|
||||
- meb-public
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.ml.rule=Host(`ml.mebboat.it`)"
|
||||
- "traefik.http.routers.ml.entrypoints=websecure"
|
||||
- "traefik.http.services.ml.loadbalancer.server.port=8000"
|
||||
- "traefik.http.routers.ml.tls.certresolver=letsencrypt"
|
||||
- "traefik.docker.network=meb-public"
|
||||
|
||||
# marine:
|
||||
# container_name: marine-service
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
PORT=3004
|
||||
|
||||
VERSION=1.0.0
|
||||
VERSION_BUILD=1.0
|
||||
VERSION_STATE=beta
|
||||
|
||||
@@ -36,7 +36,6 @@ app.get('/health', async (req, res) => {
|
||||
version: process.env.VERSION,
|
||||
build: process.env.VERSION_BUILD,
|
||||
state: process.env.VERSION_STATE,
|
||||
port: process.env.PORT
|
||||
});
|
||||
});
|
||||
|
||||
@@ -77,9 +76,8 @@ app.get('/sessions/:sensorId/csv', async (req, res) => {
|
||||
});
|
||||
|
||||
|
||||
const PORT = process.env.PORT || 3000;
|
||||
const server = app.listen(PORT, '0.0.0.0', async () => {
|
||||
console.log(`Realtime on port ${PORT}`);
|
||||
const server = app.listen(3000, '0.0.0.0', async () => {
|
||||
console.log(`Realtime started`);
|
||||
await require('./helper/authdb').initDB();
|
||||
});
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ const redisHelper = require('./helper/redis');
|
||||
const influxWriter = require('./helper/influxWriter');
|
||||
|
||||
const ws = new WebSocket.Server({
|
||||
port: process.env.SOCKET_PORT,
|
||||
port: 3000,
|
||||
perMessageDeflate: false,
|
||||
verifyClient: async (info, callback) => {
|
||||
const { query } = url.parse(info.req.url, true);
|
||||
@@ -107,4 +107,4 @@ ws.on('connection', async (client, req) => {
|
||||
});
|
||||
});
|
||||
|
||||
console.log(`[WS] Realtime websocket server on port: ${process.env.SOCKET_PORT}`);
|
||||
console.log(`[WS] Realtime websocket server`);
|
||||
Reference in New Issue
Block a user