I’m trying to set up a Lemmy instance using Docker on Ubuntu. This is my first time interacting with the open source community, so apologies if this is a stupid question. I’m not familiar with any common knowledge that might be obvious for people who frequently install software from github.
Anyway, in the official Lemmy installation guide, it says to download the following two files from the Lemmy github:
https://raw.githubusercontent.com/LemmyNet/lemmy/main/docker/docker-compose.yml https://raw.githubusercontent.com/LemmyNet/lemmy/main/docker/lemmy.hjson
However when you look at lemmy.hjson, it has a comment that says “This is a minimal lemmy config for the dev / main branch. Do not use for a release / stable version.”
I’m a little confused because I would expect that the setup guide would want me to use the latest release version, not the dev version. Why is this not the case? If I’m not supposed to use the release version, then who is the release version intended for?
Anyways I tried looking for the latest release version branch, which appears to be 0.17, and I got confused again when I saw folders for “prod” and “federation” in the Docker folder. What’s the difference?
Anyways can someone please help me understand the branch/folder structure? If I just want to run a regular Lemmy server with the latest stable code, which files should I use? Thanks
What registrar do you plan to use for your domain? Like example.com.
If you want to use Cloudflare, maybe I could make a guide on the selfhosted subs for what has worked for me.
I used Namecheap but I can switch to anything. I haven’t heard of Cloudflare. How would switching to it affect the setup process?
It doesn’t change much. I just have a dead-simple Caddy config that uses a Cloudflare API token to automate HTTPS certificate renewal. Much simpler than the nginx stuff they recommend.
But since I use Caddy instead of Nginx, I can’t exactly give you my config if you wanted to use Nginx. The same thing I’m doing with Caddy can likely be done easily with Namecheap, but I’m too lazy to go and research that :p
To answer your original question, their docs are a bit lacking, and their Docker stuff seems to change every single time they do a release. Their config is also broken, I don’t know how their lemmy.ml service functions with this config, but the docker-compose.yml they provide completely firewalls off federation, and pictrs can’t reach the internet to download thumbnails.
If I have some time I might write up a guide to help the masses, but for now, maybe it will be a little easier if you use their stable files instead (still has the same issues I mentioned though):
Thanks for the info. Sounds like Docker isn’t the way to go unless I want to spend a lot of time troubleshooting issues. Have you tried the Ansible method? Is it any easier or more reliable than the Docker method?
Oh no, Docker is 100% the way to go for reliability. The Ansible script is a mess. It only works on Debian based systems (which I didn’t have previously), I couldn’t get email working, and I had a weird issue where I couldn’t sign up for my own instance.
Granted, I didn’t even try to get email working on Docker because I don’t need it, but the Ansible build is much less maintainable for me. On Docker compose, I change 2 version numbers in the file to update and that’s it. For Ansible, I’m not sure how it would work, I guess I have to wait for the Ansible author to update the script first, so I would be reliant on them.
Hey @[email protected] !
As promised, here’s that easy deploy script I mentioned. If you’re still having issues with this, I hope this can be of use to you!