| FROM node:20-slim |
|
|
| |
| RUN apt update && apt install -y \ |
| wget \ |
| curl \ |
| ca-certificates \ |
| gnupg \ |
| xvfb \ |
| && 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 update && apt install -y google-chrome-stable \ |
| && apt-get clean \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| WORKDIR /app |
|
|
| RUN mkdir -p /app/data |
|
|
| COPY package*.json ./ |
| RUN npm install |
|
|
| COPY . . |
|
|
| EXPOSE 7860 |
|
|
| |
| HEALTHCHECK --interval=30s --timeout=3s --start-period=30s --retries=3 \ |
| CMD curl -f http://localhost:7860/health || exit 1 |
|
|
| |
| CMD Xvfb :99 -screen 0 1024x768x16 & \ |
| export DISPLAY=:99 && \ |
| sleep 5 && \ |
| echo "Running test.js to create session..." && \ |
| if [ -f "test.js" ]; then \ |
| node test.js || echo "test.js completed (exit code: $?)"; \ |
| else \ |
| echo "test.js not found, skipping..."; \ |
| fi && \ |
| echo "Starting main bot..." && \ |
| node index.js |