Does anyone run their own Lemmy instance on a pi? How was the process of setting it up? Were there any pitfalls? How is performance?
Does anyone run their own Lemmy instance on a pi? How was the process of setting it up? Were there any pitfalls? How is performance?
I was able to get it setup, main things to watch out for:
I only used it for testing purposes, but performance was fine (on a Pi4 4gb). Note I only ever had one user.
As I only want to use it for myself as jump-off point (and to mess around a tad) I’m fine with performance on an RPi4 (have the 8 GB version), but I’m struggling to get it next to the rest in my Debian install on it.
Local install fails as I need imagemagick 7 (Debian still had 6.9), and it refuses to compile with imei method. (that script wants to use /usr/local/bin/identify which I think it needs to install itself (part of imagemagick) and the compose file I couldn’t get to work with an external (already hosted) postgres.
Any tips? I’m totally new with docker and ansible.
So in the official
docker-compose.yml
lines that define where/how to get the image for that application.For example:
https://github.com/LemmyNet/lemmy/blob/c9e9ff46faa40e2642343effb117693bfa525c5f/docker/docker-compose.yml#L41-L43
This tells docker to look for a file called
docker/Dockerfile
in the parent directory. This means that when you go to calldocker compose up -d
it will build an image from source using that Dockerfile. For the Pi we don’t want this (at least as of 0.17.x; I haven’t tested 0.18.0 yet).Instead we want to use a pre-built image. To do that we need to go to docker hub, specifically: https://hub.docker.com/r/dessalines/lemmy/tags and find the latest tag that matches the architecture of the system we’re building on. I assume you’re on a Pi4 running a 64bit so, so that gives us
0.17.3-linux-arm64
. After you’ve got that tag we just need to replace those 3 lines above with:Now when we go to call
docker compose up -d
it will pull down that prebuilt image instead of building for source. Btw, you’ll want to do the same for thelemmy-ui
service.P.S. I don’t have much experience using Ansible, so I can’t help here. I normally just SSH directly into the Pi and do everything there.