28 lines
567 B
Docker
28 lines
567 B
Docker
# Use an official Node.js runtime as a base
|
|
FROM node:20-alpine
|
|
|
|
# Create app directory
|
|
WORKDIR /app
|
|
|
|
RUN apk add python3 py3-pip
|
|
|
|
# Copy package.json and install dependencies
|
|
COPY package*.json ./
|
|
RUN npm install --omit=dev
|
|
|
|
# Copy requirements.txt and install dependencies
|
|
COPY requirements.txt ./
|
|
RUN pip3 install --no-cache-dir --break-system-packages -r requirements.txt
|
|
|
|
# Copy the rest of the app
|
|
COPY . .
|
|
|
|
# Make the script executable
|
|
RUN chmod +x cli.js
|
|
RUN chmod +x watcher.py
|
|
|
|
# Make ephemeral cache directory
|
|
RUN mkdir ./cache
|
|
|
|
ENTRYPOINT /app/watcher.py
|