FROM node:22-alpine

ENV NODE_ENV=production \
    PORT=3000 \
    STEAM_AUTH_FILE=/data/.steam-auth.json \
    STEAM_CREDENTIALS_FILE=/data/.steam-credentials.json \
    STEAM_DATA_DIR=/data/node-steam-user \
    LOBBY_SETTINGS_FILE=/data/.lobby-settings.json \
    WEB_PUSH_FILE=/data/.web-push.json \
    TELEGRAM_FILE=/data/.telegram.json

WORKDIR /app

COPY package*.json ./
RUN npm ci --omit=dev

COPY . .

RUN mkdir -p /data && chown -R node:node /app /data

USER node

EXPOSE 3000
VOLUME ["/data"]

CMD ["node", "index.js"]
