Code Monkey home page Code Monkey logo

Comments (1)

Digitalum avatar Digitalum commented on May 12, 2024 2

I am not an expert in Docker containers but I was able to create a working version based on Ubuntu with a cronjob that runs every minute. You will need 3 files:

pdf-bot.config_docker.js
module.exports = {
"api": {
"token": "my-test-token"
},
"storagePath": "/app/pdf-storage",
generator: {
port : 9222
}
}

cronjob_shiftall
* * * * * node $(npm bin -g)/pdf-bot -c ../app/pdf-bot.config_docker.js shift:all >> /var/log/pdfbot.log 2>&1

Dockerfile

FROM ubuntu:18.04
WORKDIR /app
COPY pdf-bot/ /app/
COPY pdf-bot.config_docker.js /app

RUN mkdir /app/pdf-storage
RUN mkdir /app/pdf-storage/db
RUN mkdir /app/pdf-storage/pdf

RUN apt-get update
RUN apt-get install --yes curl
RUN curl --silent --location https://deb.nodesource.com/setup_4.x
RUN apt-get install --yes nodejs
RUN apt-get install --yes build-essential
RUN apt-get install --yes npm
RUN apt-get install --assume-yes chromium-browser
RUN npm install -g pm2

RUN apt-get -y install cron
COPY cronjob_shiftall /etc/cron.d/cronjob_shiftall
RUN chmod 0644 /etc/cron.d/cronjob_shiftall
RUN crontab /etc/cron.d/cronjob_shiftall

RUN npm install -g pdf-bot

CMD ls && cron && pm2 start chromium-browser --interpreter none -- --headless --disable-gpu --disable-translate --disable-extensions --disable-background-networking --safebrowsing-disable-auto-update --disable-sync --metrics-recording-only --disable-default-apps --no-first-run --mute-audio --hide-scrollbars --disable-features=NetworkService --no-sandbox --remote-debugging-port=9222 && pdf-bot -c ./pdf-bot.config_docker.js api

EXPOSE 3000

from pdf-bot.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.