I wanted to run my own Lemmy instance but I don’t have the physical space / server to run anything massive so I was trying to use a pi 4. Using the Ansible instructions I get most of the way through up to it trying to start the docker compose instance it mentions there’s no Arm in the manifest file. I know it’s not the strongest device but does Lemmy not support the pi outright?
Lemmy works on the Pi 4 (ARM) but the latest versions (0.18.0 and 0.17.4) don’t provide ARM docker images for ARM machines like the Pi 4 in the official Docker repository at least (
dessalines/lemmy
).You have three options: (1) use an older version of Lemmy such as
dessalines/lemmy:0.17.3-linux-arm64
or (2) pull from a different Docker repository that has the ARM builds available, or (3) build the latest version yourself using Lemmy’s provided Docker files.If you want to pull from a different Docker repository, you can try using
masquernya/lemmy:0.18.0-linux-arm64
as their build script is available on Github. I’ve used the same build script for my instance which also runs on an ARM machine.I’m attempting to compile 0.17.4 on a Raspberry pi 3 right now. So far it’s been basically frozen since 10am eastern. I’m not sure this option will work. But with that in mind I might try again with 0.17.3 if that means I don’t have to compile it.
You can try using masquernya’s build script to build it or use their already existing ARM images (
masquernya/lemmy:0.17.4-linux-arm64
orlemmy:0.18.0-linux-arm64
).That other script looks interesting! I do have a few other questions. With the other script How does it handle setting a domain name, or the certbot / lets encrypt stuff I’m using cloudflare / a cloudflare tunnel so that’s sort of a pain.
I have an ansible instance of 0.17.3 up but I’m getting a black page like it hit the pi and got a response but was missing data if that makes sense. So my other question is, with ansible how do I find logs? Could it be related to nginx and certbot not communicating somehow even though the page loaded? I sorta had to modify the certbot command to use the cloudflare plugin instead of nginx if that’s an issue
It only builds the ARM Docker image and publishes it to a repository which you can use in your
docker-compose.yml
. It doesn’t do what the Ansible playbook does where it sets up everything for you. If you want a script that sets up everything for you, check out ubergeek77’s Lemmy-Easy-Deploy.I’m not sure what ansible names the containers but for me, I can view the logs with
sudo docker logs -f lemmy_lemmy_1
.I haven’t used Cloudflare Tunnels in a long time so I’m not entirely sure. I know you can locally access Lemmy via port 80 (
http://localhost:80
) to check if Lemmy is working and if the black page is an nginx/cloudflared issue.Apparently, the docker compose file just forces an amd build which caused a mismatch and an infinite reboot loop
I’ve been trying the easy deploy script because it has cloudflare support. ```___ERROR [lemmy builder 6/7] RUN cargo build --release`
I’ve never used Lemmy-Easy-Deploy but you can try building with masquernya’s build script as this worked for me. Again, this only builds the docker image and publishes it to your own docker repository. You’ll need to edit the build script to use your own docker repository.
Alternatively, you can just use the pre-built ARM image that masquernya already provides:
masquernya/lemmy:0.18.0-linux-arm64
so you don’t have to compile from source.