this post was submitted on 16 Jun 2023
58 points (98.3% liked)

Selfhosted

38768 readers
195 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:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

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

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

Hey. I really like the idea of the fediverse and Lemmy and would want to know as a beginner/not so experienced regarding selfhosting what would be the best way to get started? I saw there are vps options, but don't know of I'm looking in the right direction.

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 16 points 1 year ago* (last edited 1 year ago) (4 children)

Get a cheap linux VPS. My host provides 4 CPU sd and 8G for 8 eur per month which should be enough for something like 500 users.

Then just run the ansible playbook. It will do everything for you

[–] [email protected] 3 points 1 year ago (2 children)

Is this an arm instance on hetzner? I was looking for something cheaper than digitalocean, but I like their networking quality a lot.

[–] [email protected] 3 points 1 year ago (7 children)
load more comments (7 replies)
[–] [email protected] 3 points 1 year ago (6 children)

I have mine running on the cheapest arm Hetzner instance, working well so far

[–] [email protected] 3 points 1 year ago

Glad to hear that!

[–] [email protected] 2 points 1 year ago (1 children)

Oh, Hetzner has ARM machines now? Very nice. Guess I should finally move at least my mail server to ARM.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)

Yes, only in ~~Frankenstein~~ Falkenstein though. Which isn't a big deal if you're EU based anyway

[–] [email protected] 2 points 1 year ago (1 children)

Frankenstein is the name of the doctor, not the name of the monster

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

oh no, that'll teach me for using LanguageTool!

load more comments (4 replies)
[–] [email protected] 2 points 1 year ago

4 CPU sd and 8G for 8 eur per month

holy crap, that's cheap!

load more comments (2 replies)
[–] [email protected] 12 points 1 year ago (4 children)

Personally... it was an experience to say the least. I went down the Docker path for my instance. I've tried to keep away from Docker for ages, but here I am.

I'd recommend using the ansible playbook to get it running, as the docker documentation isn't very detailed and it gets very confusing; especially for a beginner.

[–] [email protected] 17 points 1 year ago* (last edited 1 year ago) (3 children)

The docker documentation is not kept in sync with the docker-compose.yml it asks you to use. So you download the latest one as per instructions, but that's being regularly updated with no thought to the documentation also being updated. It's also doesn't seem aimed at production deployment, just developer test environments. Then there are stupid simple things like the port number being changed in the docker-compose.yml but not in the nginx.conf or the lemmy.hjson. There desperately needs to be better control of that.

There is a lot wrong there and it doesn't fill me with confidence. It took me 3 hours to piece it all together last night and had to revert to picking bits out of the ansible documentation.

[–] [email protected] 6 points 1 year ago

Right? Thank you for confirming that I'm not extremely stupid when I didn't manage to get the docker installation working, only the Ansible one.

[–] [email protected] 5 points 1 year ago (1 children)

Exactly, I’ve spent ages yesterday and today trying to piece together a set of configs that all work together. I thought it must have been me missing something because the last time I did it everything worked exactly as described in the documentation and it took about ten minutes to get a working instance up and running, but not this time!

It helps slightly (slightly!) if you refer to the configs from the last release rather than the ones on the main branch that are constantly being changed, but even then you’ll have to maybe use the docker-compose.yml from the Ansible repo if you don’t want to build nginx as part of the docker install.

Got there in the end though!

[–] [email protected] 3 points 1 year ago

Turns out I can't upload photos due to the config file they point you at being wrong. Ffs! Direct users to a labelled release and production version. At the moment it's chaos at the very time it needs to be as seemless as possible.

[–] [email protected] 1 points 1 year ago

I thought I was going crazy. I'm glad I wasn't the only one having issues.

[–] [email protected] 4 points 1 year ago

+1 for Docker, specifically Docker Compose. Lemmy probably isn't the right container to learn Docker with, but once you have the fundamentals down spinning up Lemmy was pretty seamless.

[–] [email protected] 3 points 1 year ago (1 children)

thanks, wanted to go that route

[–] [email protected] 11 points 1 year ago (2 children)

Make sure you use a Debian base OS, as the playbook uses aptitude to install the dependencies. Also, you can't use anything over Debian 11, as the way the apt repositories and gpg keys are added, and the pip packages are installed don't work with the newer OS'.

I found out the hard way lol

[–] [email protected] 4 points 1 year ago

The fact that this wasn't in their install instructions made waste multiple hours yesterday. Eventually got a server working on Ubuntu 22. But then after starting to subscribe to other communities my server stopped responding Soni gave up

[–] [email protected] 2 points 1 year ago (1 children)

Did you start with arch or something 😂 sounds like you went through it lol

[–] [email protected] 2 points 1 year ago

Not even ha, just tried to install on Debian 12

[–] [email protected] 2 points 1 year ago (1 children)

Did you get it to run on docker? My personal instance is running, federation and community search semm to be working but when I subscribe to something it just says "pending" and does not seem to actually go through

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)

I did, yes. It took me a few hours of troubleshooting though, spanned across two days. I'm using Nginx Proxy Manager instead of the Nginx proxy that comes with Lemmy, but it all translates similarly. I also followed this guide on YouTube.

If it's sitting there saying "pending" for your subscriptions, it may be that the "proxpass /" location ports are off by one. It'll look like it's federating properly, but really it isn't. That was one thing I noticed with the documentation/examples; things were off and not updated. Check my screenshot attached for what I mean. The documentation/example config for the proxy lists the Lemmy-ui port as 1235, but it's actually 1236.

Screenshot

Hopefully that makes sense. If I can be of any more assistance, let me know!!

[–] [email protected] 2 points 1 year ago

Thanks! I'll check the video and I'll double check my configuration. The example compose file and config files already needed some tweaking for me to get to this point but maybe I've missed something.

[–] [email protected] 6 points 1 year ago

The cheapest way is to get a small vps. If you don’t care to much about the cost and might want to learn more about modern infrastructure practices you could try to getting it running using AWS ECS.

[–] [email protected] 6 points 1 year ago (2 children)

I have a somewhat related question: is is possible to help the infrastructure by providing a node to host an existing instance?

I don't wanna have to create and maintain/moderate my own, but would be willing to donate some power and bandwidth to the platform in order to improve performance/geographic distribution etc by having a replica node for an instance/instances of choice.

Thanks

[–] [email protected] 2 points 1 year ago

I don't believe that's possible. At least, not right now. Happy to be corrected though.

load more comments (1 replies)
[–] [email protected] 5 points 1 year ago (2 children)

What I'm curious about is running a server only for myself. Am I gonna have problems with being defederated? I'm wanting to run Matrix right next to it on the same domain but they seem much more open to the concept of personal servers.

[–] [email protected] 7 points 1 year ago* (last edited 1 year ago) (1 children)

it's alright, i run a personal server with closed registrations. looking for new communities is a bit glitchy, you might need to search a few times before it appears.

e: one thing i have to note is that docker-related documentation is somewhat inaccurate and, in my opinion, their setup is a bit overcomplicated.

[–] [email protected] 1 points 1 year ago (2 children)

Using their docker set up as well and I thought it was quite lean. Out of curiosity, what do you think is overcomplicated about it?

[–] [email protected] 5 points 1 year ago* (last edited 1 year ago) (5 children)
  • why use two networks, instead they shouldn't expose any internal ports if using reverse proxy container within compose (I'm using a separate external load balancer/reverse proxy, so I exposed lemmy & lemmy-backend only);
  • stuff like hostname: shouldn't be needed because it matches service name;
  • instead of using generic nginx container image with custom nginx.conf you need to place somewhere manually they should pre-build a container which would work OOTB with the compose setup, this would also solve current situation where nginx.conf and compose file are seemingly maintained separately because they don't match (i had to change one to match the other);
  • a minor thing but i would appreciate environment-based setup instead of needing configuration files (lemmy.hjson) on the filesystem (my ansible-based container deploy system has provisions for this stuff, still its something that i'd rather not have to use...);
  • in general compose setup feels like development environment because of all the debugging that is enabled, i think it also tries to build one of lemmy components instead of using an image by default;

it's all minor stuff, really, but it adds up and people who are not particularly savvy might give up on self-hosting lemmy because of if. so some polish and cleanup might be a good idea.

i know there's an ansible role too but i haven't looked through it. i have to do way too much ansible code review & refactoring at work. :)

load more comments (5 replies)
load more comments (1 replies)
[–] [email protected] 2 points 1 year ago

No, I don't think so. I've just been adding sub..."lemmys" and the flow is a little wonky but it seems to be working well after a few days.

[–] [email protected] 4 points 1 year ago

I'm using a hetnzer VPS, and the ansible script. It's working well.

load more comments
view more: next ›