Created deployment

This commit is contained in:
2026-02-10 17:16:29 +01:00
parent efc16d4ff3
commit 97c9ffaf77
4 changed files with 42 additions and 15 deletions

View File

@@ -1,10 +1,23 @@
# --- Release image ---
FROM node:22-alpine AS release
ARG PORT
WORKDIR /home/node/app
COPY ./dist/src ./src
COPY ./dist/package.json ./
COPY ./dist/package-lock.json ./
RUN npm ci
EXPOSE $PORT
ENTRYPOINT ["node", "src/apps/index.js"]
# Copiar paquetes compilados del monorepo
COPY ./dist/packages ./packages
# Instalar dependencias de produccion
COPY ./package.json ./
COPY ./package-lock.json ./
RUN npm ci --omit=dev
# Symlinks para modulos compartidos del workspace
RUN mkdir -p packages/node_modules && \
ln -sf ../sim-shared packages/node_modules/sim-shared && \
ln -sf ../sim-consumidor-objenious packages/node_modules/sim-consumidor-objenious
# Script de inicio para los 3 servicios
COPY ./entrypoint.sh ./
RUN chmod +x entrypoint.sh
EXPOSE ${PORT:-3000}
ENTRYPOINT ["./entrypoint.sh"]

View File

@@ -4,6 +4,8 @@ networks:
external: true
proxy:
external: true
internal:
driver: bridge
services:
rabbitmq-sim-broker:
@@ -27,6 +29,8 @@ services:
- ./rabbitmq_plugins/enabled_plugins:/etc/rabbitmq/enabled_plugins:ro
- ./rabbit/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf:ro
- ./rabbit/definitions.json:/etc/rabbitmq/definitions.json:ro
networks:
- internal
labels:
- "io.portainer.accesscontrol.teams=develop"
@@ -49,8 +53,17 @@ services:
networks:
- savefamily
- proxy
- internal
expose:
- ${PORT}
volumes:
- ./.env:/home/node/app/.env:ro
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://localhost:${PORT:-3000}/health || exit 1"]
interval: 10s
timeout: 5s
retries: 5
start_period: 15s
labels:
- "io.portainer.accesscontrol.teams=develop"
- "traefik.enable=true"
@@ -82,5 +95,7 @@ services:
retries: 5
start_period: 5s
timeout: 5s
networks:
- internal
labels:
- "io.portainer.accesscontrol.teams=develop"

View File

@@ -0,0 +1,5 @@
#!/bin/sh
node packages/sim-objenious-cron/index.js &
node packages/sim-consumidor-objenious/index.js &
exec node packages/sim-entrada-eventos/index.js