| |
| FROM node:18-slim |
|
|
| |
| WORKDIR /app |
|
|
| |
| RUN apt-get update && apt-get install -y \ |
| wget \ |
| gnupg \ |
| ca-certificates \ |
| && wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \ |
| && echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list \ |
| && apt-get update && apt-get install -y google-chrome-stable fonts-noto-color-emoji \ |
| && apt-get clean && rm -rf /var/lib/apt/lists/* |
|
|
| |
| RUN npm init -y && npm install playwright && npx playwright install-deps && npx playwright install chrome |
|
|
| |
| COPY package*.json ./ |
|
|
| |
| RUN npm ci --only=production |
|
|
| |
| COPY . . |
|
|
| |
| EXPOSE 7860 |
|
|
| |
| RUN addgroup --gid 1001 --system appgroup \ |
| && adduser --uid 1001 --system appuser --ingroup appgroup |
|
|
| |
| RUN chown -R appuser:appgroup /app |
|
|
| |
| USER 1001 |
|
|
| |
| CMD ["npm", "start"] |
|
|