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?

  • TheInsane42@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    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.

    • marsara9@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      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

      build:
            context: ../
            dockerfile: docker/Dockerfile
      

      This tells docker to look for a file called docker/Dockerfile in the parent directory. This means that when you go to call docker 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:

      image: dessalines/lemmy:0.17.3-linux-arm64
      

      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 the lemmy-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.