Formerly /u/Zagorath on the alien site.

  • 2 Posts
  • 8 Comments
Joined 2 years ago
cake
Cake day: June 15th, 2023

help-circle
  • Honestly I can’t even figure out how to get that alpine-chrome image to work. I edited my Dockerfile to say

    FROM zenika/alpine-chrome:with-puppeteer
    

    instead of

    FROM node:22
    

    I tried changing USER node to USER chrome. I removed all the apt-get dependencies that were needed to get Puppeteer working in Docker on my PC in the first instance, and added --chown=chrome to my COPY package.json line, all as described in the with-puppeteer example. I also added the ENV lines from that. (I also tried various combinations of some of the aforementioned changes but not others.) Now I get an error with the npm install step.

    Error message
    15.44 npm ERR! code 1
    15.44 npm ERR! path /usr/src/app/node_modules/canvas
    15.44 npm ERR! command failed
    15.44 npm ERR! command sh -c prebuild-install -r napi || node-gyp rebuild
    15.45 npm ERR! prebuild-install warn install No prebuilt binaries found (target=7 runtime=napi arch=x64 libc=musl platform=linux)
    15.45 npm ERR! gyp info it worked if it ends with ok
    15.45 npm ERR! gyp info using node-gyp@8.4.1
    15.45 npm ERR! gyp info using node@20.15.1 | linux | x64
    15.45 npm ERR! gyp info find Python using Python version 3.11.10 found at "/usr/bin/python3"
    15.45 npm ERR! gyp http GET https://nodejs.org/download/release/v20.15.1/node-v20.15.1-headers.tar.gz
    15.45 npm ERR! gyp http 200 https://nodejs.org/download/release/v20.15.1/node-v20.15.1-headers.tar.gz
    15.45 npm ERR! gyp http GET https://nodejs.org/download/release/v20.15.1/SHASUMS256.txt
    15.45 npm ERR! gyp http 200 https://nodejs.org/download/release/v20.15.1/SHASUMS256.txt
    15.45 npm ERR! gyp info spawn /usr/bin/python3
    15.45 npm ERR! gyp info spawn args [
    15.45 npm ERR! gyp info spawn args   '/usr/src/app/node_modules/node-gyp/gyp/gyp_main.py',
    15.45 npm ERR! gyp info spawn args   'binding.gyp',
    15.45 npm ERR! gyp info spawn args   '-f',
    15.45 npm ERR! gyp info spawn args   'make',
    15.45 npm ERR! gyp info spawn args   '-I',
    15.45 npm ERR! gyp info spawn args   '/usr/src/app/node_modules/canvas/build/config.gypi',
    15.45 npm ERR! gyp info spawn args   '-I',
    15.45 npm ERR! gyp info spawn args   '/usr/src/app/node_modules/node-gyp/addon.gypi',
    15.45 npm ERR! gyp info spawn args   '-I',
    15.45 npm ERR! gyp info spawn args   '/home/chrome/.cache/node-gyp/20.15.1/include/node/common.gypi',
    15.45 npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
    15.45 npm ERR! gyp info spawn args   '-Dvisibility=default',
    15.45 npm ERR! gyp info spawn args   '-Dnode_root_dir=/home/chrome/.cache/node-gyp/20.15.1',
    15.45 npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/usr/src/app/node_modules/node-gyp',
    15.45 npm ERR! gyp info spawn args   '-Dnode_lib_file=/home/chrome/.cache/node-gyp/20.15.1/<(target_arch)/node.lib',
    15.45 npm ERR! gyp info spawn args   '-Dmodule_root_dir=/usr/src/app/node_modules/canvas',
    15.45 npm ERR! gyp info spawn args   '-Dnode_engine=v8',
    15.45 npm ERR! gyp info spawn args   '--depth=.',
    15.45 npm ERR! gyp info spawn args   '--no-parallel',
    15.45 npm ERR! gyp info spawn args   '--generator-output',
    15.45 npm ERR! gyp info spawn args   'build',
    15.45 npm ERR! gyp info spawn args   '-Goutput_dir=.'
    15.45 npm ERR! gyp info spawn args ]
    15.45 npm ERR! Package pixman-1 was not found in the pkg-config search path.
    15.45 npm ERR! Perhaps you should add the directory containing `pixman-1.pc'
    15.45 npm ERR! to the PKG_CONFIG_PATH environment variable
    15.45 npm ERR! Package 'pixman-1', required by 'virtual:world', not found
    15.45 npm ERR! gyp: Call to 'pkg-config pixman-1 --libs' returned exit status 1 while in binding.gyp. while trying to load binding.gyp
    15.45 npm ERR! gyp ERR! configure error
    15.45 npm ERR! gyp ERR! stack Error: `gyp` failed with exit code: 1
    15.45 npm ERR! gyp ERR! stack     at ChildProcess.onCpExit (/usr/src/app/node_modules/node-gyp/lib/configure.js:259:16)
    15.45 npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:519:28)
    15.45 npm ERR! gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:294:12)
    15.45 npm ERR! gyp ERR! System Linux 6.10.14-linuxkit
    15.45 npm ERR! gyp ERR! command "/usr/bin/node" "/usr/src/app/node_modules/.bin/node-gyp" "rebuild"
    15.45 npm ERR! gyp ERR! cwd /usr/src/app/node_modules/canvas
    15.45 npm ERR! gyp ERR! node -v v20.15.1
    15.45 npm ERR! gyp ERR! node-gyp -v v8.4.1
    15.45 npm ERR! gyp ERR! not ok
    15.45
    [+] Running 0/1A complete log of this run can be found in: /home/chrome/.npm/_logs/2025-02-18T01_04_35_846Z-debug-0.log
     - Service node  Building                                                                                         18.9s
    failed to solve: process "/bin/sh -c npm install" did not complete successfully: exit code: 1
    

  • Which I just now (after posting) noticed was already mentioned in a different comment. Sorry!

    I’m guessing the user who made that other comment is on lemmy.world? I can’t see any comment other than yours, and LW has known issues with federation (issues that would be fixed if the instance weren’t 5 version behind…) that mean I probably won’t be able to see it for about 2 days right now. So thanks!

    I haven’t looked into the suggestion in great detail yet, but I will say I’m already running as a non-root user (USER node is a line in my Dockerfile). I’m not sure what a seccomp profile is, but in case it wasn’t clear from the original post, I just want to emphasise that the current configuration works in Docker on my Windows PC. It’s only on the Synology NAS that it fails.





  • I would love to containerise it. I worked with Docker in a previous job, but honestly I’ve forgotten most of how to work with it. Would be a nice refresher to try and relearn how to create Dockerfiles and docker-compose.yamls.

    Unfortunately I currently have two problems. First: I seem to be completely unable to test this on my desktop. When I open Docker on my PC, it complains that I need to run wsl --shutdown, but despite doing that many times, it still complains, before immediately closing.

    So I was going to try doing it entirely on the Synology. And then I ran into the issue that…I have no idea how to even start with that. When I search for Docker in the Package Manager the only thing that comes up is Synology’s own container manager, and I have no idea how to work with that.