22
submitted 3 years ago by blotz@lemmy.world to c/selfhosted@lemmy.world

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?

you are viewing a single comment's thread
view the rest of the comments
[-] marsara9@lemmy.world 3 points 3 years ago

I was able to get it setup, main things to watch out for:

  • Don't use the provided docker compose file. Or more precisely don't build from source and lookup the correct image tag on docker hub first.
  • The documentation was a bit confusing. This isn't really specific for the Pi but since I was creating a compose file from scratch some of the steps listed didn't quite explain all of the details.

I only used it for testing purposes, but performance was fine (on a Pi4 4gb). Note I only ever had one user.

[-] TheInsane42@lemmy.world 0 points 3 years 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 1 points 3 years 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.

this post was submitted on 26 Jun 2023
22 points (95.8% liked)

Selfhosted

62657 readers
319 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.

  8. AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 3 years ago
MODERATORS