mirror of
https://github.com/TheNetsky/Microsoft-Rewards-Script.git
synced 2026-01-10 18:36:17 +00:00
43 lines
955 B
Docker
43 lines
955 B
Docker
# Use an official Node.js runtime as a base image
|
|
FROM node:18
|
|
|
|
# Set the working directory in the container
|
|
WORKDIR /usr/src/microsoft-rewards-script
|
|
|
|
# Install jq
|
|
RUN apt-get update && apt-get install -y jq
|
|
|
|
|
|
# Copy all files to the working directory
|
|
COPY . .
|
|
|
|
# Check if "headless" is set to "true" in the config.json file
|
|
RUN HEADLESS=$(cat src/config.json | jq -r .headless) \
|
|
&& if [ "$HEADLESS" != "true" ]; then \
|
|
echo "Error: 'headless' in src/config.json is not true."; \
|
|
exit 1; \
|
|
fi
|
|
|
|
# Install dependencies including Playwright
|
|
RUN apt-get install -y \
|
|
xvfb \
|
|
libgbm-dev \
|
|
libnss3 \
|
|
libasound2 \
|
|
libxss1 \
|
|
libatk-bridge2.0-0 \
|
|
libgtk-3-0 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install application dependencies
|
|
RUN npm install
|
|
|
|
# Build the script
|
|
RUN npm run build
|
|
|
|
# Install playwright chromium
|
|
RUN npx playwright install chromium
|
|
|
|
# Define the command to run your application
|
|
CMD ["npm", "start"]
|