[GH-ISSUE #580] Support for platform "linux/arm64/v8" requested to allow running Papermerge 3.0 on a Raspberry Pi #453

Closed
opened 2026-02-25 21:31:57 +03:00 by kerem · 6 comments
Owner

Originally created by @veitenti on GitHub (Jan 18, 2024).
Original GitHub issue: https://github.com/ciur/papermerge/issues/580

Originally assigned to: @ciur on GitHub.

The docker images provided in the documentation do not support the platform linux/arm64/v8 at the moment. This causes the docker compose file to not work.

Reproduction steps:

  version: "3.9"

  x-backend: &common
    image: papermerge/papermerge:3.0.1
    environment:
        PAPERMERGE__SECURITY__SECRET_KEY: 12345
        PAPERMERGE__AUTH__USERNAME: john
        PAPERMERGE__AUTH__PASSWORD: hohoho
        PAPERMERGE__REDIS__URL: redis://redis:6379/0
    volumes:
        - data:/db
        - index_db:/core_app/index_db
        - media:/core_app/media
  services:
    web:
      <<: *common
      ports:
       - "12000:80"
      depends_on:
        - redis
    worker:
      <<: *common
      command: worker
    redis:
      image: redis:6
  volumes:
    data:
    index_db:
    media:

  • Call docker compose up -d web worker redis
  • Output is The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

Goal:
Add support for platform "linux/arm64/v8" please 😃

Originally created by @veitenti on GitHub (Jan 18, 2024). Original GitHub issue: https://github.com/ciur/papermerge/issues/580 Originally assigned to: @ciur on GitHub. The docker images provided in the documentation do not support the platform linux/arm64/v8 at the moment. This causes the docker compose file to not work. **Reproduction steps:** - Create a `docker-compose.yml` with the content shown in the [installation guide](https://docs.papermerge.io/3.0/setup/docker-compose/): ``` version: "3.9" x-backend: &common image: papermerge/papermerge:3.0.1 environment: PAPERMERGE__SECURITY__SECRET_KEY: 12345 PAPERMERGE__AUTH__USERNAME: john PAPERMERGE__AUTH__PASSWORD: hohoho PAPERMERGE__REDIS__URL: redis://redis:6379/0 volumes: - data:/db - index_db:/core_app/index_db - media:/core_app/media services: web: <<: *common ports: - "12000:80" depends_on: - redis worker: <<: *common command: worker redis: image: redis:6 volumes: data: index_db: media: ``` - Call `docker compose up -d web worker redis` - Output is `The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested` ❌ **Goal:** Add support for platform "linux/arm64/v8" please 😃
Author
Owner

@ciur commented on GitHub (Feb 17, 2024):

Here is docker file: https://github.com/papermerge/papermerge-core/blob/master/docker/prod/Dockerfile

Community if looking forward for your contributions!

<!-- gh-comment-id:1949892762 --> @ciur commented on GitHub (Feb 17, 2024): Here is docker file: https://github.com/papermerge/papermerge-core/blob/master/docker/prod/Dockerfile Community if looking forward for your contributions!
Author
Owner

@georgkrause commented on GitHub (Oct 28, 2024):

Community if looking forward for your contributions!

@ciur I think the best is to build images using docker buildx, there is a Github-Action for it. Would you accept a PR for this or is this call for community work meant to be read as "provide images on your own"?

<!-- gh-comment-id:2441196654 --> @georgkrause commented on GitHub (Oct 28, 2024): > Community if looking forward for your contributions! @ciur I think the best is to build images using docker buildx, there is a Github-Action for it. Would you accept a PR for this or is this call for community work meant to be read as "provide images on your own"?
Author
Owner

@ciur commented on GitHub (Oct 28, 2024):

I don't know what to say here. First of all, PR - for which repository ? And secondly, build arm image when i.e. which event should trigger that images? And lastly, the build process will be where in the workflow chain?

To be clear:

  1. this repo is not used for the building images (this one: https://github.com/papermerge/papermerge-core is used instead).
  2. I build images when specific tag is pushed (e.g. 3.3.1)
  3. The important point here is that ARM image should be outside of usual build image workflow because (as per 2022 state) it used to be slow (back in 2022).

Maybe you create a PR in https://github.com/papermerge/papermerge-core first and then let's start discussion from there.

PS: Example of image build job: https://github.com/papermerge/papermerge-core/actions/runs/11549940367/job/32143921967
It took less than 2 min. Last time when I added ARM flag for docker images - instead of 2 min, the build took about 45 min!

<!-- gh-comment-id:2441832552 --> @ciur commented on GitHub (Oct 28, 2024): I don't know what to say here. First of all, PR - for which repository ? And secondly, build arm image when i.e. which event should trigger that images? And lastly, the build process will be where in the workflow chain? To be clear: 1. this repo is not used for the building images (this one: https://github.com/papermerge/papermerge-core is used instead). 2. I build images when specific tag is pushed (e.g. 3.3.1) 3. The important point here is that ARM image should be outside of usual build image workflow because (as per 2022 state) it used to be slow (back in 2022). Maybe you create a PR in https://github.com/papermerge/papermerge-core first and then let's start discussion from there. PS: Example of image build job: https://github.com/papermerge/papermerge-core/actions/runs/11549940367/job/32143921967 It took less than 2 min. Last time when I added ARM flag for docker images - instead of 2 min, the build took about 45 min!
Author
Owner

@georgkrause commented on GitHub (Oct 30, 2024):

@ciur Thank you for the reply!

I am sorry for picking the wrong place for the request. But before I can open a PR and do some work, it would be needed to have a discussion about what to do actually. So I think we should open the issue and eventually move it to the appropriate repository.

build arm image when i.e. which event should trigger that images

I'd say a new image should be built whenever a new version is release, eg a new tag created (however it fits into the current flow)

I build images when specific tag is pushed (e.g. 3.3.1)

Do you do this manually or is this already in Github Actions?

The important point here is that ARM image should be outside of usual build image workflow because (as per 2022 state) it used to be slow (back in 2022).

I'd prefer to built multiarch images, that basically work on all platforms we want to support. Building those is indeed slower, it takes time. In order to not disturb the usual development flow, we can limit the multi arch builds to release, even though this has the danger of missing issues until the release is made.

It took less than 2 min. Last time when I added ARM flag for docker images - instead of 2 min, the build took about 45 min!

Well, Github Actions usually makes intensive use of caching and if the first arm build is made, cache missed might increase the build time, too. We can probably invest in optimizations here, however the build time will always be slower with multiarch enabled than without. This is simply caused by the cross compilation. The alternative would be to build arm-only images with different tags, however I consider this to be not really a good solution.

<!-- gh-comment-id:2446443734 --> @georgkrause commented on GitHub (Oct 30, 2024): @ciur Thank you for the reply! I am sorry for picking the wrong place for the request. But before I can open a PR and do some work, it would be needed to have a discussion about what to do actually. So I think we should open the issue and eventually move it to the appropriate repository. > build arm image when i.e. which event should trigger that images I'd say a new image should be built whenever a new version is release, eg a new tag created (however it fits into the current flow) > I build images when specific tag is pushed (e.g. 3.3.1) Do you do this manually or is this already in Github Actions? > The important point here is that ARM image should be outside of usual build image workflow because (as per 2022 state) it used to be slow (back in 2022). I'd prefer to built multiarch images, that basically work on all platforms we want to support. Building those is indeed slower, it takes time. In order to not disturb the usual development flow, we can limit the multi arch builds to release, even though this has the danger of missing issues until the release is made. > It took less than 2 min. Last time when I added ARM flag for docker images - instead of 2 min, the build took about 45 min! Well, Github Actions usually makes intensive use of caching and if the first arm build is made, cache missed might increase the build time, too. We can probably invest in optimizations here, however the build time will always be slower with multiarch enabled than without. This is simply caused by the cross compilation. The alternative would be to build arm-only images with different tags, however I consider this to be not really a good solution.
Author
Owner

@alx-xlx commented on GitHub (Nov 5, 2025):

Here is docker file: https://github.com/papermerge/papermerge-core/blob/master/docker/prod/Dockerfile

Community if looking forward for your contributions!

the file doesn't exist anymore, can you please point to the right direction for the arm64 ?

<!-- gh-comment-id:3492705250 --> @alx-xlx commented on GitHub (Nov 5, 2025): > Here is docker file: https://github.com/papermerge/papermerge-core/blob/master/docker/prod/Dockerfile > > Community if looking forward for your contributions! the file doesn't exist anymore, can you please point to the right direction for the arm64 ?
Author
Owner
<!-- gh-comment-id:3494955823 --> @ciur commented on GitHub (Nov 6, 2025): https://github.com/papermerge/papermerge-core/blob/master/docker/standard/Dockerfile
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/papermerge#453
No description provided.