dokku / dokku-mongo

a mongo plugin for dokku
MIT License
176 stars 32 forks source link

install mongo on a raspberry pi 4 #212

Closed polgiron closed 3 weeks ago

polgiron commented 3 weeks ago

Description of problem

I understand raspberry pi 4 infrastructure is not supported anymore by the recent mongodb versions. I've tried to install the latest supported version which should be 4.4.18 but I am still getting an error at the end of the installation

dokku mongo:create lollipop -I 4.4.18

Digest: sha256:d23ec07162ca06646a6329c452643f37494af644d045c002a7b41873981c160d
Status: Downloaded newer image for mongo:4.4.18
docker.io/library/mongo:4.4.18
       Waiting for container to be ready

and it stops here

I've found this repo which provides docker images to install mongodb on a raspberry pi https://github.com/themattman/mongodb-raspberrypi-docker

Is there a way to tell "dokku-mongo" to install a specific docker image file? I couldn't find in the doc.

How reproducible

All the time

Environment Information

-----> uname: Linux raspberrypi 6.8.0-1012-raspi #13-Ubuntu SMP PREEMPT_DYNAMIC Mon Sep 2 11:13:41 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux -----> memory: total used free shared buff/cache available Mem: 7802 637 4108 3 3362 7164 Swap: 0 0 0 -----> disk utilization: Filesystem Size Used Avail Use% Mounted on /dev/mmcblk0p2 29G 9.5G 19G 35% / /dev/mmcblk0p1 505M 182M 324M 36% /boot/firmware -----> disk inode utilization: Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mmcblk0p2 1.9M 138K 1.7M 8% / /dev/mmcblk0p1 0 0 0 - /boot/firmware -----> docker version: Client: Docker Engine - Community Version: 27.3.1 API version: 1.47 Go version: go1.22.7 Git commit: ce12230 Built: Fri Sep 20 11:41:54 2024 OS/Arch: linux/arm64 Context: default

   Server: Docker Engine - Community
    Engine:
     Version:          27.3.1
     API version:      1.47 (minimum version 1.24)
     Go version:       go1.22.7
     Git commit:       41ca978
     Built:            Fri Sep 20 11:41:54 2024
     OS/Arch:          linux/arm64
     Experimental:     false
    containerd:
     Version:          1.7.22
     GitCommit:        7f7fdf5fed64eb6a7caf99b3e12efcf9d60e311c
    runc:
     Version:          1.1.14
     GitCommit:        v1.1.14-0-g2c9f560
    docker-init:
     Version:          0.19.0
     GitCommit:        de40ad0

-----> docker daemon info: Client: Docker Engine - Community Version: 27.3.1 Context: default Debug Mode: true Plugins: buildx: Docker Buildx (Docker Inc.) Version: v0.17.1 Path: /usr/libexec/docker/cli-plugins/docker-buildx compose: Docker Compose (Docker Inc.) Version: v2.29.7 Path: /usr/libexec/docker/cli-plugins/docker-compose

   Server:
    Containers: 1
     Running: 1
     Paused: 0
     Stopped: 0
    Images: 11
    Server Version: 27.3.1
    Storage Driver: overlay2
     Backing Filesystem: extfs
     Supports d_type: true
     Using metacopy: false
     Native Overlay Diff: true
     userxattr: false
    Logging Driver: json-file
    Cgroup Driver: systemd
    Cgroup Version: 2
    Plugins:
     Volume: local
     Network: bridge host ipvlan macvlan null overlay
     Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
    Swarm: inactive
    Runtimes: io.containerd.runc.v2 runc
    Default Runtime: runc

WARNING: bridge-nf-call-iptables is disabled Init Binary: docker-init WARNING: bridge-nf-call-ip6tables is disabled containerd version: 7f7fdf5fed64eb6a7caf99b3e12efcf9d60e311c runc version: v1.1.14-0-g2c9f560 init version: de40ad0 Security Options: apparmor seccomp Profile: builtin cgroupns Kernel Version: 6.8.0-1012-raspi Operating System: Ubuntu 24.04.1 LTS OSType: linux Architecture: aarch64 CPUs: 4 Total Memory: 7.62GiB Name: raspberrypi ID: b5365abd-ccb3-4db8-8b4b-c5e4b0c28f75 Docker Root Dir: /var/lib/docker Debug Mode: false File Descriptors: 30 Goroutines: 46 System Time: 2024-10-01T16:28:26.815206319+02:00 EventsListeners: 1 Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false

-----> herokuish version: ! herokuish not supported on arm64 architecture -----> dokku version: dokku version 0.35.3 -----> dokku-event-listener version: v0.17.0 -----> dokku-update version: dokku-update v0.9.5 -----> docker-container-healthchecker version: v0.11.3 -----> docker-image-labeler version: v0.8.0 -----> git version: git version 2.43.0 -----> lambda-builder version: v0.8.0 -----> netrc version: v0.10.0 ! pack binary is not available -----> plugn version: plugn: v0.16.0 -----> sigil version: v0.11.0 -----> sshcommand version: sshcommand v0.18.1 -----> dokku plugins: 00_dokku-standard 0.35.3 enabled dokku core standard plugin 20_events 0.35.3 enabled dokku core events logging plugin app-json 0.35.3 enabled dokku core app-json plugin apps 0.35.3 enabled dokku core apps plugin builder 0.35.3 enabled dokku core builder plugin builder-dockerfile 0.35.3 enabled dokku core builder-dockerfile plugin builder-herokuish 0.35.3 enabled dokku core builder-herokuish plugin builder-lambda 0.35.3 enabled dokku core builder-lambda plugin builder-nixpacks 0.35.3 enabled dokku core builder-nixpacks plugin builder-null 0.35.3 enabled dokku core builder-null plugin builder-pack 0.35.3 enabled dokku core builder-pack plugin buildpacks 0.35.3 enabled dokku core buildpacks plugin caddy-vhosts 0.35.3 enabled dokku core caddy-vhosts plugin certs 0.35.3 enabled dokku core certificate management plugin checks 0.35.3 enabled dokku core checks plugin common 0.35.3 enabled dokku core common plugin config 0.35.3 enabled dokku core config plugin cron 0.35.3 enabled dokku core cron plugin docker-options 0.35.3 enabled dokku core docker-options plugin domains 0.35.3 enabled dokku core domains plugin enter 0.35.3 enabled dokku core enter plugin git 0.35.3 enabled dokku core git plugin haproxy-vhosts 0.35.3 enabled dokku core haproxy-vhosts plugin logs 0.35.3 enabled dokku core logs plugin mongo 1.37.0 enabled dokku mongo service plugin network 0.35.3 enabled dokku core network plugin nginx-vhosts 0.35.3 enabled dokku core nginx-vhosts plugin openresty-vhosts 0.35.3 enabled dokku core openresty-vhosts plugin plugin 0.35.3 enabled dokku core plugin plugin ports 0.35.3 enabled dokku core ports plugin proxy 0.35.3 enabled dokku core proxy plugin ps 0.35.3 enabled dokku core ps plugin registry 0.35.3 enabled dokku core registry plugin repo 0.35.3 enabled dokku core repo plugin resource 0.35.3 enabled dokku core resource plugin run 0.35.3 enabled dokku core run plugin scheduler 0.35.3 enabled dokku core scheduler plugin scheduler-docker-local 0.35.3 enabled dokku core scheduler-docker-local plugin scheduler-k3s 0.35.3 enabled dokku core scheduler-k3s plugin scheduler-null 0.35.3 enabled dokku core scheduler-null plugin shell 0.35.3 enabled dokku core shell plugin ssh-keys 0.35.3 enabled dokku core ssh-keys plugin storage 0.35.3 enabled dokku core storage plugin trace 0.35.3 enabled dokku core trace plugin traefik-vhosts 0.35.3 enabled dokku core traefik-vhosts plugin

How (deb/make) and where (AWS, VirtualBox, physical, etc.) was Dokku installed?:

raspberry pi 4, ubuntu server 24.04 noble, official installation script

josegonzalez commented 3 weeks ago

Maybe related: https://www.mongodb.com/community/forums/t/mongo-6-x-on-raspberry-pi-4-compilation/209563

This question is probably better suited for the Mongodb community, as they would know what would be supported on which architectures. Going to close for now, but feel free to follow up with us once you find out what docker image that might be.

polgiron commented 3 weeks ago

I've found the docker image which is supported, but it's not official, it's a file which I can download from a github repo https://github.com/themattman/mongodb-raspberrypi-docker

is there a way during the create mongo command to specify a custom file?

dokku mongo:create lollipop -file my-custom-docker-image

josegonzalez commented 3 weeks ago

By custom file, do you mean custom image?

polgiron commented 3 weeks ago

yes, I mean a custom docker image file .tar.gz like this file for example https://github.com/themattman/mongodb-raspberrypi-docker/releases/download/r7.0.14-mongodb-raspberrypi-docker-unofficial/mongodb.ce.pi4.r7.0.14-mongodb-raspberrypi-docker-unofficial.tar.gz

josegonzalez commented 3 weeks ago

No that's not possible. Extract the image and push it to docker hub to reference it from there?

polgiron commented 5 days ago

hey, sorry for the late reply, I've tried uploading to docker hub and installing threw dokku mongo create, and I am facing the same "Waiting for container to be ready" which turns to red without any more error printed.

I've also tried with the dokku mysql plug in and got the same behaviour.

I've tried to deploy a node js app in order to test if the DB might have been created anyway but was also facing a lot of issues, I had to install pack-cli, and now node-canvas is not building on an ARM computer, which I know is not related to dokku

I'll continue investigate when I have time