Docker Support for ARM
Describe the bug A clear and concise description of what the bug is.
To Reproduce Steps to reproduce the behavior: Run docker compose up on an ARM device
Expected behavior Services should start on ARM devices.
Additional context i get this error
server The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
@shareef945 we'll look at it!
Hi @shareef945 ,
I've attempted to build some images with ARM64 support, would you mind trying them out when you get a chance? Thanks!
It works now ! Cheers !
Awesome that's great news! Thank you for testing 👌
It works now ! Cheers !
@shareef945 Hey can you let us know if it "properly" works lol? :) Like I have read a few side effects of running Uptime Kuma on an ARM, so that is something I feel like I smell something fishy there. I might be wrong however :)
The Capture agent also has a Docker image you can test on an ARM arch if you don't mind.
@shareef945 you can use this link for the Capture ARM image: https://github.com/bluewave-labs/capture/pkgs/container/capture
just realized mongo isnt starting up with the latest update. here are the logs
mongodb-1 | WARNING: MongoDB requires ARMv8.2-A or higher, and your current system does not appear to implement any of the common features for that! mongodb-1 | applies to all versions ≥5.0, any of 4.4 ≥4.4.19 server-1 | (node:1) [MONGOOSE] Warning: errorsis a reserved schema pathname and may break some functionality. You are allowed to use it, but use at your own risk. To disable this warning passsuppressReservedKeysWarningas a schema option. mongodb-1 | see https://jira.mongodb.org/browse/SERVER-71772 mongodb-1 | see https://jira.mongodb.org/browse/SERVER-55178 mongodb-1 | see also https://en.wikichip.org/wiki/arm/armv8#ARMv8_Extensions_and_Processor_Features mongodb-1 | see also https://github.com/docker-library/mongo/issues/485#issuecomment-970864306 mongodb-1 |
I'm running this on a raspbery pi 5.
server also doesnt startup as a result
OK, researched on it a bit. It looks like MongoDB 5 requires the ARMv8.2-A or higher architecture, and MongoDB 4.x doesn't (ARMv8 is sufficient). There might be one case here - using MongoDB 4 for RPi images (still a viable option as it receives updates). Recompilation of MongoDB 5 without ARM8.2-A is tricky and doesn't serve the purpose.
Do you have a RPi 4 or RPi 5 ?
It works now ! Cheers !
@shareef945 Hey can you let us know if it "properly" works lol? :) Like I have read a few side effects of running Uptime Kuma on an ARM, so that is something I feel like I smell something fishy there. I might be wrong however :)
The Capture agent also has a Docker image you can test on an ARM arch if you don't mind.
I installed both on my arm server and they work! Although i just did it for some testing purposes.
It works now ! Cheers !
@shareef945 Hey can you let us know if it "properly" works lol? :) Like I have read a few side effects of running Uptime Kuma on an ARM, so that is something I feel like I smell something fishy there. I might be wrong however :) The Capture agent also has a Docker image you can test on an ARM arch if you don't mind.
I installed both on my arm server and they work! Although i just did it for some testing purposes.
Wow thanks! What is the architecture of your ARM?
It works now ! Cheers !
@shareef945 Hey can you let us know if it "properly" works lol? :) Like I have read a few side effects of running Uptime Kuma on an ARM, so that is something I feel like I smell something fishy there. I might be wrong however :) The Capture agent also has a Docker image you can test on an ARM arch if you don't mind.
I installed both on my arm server and they work! Although i just did it for some testing purposes.
Wow thanks! What is the architecture of your ARM?
aarch64 / armv8
i'm still unable to start mongo and the server. i'm on a raspberry pi 5. @gorkem-bwl
i'm still unable to start mongo and the server. i'm on a raspberry pi 5. @gorkem-bwl
Thanks for this @shareef945 - currently MongoDB refuses to run on particular ARM CPU architectures unfortunately.
Thanks for the work guys, just here to express interest on ARM docker images, would love to run this on Ampere VPSs.
Mongo for ARM64 is available for example here.
https://hub.docker.com/r/arm64v8/mongo
https://hub.docker.com/r/dlavrenuek/bitnami-mongodb-arm https://github.com/dlavrenuek/bitnami-mongodb-arm
Have you tried those?
Some people might even run into problems with Intel CPUs, if it does not support AVX. See here.
https://github.com/docker-library/mongo/issues/485
https://github.com/docker-library/mongo/issues/619
Your image bluewaveuptime/uptime_database_mongo does for example not work with a N3450.
Arm support is there for you to test guys. Let us know what you think!
https://docs.checkmate.so/checkmate-2.1/users-guide/quickstart
@mschirrmeister @biolimbo @shareef945 @imadreamerboy
Arm support is there for you to test guys. Let us know what you think!
I've just tested it on a Raspberry Pi 3, and the Arm version works really well - I haven't encountered many errors, actually only 1 so far. And that's when you access a monitor service on the infrastructure page, it spits out the following in the log:
server-1 | 2025-06-06T11:16:20.473Z error: monitorModule Invalid $project :: caused by :: Unknown expression $sortArray (stack: [ server-1 | { server-1 | "function": "Connection.sendCommand", server-1 | "file": "/app/server/node_modules/mongodb/lib/cmap/connection.js", server-1 | "line": 298, server-1 | "column": 27 server-1 | }, server-1 | { server-1 | "function": "process.processTicksAndRejections", server-1 | "file": "node:internal/process/task_queues", server-1 | "line": 95, server-1 | "column": 5 server-1 | }, server-1 | { server-1 | "function": "async Connection.command", server-1 | "file": "/app/server/node_modules/mongodb/lib/cmap/connection.js", server-1 | "line": 326, server-1 | "column": 26 server-1 | }, server-1 | { server-1 | "function": "async Server.command", server-1 | "file": "/app/server/node_modules/mongodb/lib/sdam/server.js", server-1 | "line": 167, server-1 | "column": 29 server-1 | }, server-1 | { server-1 | "function": "async AggregateOperation.executeCommand", server-1 | "file": "/app/server/node_modules/mongodb/lib/operations/command.js", server-1 | "line": 76, server-1 | "column": 16 server-1 | }, server-1 | { server-1 | "function": "async AggregateOperation.execute", server-1 | "file": "/app/server/node_modules/mongodb/lib/operations/aggregate.js", server-1 | "line": 87, server-1 | "column": 16 server-1 | }, server-1 | { server-1 | "function": "async tryOperation", server-1 | "file": "/app/server/node_modules/mongodb/lib/operations/execute_operation.js", server-1 | "line": 207, server-1 | "column": 20 server-1 | }, server-1 | { server-1 | "function": "async executeOperation", server-1 | "file": "/app/server/node_modules/mongodb/lib/operations/execute_operation.js", server-1 | "line": 75, server-1 | "column": 16 server-1 | }, server-1 | { server-1 | "function": "async AggregationCursor._initialize", server-1 | "file": "/app/server/node_modules/mongodb/lib/cursor/aggregation_cursor.js", server-1 | "line": 56, server-1 | "column": 26 server-1 | }, server-1 | { server-1 | "function": "async AggregationCursor.cursorInit", server-1 | "file": "/app/server/node_modules/mongodb/lib/cursor/abstract_cursor.js", server-1 | "line": 632, server-1 | "column": 27 server-1 | } server-1 | ])
From what I can read, that is a feature that first came to MongoDB 5.x? And those versions don't seem to run on older ARM chips.
Arm support is there for you to test guys. Let us know what you think!
I've just tested it on a Raspberry Pi 3, and the Arm version works really well - I haven't encountered many errors, actually only 1 so far. And that's when you access a monitor service on the infrastructure page, it spits out the following in the log:
From what I can read, that is a feature that first came to MongoDB 5.x? And those versions don't seem to run on older ARM chips.
I tested it on my Raspberry Pi 4 and the issue is the same.
Thanks for the heads up all, we downgraded Mongo for arm comparability and missed this one.
We'll look into this asap!
Hi there, do we have an update on this? I am also on an ARM infrastructure and I am running into the same issue but in the status page section:
server-1 | 2025-08-04T04:31:45.817Z error: [statusPageModule](getStatusPageByUrl) Invalid $project :: caused by :: Unknown expression $sortArray (stack: [
server-1 | {
server-1 | "function": "Connection.sendCommand",
server-1 | "file": "/app/server/node_modules/mongodb/lib/cmap/connection.js",
server-1 | "line": 298,
server-1 | "column": 27
server-1 | },
server-1 | {
server-1 | "function": "process.processTicksAndRejections",
server-1 | "file": "node:internal/process/task_queues",
server-1 | "line": 95,
server-1 | "column": 5
server-1 | },
server-1 | {
server-1 | "function": "async Connection.command",
server-1 | "file": "/app/server/node_modules/mongodb/lib/cmap/connection.js",
server-1 | "line": 326,
server-1 | "column": 26
server-1 | },
server-1 | {
server-1 | "function": "async Server.command",
server-1 | "file": "/app/server/node_modules/mongodb/lib/sdam/server.js",
server-1 | "line": 167,
server-1 | "column": 29
server-1 | },
server-1 | {
server-1 | "function": "async AggregateOperation.executeCommand",
server-1 | "file": "/app/server/node_modules/mongodb/lib/operations/command.js",
server-1 | "line": 76,
server-1 | "column": 16
server-1 | },
server-1 | {
server-1 | "function": "async AggregateOperation.execute",
server-1 | "file": "/app/server/node_modules/mongodb/lib/operations/aggregate.js",
server-1 | "line": 87,
server-1 | "column": 16
server-1 | },
server-1 | {
server-1 | "function": "async tryOperation",
server-1 | "file": "/app/server/node_modules/mongodb/lib/operations/execute_operation.js",
server-1 | "line": 207,
server-1 | "column": 20
server-1 | },
server-1 | {
server-1 | "function": "async executeOperation",
server-1 | "file": "/app/server/node_modules/mongodb/lib/operations/execute_operation.js",
server-1 | "line": 75,
server-1 | "column": 16
server-1 | },
server-1 | {
server-1 | "function": "async AggregationCursor._initialize",
server-1 | "file": "/app/server/node_modules/mongodb/lib/cursor/aggregation_cursor.js",
server-1 | "line": 56,
server-1 | "column": 26
server-1 | },
server-1 | {
server-1 | "function": "async AggregationCursor.cursorInit",
server-1 | "file": "/app/server/node_modules/mongodb/lib/cursor/abstract_cursor.js",
server-1 | "line": 632,
server-1 | "column": 27
server-1 | }
server-1 | ])
server-1 | 2025-08-04T04:32:03.708Z info: [BufferService](flushBuffers) Flushed 8 items
server-1 | 2025-08-04T04:32:11.228Z error: [statusPageModule](getStatusPageByUrl) Invalid $project :: caused by :: Unknown expression $sortArray (stack: [
server-1 | {
server-1 | "function": "Connection.sendCommand",
server-1 | "file": "/app/server/node_modules/mongodb/lib/cmap/connection.js",
server-1 | "line": 298,
server-1 | "column": 27
server-1 | },
server-1 | {
server-1 | "function": "process.processTicksAndRejections",
server-1 | "file": "node:internal/process/task_queues",
server-1 | "line": 95,
server-1 | "column": 5
server-1 | },
server-1 | {
server-1 | "function": "async Connection.command",
server-1 | "file": "/app/server/node_modules/mongodb/lib/cmap/connection.js",
server-1 | "line": 326,
server-1 | "column": 26
server-1 | },
server-1 | {
server-1 | "function": "async Server.command",
server-1 | "file": "/app/server/node_modules/mongodb/lib/sdam/server.js",
server-1 | "line": 167,
server-1 | "column": 29
server-1 | },
server-1 | {
server-1 | "function": "async AggregateOperation.executeCommand",
server-1 | "file": "/app/server/node_modules/mongodb/lib/operations/command.js",
server-1 | "line": 76,
server-1 | "column": 16
server-1 | },
server-1 | {
server-1 | "function": "async AggregateOperation.execute",
server-1 | "file": "/app/server/node_modules/mongodb/lib/operations/aggregate.js",
server-1 | "line": 87,
server-1 | "column": 16
server-1 | },
server-1 | {
server-1 | "function": "async tryOperation",
server-1 | "file": "/app/server/node_modules/mongodb/lib/operations/execute_operation.js",
server-1 | "line": 207,
server-1 | "column": 20
server-1 | },
server-1 | {
server-1 | "function": "async executeOperation",
server-1 | "file": "/app/server/node_modules/mongodb/lib/operations/execute_operation.js",
server-1 | "line": 75,
server-1 | "column": 16
server-1 | },
server-1 | {
server-1 | "function": "async AggregationCursor._initialize",
server-1 | "file": "/app/server/node_modules/mongodb/lib/cursor/aggregation_cursor.js",
server-1 | "line": 56,
server-1 | "column": 26
server-1 | },
server-1 | {
server-1 | "function": "async AggregationCursor.cursorInit",
server-1 | "file": "/app/server/node_modules/mongodb/lib/cursor/abstract_cursor.js",
server-1 | "line": 632,
server-1 | "column": 27
server-1 | }
server-1 | ])
Thanks! EDIT: Wasn't on the latest update, didn't notice the image name change for the ARM infrastructure, everything is fine now