FROM node:22-alpine

WORKDIR /app

COPY package.json package-lock.json ./
COPY packages/device-protocol-contract ./packages/device-protocol-contract
COPY packages/device-adapter-runtime ./packages/device-adapter-runtime
COPY packages/device-adapter-catalog ./packages/device-adapter-catalog
COPY packages/arusnavi-b2-adapter ./packages/arusnavi-b2-adapter
COPY services/device-gateway ./services/device-gateway
COPY services/device-control-core/package.json ./services/device-control-core/package.json
COPY services/device-edge-relay/package.json ./services/device-edge-relay/package.json

RUN npm ci --omit=dev --ignore-scripts

USER node

CMD ["node", "services/device-gateway/src/server.mjs"]
