Can't install poppler-utils on Docker Windows for n8n

Background: I am a newbie whom has very minimal coding knowledge trying to learn and do some automation for me personal project. I am very sorry on the formatting as I’m not sure how to format it.

Describe the problem/error/question

I tried to install poppler-utils for pdf2image and follow the instruction to install on Docker. So basically this is what I followed.

1. Install poppler-utils on Docker n8n

:spouting_whale: Docker n8n (Most Common)

If you’re running n8n in Docker, you need to create a custom Docker image:

Option 1: Custom Dockerfile

FROM n8nio/n8n:latest

# Switch to root to install system packages
USER root

# Install poppler-utils
RUN apk add --no-cache poppler-utils

# Switch back to node user
USER node

Build and run:

docker build -t n8n-with-poppler .
docker run -it --rm --name n8n -p 5678:5678 n8n-with-popplerxt will be hidden

Problem:

These are the step I did to create the Dockerfile:
I created a .txt file and remove .txt and name it as abcdockerfile (no format, no .anything)
I put it in a folder
I open Docker terminal, I change the directory to the folder that contain dockerfile with cd command
Then I ran these following line:

docker build -t n8n-with-poppler .
docker run -it --rm --name n8n -p 5678:5678 n8n-with-poppler

The error message:

docker build -t n8n-with-poppler .
>> docker run -it --rm --name n8n -p 5678:5678 n8n-with-poppler
[+] Building 2.3s (6/6) FINISHED                                                                                                                                                                                                    docker:desktop-linux
 => [internal] load build definition from dockerfile                                                                                                                                                                                                0.0s
 => => transferring dockerfile: 113B                                                                                                                                                                                                                0.0s 
 => [internal] load metadata for docker.io/n8nio/n8n:latest                                                                                                                                                                                         1.9s 
 => [auth] n8nio/n8n:pull token for registry-1.docker.io                                                                                                                                                                                            0.0s 
 => [internal] load .dockerignore                                                                                                                                                                                                                   0.0s
 => => transferring context: 2B                                                                                                                                                                                                                     0.0s 
 => CACHED [1/2] FROM docker.io/n8nio/n8n:latest@sha256:85214df20cd7bc020f8e4b0f60f87ea87f0a754ca7ba3d1ccdfc503ccd6e7f9c                                                                                                                            0.0s 
 => => resolve docker.io/n8nio/n8n:latest@sha256:85214df20cd7bc020f8e4b0f60f87ea87f0a754ca7ba3d1ccdfc503ccd6e7f9c                                                                                                                                   0.0s 
 => ERROR [2/2] RUN apk add --no-cache poppler-utils                                                                                                                                                                                                0.3s 
------
 > [2/2] RUN apk add --no-cache poppler-utils:
0.242 /bin/sh: apk: not found
------
dockerfile:4
--------------------
   2 |
   3 |     USER root
   4 | >>> RUN apk add --no-cache poppler-utils
   5 |     USER node
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c apk add --no-cache poppler-utils" did not complete successfully: exit code: 127

View build details: docker-desktop://dashboard/build/desktop-linux/desktop-linux/izocvzd913bipq7t1wnmipbrt
Unable to find image 'n8n-with-poppler:latest' locally
docker: Error response from daemon: pull access denied for n8n-with-poppler, repository does not exist or may require 'docker login'

Run 'docker run --help' for more information

I ask AI, it said use apt instead of apk, I update the dockerfile with notepad into this:

FROM n8nio/n8n

USER root
RUN apk add --no-cache poppler-utils
USER node

I ran again and:

[+] Building 1.4s (5/5) FINISHED                                                                                                                                                                                                    docker:desktop-linux
 => [internal] load build definition from dockerfile                                                                                                                                                                                                0.0s
 => => transferring dockerfile: 185B                                                                                                                                                                                                                0.0s 
 => [internal] load metadata for docker.io/n8nio/n8n:latest                                                                                                                                                                                         1.0s 
 => [internal] load .dockerignore                                                                                                                                                                                                                   0.0s
 => => transferring context: 2B                                                                                                                                                                                                                     0.0s 
 => CACHED [1/2] FROM docker.io/n8nio/n8n:latest@sha256:85214df20cd7bc020f8e4b0f60f87ea87f0a754ca7ba3d1ccdfc503ccd6e7f9c                                                                                                                            0.0s 
 => => resolve docker.io/n8nio/n8n:latest@sha256:85214df20cd7bc020f8e4b0f60f87ea87f0a754ca7ba3d1ccdfc503ccd6e7f9c                                                                                                                                   0.0s 
 => ERROR [2/2] RUN apt-get update &&     apt-get install -y poppler-utils &&     rm -rf /var/lib/apt/lists/*                                                                                                                                       0.2s 
------
 > [2/2] RUN apt-get update &&     apt-get install -y poppler-utils &&     rm -rf /var/lib/apt/lists/*:
0.203 /bin/sh: apt-get: not found
dockerfile:4
--------------------
   3 |     USER root
   4 | >>> RUN apt-get update && \
   5 | >>>     apt-get install -y poppler-utils && \
   6 | >>>     rm -rf /var/lib/apt/lists/*
   7 |     USER node
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c apt-get update &&     apt-get install -y poppler-utils &&     rm -rf /var/lib/apt/lists/*" did not complete successfully: exit code: 127

View build details: docker-desktop://dashboard/build/desktop-linux/desktop-linux/r9uh62l9ukivsjyrp4cqpsduy
Unable to find image 'n8n-with-poppler:latest' locally
docker: Error response from daemon: pull access denied for n8n-with-poppler, repository does not exist or may require 'docker login'

I can’t find a solution and don’t know where I did wrong. So I tried another one, installing it on Windows:

Install Poppler-utils on Windows -

:window: Windows

Method 1: Pre-compiled Binaries (Easiest)

  1. Download poppler: Go to https://github.com/oschwartz10612/poppler-windows/releases

  2. Download the latest poppler-xx.xx.x_x64.7z file

  3. Extract to C:\poppler (or your preferred location)

  4. Add to PATH:

    • Open System Properties → Advanced → Environment Variables

    • Add C:\poppler\Library\bin to your system PATH

    • Restart your terminal/command prompt

  5. Verify: Open new command prompt and run pdftoppm --version

I tried pdftoppm --version it results I/O Error: Couldn’t open file ‘–version’: No error."

So I tried install it anyway:

n8n pdf2image Installation

Via n8n Community Nodes (Recommended)

  1. Go to Settings > Community Nodes in your n8n instance

  2. Click Install

  3. Enter: n8n-nodes-pdf2image

  4. Click Install

  5. Restart n8n

Manual Installation

  1. Navigate to your n8n installation directory

  2. Install the package:

    npm install n8n-nodes-pdf2image
    
  3. Restart n8n

I tried both way. Community Nodes option cause the n8n container to crash with this result which forced me to delete the whole folder in C:\Docker\n8n-data-dwd\nodes which manage to get it to work again:

linux is NOT supported.

Last session crashed

Initializing n8n process

linux is NOT supported.

Last session crashed

Initializing n8n process

linux is NOT supported.

Last session crashed

I tried manual installation but don’t know where is the installation directory so I tried find it in the container Bind mounts and cd to it.

It successfully pull a new node_modules folder into the above folder and restart but I can’t get it to work, can’t find it in the n8n workflow.

Information on your n8n setup

  • n8n version: 2.1.4
  • Docker version:
    • Client:
       Version:           29.1.3
       API version:       1.52
       Go version:        go1.25.5
       Git commit:        f52814d
       Built:             Fri Dec 12 14:51:52 2025
       OS/Arch:           windows/amd64
       Context:           desktop-linux
      
      Server: Docker Desktop 4.55.0 (213807)
       Engine:
        Version:          29.1.3
        API version:      1.52 (minimum version 1.44)
        Go version:       go1.25.5
        Git commit:       fbf3ed2
        Built:            Fri Dec 12 14:49:51 2025
        OS/Arch:          linux/amd64
        Experimental:     false
       containerd:
        Version:          v2.2.0
        GitCommit:        1c4457e00facac03ce1d75f7b6777a7a851e5c41
       runc:
        Version:          1.3.4
        GitCommit:        v1.3.4-0-gd6d73eb8
       docker-init:
        Version:          0.19.0
        GitCommit:        de40ad0
      
  • Running n8n via (Docker, npm, n8n cloud, desktop app): Docker
  • Operating system: Windows

im having a similar issue but with linux

my dockerfile had an inline to include fping for pinging ips to check they was online

but it appears the apk has been removed from the docker image even tho its still build with alpine?

RUN apk --update add curl nano wget fping mtr

@kentarovn the fix is here

it appears it was removed intentionally!

so you must install the apk package manually then u can add your packages

1 Like