I'm attempting to run Nightmare.js on the server. I'm well aware that it's headless on Linux, and requires xvfb
. What I don't understand is why I continue to get the following error when in DEBUG mode:
nightmare queuing process start +0ms
nightmare queueing action "useragent" +3ms
nightmare queueing action "goto" for https://news.ycombinator.com +2ms
nightmare queueing action "cookies" +1ms
nightmare queueing action "goto" for https://news.ycombinator.com/login +0ms
nightmare queueing action "type" +1ms
nightmare queueing action "type" +0ms
nightmare queueing action "click" +0ms
nightmare queueing action "wait" +1ms
nightmare queueing action "goto" for https://news.ycombinator.com/item?id=11878025 +0ms
nightmare queueing action "click" +0ms
nightmare queueing action "wait" +1ms
nightmare running +0ms
nightmare electron child process exited with code 2: undefined +25ms
Here's my Dockerfile:
FROM node:latest
RUN apt-get update &&\
apt-get install -y \
xvfb \
x11-xkb-utils \
xfonts-100dpi \
xfonts-75dpi \
xfonts-scalable \
xfonts-cyrillic \
x11-apps \
clang \
libdbus-1-dev \
libgtk2.0-dev \
libnotify-dev \
libgnome-keyring-dev \
libgconf2-dev \
libasound2-dev \
libcap-dev \
libcups2-dev \
libxtst-dev \
libxss1 \
libnss3-dev \
gcc-multilib \
g++-multilib
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY . /usr/src/app
RUN npm install
CMD DEBUG=nightmare* xvfb-run --server-args="-screen 0 1024x768x24" node tux.js -s hn -m create -p 11878025
Any thoughts? Help would be greatly appreciated.
What you can do is to put all your files in a subdirectory, say app/ and in your Dockerfile do:
ADD app/ /usr/src/app/
of course in your app folder there will be env.sh, package.json, tux.js and the lib directory
That way if you need to add more files, you wont have to add them manually in your dockerfile.
PS: It works with COPY too
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With