Bridges third-party status pages into Webex spaces via RSS polling and inbound webhooks (Statuspage / Status.io / Uptime Kuma / generic). Includes an interactive Webex bot (websocket transport) that lets space members register sources with an Adaptive Card instead of hand-editing config/feeds.json: help, add, list, webhook <key>, remove <key>. Ships with an atomic JSON store (per-file mutex, tmp+rename), parallel RSS polling, and unit tests via node:test. All secrets are sourced from environment variables (see .env.example); no credentials in the repo. Co-authored-by: Cursor <cursoragent@cursor.com>
19 lines
382 B
Docker
19 lines
382 B
Docker
FROM node:20
|
|
# Create app directory
|
|
WORKDIR /usr/src/app
|
|
|
|
# Install app dependencies
|
|
# A wildcard is used to ensure both package.json AND package-lock.json are copied
|
|
# where available (npm@5+)
|
|
COPY package*.json ./
|
|
|
|
RUN npm install
|
|
# If you are building your code for production
|
|
# RUN npm ci --only=production
|
|
|
|
# Bundle app source
|
|
COPY . .
|
|
|
|
EXPOSE 1449
|
|
|
|
CMD [ "node", "index.js" ]
|