Selfhosted
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:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
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.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
view the rest of the comments
I think it's a matter of personal preference.
I've been running my own Mastodon instance for several months now, and I've enjoyed it. I don't have to rely on someone else, either, which is nice. I'm in control of everything on that instance.
As for Lemmy, I just started my own instance today, and am currently writing you from it. What made me decide to setup my own instance was some performance issues I was seeing with Lemmy.world, although that might have been an UI problem. Anyway, I enjoy doing this stuff, so I'm running my own instance for the sake of doing it.
On the flip side, it's more expensive and time consuming, and I'm the one who has to worry about backing up data, etc. Like I said, though, I enjoy doing it, so it's no big deal.
I run my own Mastodon instance, but for Lemmy it seemed more logical to join an existing instance that aligned with my interests. I wouldn't be adverse to abandoning my self-hosted Mastodon for a shared instance, but I would prefer a small instance run by and for people I know, rather than one of the huge ones.
What might make you want to ditch your self-hosted Mastodon instance?
With Lemmy, I didn't feel a need to pick any specific instance because I can follow communities from anywhere, and it seems to work pretty well.
One downside I've encountered with my own Lemmy instance is that post and comment history in the communities I follow begins when I started following them on my new instance. New posts and comments are federated my way, going forward, but I don't have the ability to go back and view as much history as one would on lemmy.world or lemmy.ml, for example.
I have experienced the same with mastodon and pixelfed.
I didn't have this problem with Mastodon, but totally had it with Pixelfed. I don't think Pixelfed, at least at that time, supported relays. I scraped around pixelfed.social to find people to follow because I had an account there. It didn't seem possible at the time to see profiles on public servers, without having an account, so it was hard finding people. It was something I was used to do doing on Mastodon. In the end, I didn't have a positive experience running my own Pixelfed instance, and just decided to use pixelfed.social.
I do follow the developer and he's been making a lot of great progress. I've got the mobile app, and it's quite decent.
I really like Pixelfed too, the developer is very nice and very responsive.
Basically just the hastle of maintaining and hosting it. My ideal situation would be an instance with a few people, where we can share some of the burden, and perhaps cost. But maybe that has its own headaches when there is a falling out etc.
There are also other drawbacks with your own Mastodon instance in terms of discovering new people, as a lot of those tools are geared towards the server scope, and Mastodon prohibits a full index search.
I actually don't know what the Lemmy policy is on indexing, but a way to search the entire Fediverse (or at least large parts of it) would help tremendously in popularizing it, I think. I understand why indexing would be blocked, but that seems a lot like security by obscurity to me, which I don't think works very well.
All very good points. I wouldn't mind sharing the costs and burden with some folks, but I'm pretty happy just maintaining it myself. Again, for me, it's something I enjoy doing.
I never really had that problem, but then I started out on other Mastodon instances and just migrated my account around until I ended up on my own personal instance. I also participate in several relays, which helps a lot. In the end, I've also spent time looking at the public feeds on other servers and browsing their profiles to find people. Another thing I did was participate in conversations, which was a good way to get mutual followers.
With that being said, I don't follow a ton of people either. I read my entire timeline, chronologically, so I keep it pretty tailored. I disable boosts and mute/unfollow people often.
Lemmy indexes everything on the server, as far as I know, which means you should be able to find local content and content federated to the instance.
As someone who likes having control over their data and especially backups, and someone who normally enjoys self-hosting things, I honestly might do it. I'm not sure if I'd want to host a lemmy instance or kbin instance though, since I know they all federate together anyway. I may also end up waiting until the software is more mature too before looking into it.
That's awesome! Running my own social media instances has become a hobby for me.
Having my own Lemmy instance has felt fairly seamless versus using Lemmy.world, but there have been some kinks. For example, when attempting to subscribe to a new community, the server has to pull a bunch of data first. This takes several seconds, but the UI simply says "not found" -- and then after several seconds, the UI updates with the community you want to follow. I figured this out by tailing the logs.
Also, the installation was pretty damn easy, especially when compared to Mastodon.
I'd maybe be interested in trying out self-hosting Mastodon at some point too, good to hear that Lemmy was easy to install though. I'm not too worried since I have quite a bit of Linux experience, I figure it probably won't be too bad to setup whatever social media instances I'm interested in checking out.
Yeah, if you've got a decent amount of Linux experience, I don't think you'll have any issues. Mastodon's installation is well-documented and works. My only criticism is that it's a bit long and you have to be careful not to miss anything.
On the other hand, I recall installing Pixelfed back several months ago and having a difficult time. The documentation was lacking, and it required me to use Arch Linux, which I had never used. I was able to get it working, but eventually terminated the instance after a while because I was never using it.
Oof, yeah, requiring someone to use Arch definitely seems like a steep requirement lol
LOL
It wasn't bad -- I just wasn't familiar with it.
Wait. I'm looking at the Pixelfed installation guide right now and it doesn't tell me to use Arch at all? Isn't it just a PHP app?
That's awesome. This was several months ago when there was a link to some specific Arch Linux documentation that @dansup@mastodon.social mentioned was the most complete. Sounds like it's been cleaned up.
Yeah, I think it is a PHP app.
mm. Might have been a getting started from the ground up kind of setup guide and the author might be most familiar with that. But happily it seems like there's docker files in the main repo, including docker compose files, so that should make it quite easy to set up.
Yea, but then they can say "I use arch btw". That's what really matters in life.
#goals
Personally, I went with Lemmy because it seems to be quite a bit further along in it's development. It also doesn't look like kbin's developer is recruiting much outside help, if you look at the repos of the two projects on GitHub/Codeberg, Lemmy has tons of contributions from people while kbin is mostly just the one guy with a few commits here and there. Not to mention that Lemmy's way less of a resource hog because it's written in Rust whereas kbin is implemented in PHP. Also, as far as I know federation is still currently broken on kbin.
The reason why I'd consider kbin is because I almost think I might prefer the interface, also I'm more of a PHP developer myself so that is tempting in and of itself too lol
I may wait a little bit before trying out either one tbh and maybe I'll give both of them a try.
how much does your mastadon instance cost per month? what do you expect for lemmy?
I'm using Linode, and their prices are publicly available.
https://www.linode.com/pricing/
For Mastodon, I'm using the Linode 4 GB while the Lemmy server runs on the Linode 2 GB option. Both are under the Shared CPU pricing -- not dedicated.
thanks for all of the information you've shared in this thread.
i was put off by the cost and effort involved in maintaining a mastadon instance when i looked into that a while back, but i'm glad to hear that lemmy could be cheaper.
Can you tell me a bit about the process you went through to create your own instance? I'd like to make one myself.
You're talking about Lemmy, right?
I provisioned an Ubuntu 22.02 server at Linode. I chose their 2 GB Shared CPU instance type. Once I configured the server to my liking, I ran through the Lemmy-Ansible instructions. (They have other methods, so check the documentation.)
Essentially, you install Ansible on your workstation. I'm on macOS and installed it via Homebrew. You then download their git repository, create the necessary configuration files, and then have Ansible configure the server. It was fairly simple.
I may go that route. I was wanting to host my own server but I feel like it would be easier to just use a cloud server
It's personal preference, but I find it easier, for sure.
I would assume it would be more secure as well
Yeah, you generally wouldn't want to run a public Internet server on the same network as your personal systems.
With cloudflare tunnel it is ok
mmm. thats debateable.
If theres vulnerabilities in the software, like RCE's or SQL Injections that can lead to access...Cloudflare wont do much for you. For example Kbin has already have PRs for SQL injections and even XSS vulns.
These will get flushed out with time and more people maintaining them of course. But I dont know if I would want that on my personal network even if on a DMZ. If for no other reason than if your instance starts spamming outbound traffic and you get flagged by your ISP.
Heck I had one of my domains flagged by my works Cisco Umbrella instance and the dang thing wasnt even in prod yet.
Wow, I had no idea.
Thanks for your input.
Sure, it would keep the origin from being publicly accessible on the Internet, but you would want to put that server on its own network, anyway.
I have a lab at home and do host some stuff for myself from there in a small DMZ (ie: Miniflux RSS readers, Plex through Reverse proxy etc).
But I used a linode for my lemmy/kbin stuff. Reason being is that the code is fairly new and there may be exploits bugs and
I dont want to deal with my ISP made an instance is exploited and becomes some type of C2 box or spews out spam. Kbin specifically already has PRs to fix XSS and Sql injection stuff, the former of which is usually avoidable if you just follow some pretty basic principles. So its a concern.
Linode has better bandwidth than my non-symmetrical ISP uplink and is on its own quota.
It sounds like linode is the way to go then and their prices seem reasonable. The funny thing is I've heard of linode before because Computer Clan uses it as a sponsor, but ever since I started using sponsor block I haven't really heard about it. I didn't actually know what they did.
Can you go into more detail on this?
Sure.
I run my own instance at a cloud provider, and thus have monthly expenses I wouldn't normally incur, if I were using a public instance.
The fun part is that you can run it on the same server as your mastodon is already running with no additional costs.
Sure, one could do that, but I prefer to keep things separate.
Oh, gotcha. I guess if using a personal local server, then the only recurring cost would be electricity.
Yes, there is electricity.
I think Internet connectivity could also be an issue, unless you have an ISP that's friendly to you running a publicly accessible server on your Internet connection at home.
Could you run a local server on your desktop that you only turn on whenever as a client? I don't really understand the Fediverse's architecture yet, but as far as I saw instances being down are not a big problem beyond not being able to log in if it's your home instance, and communities fracturing to separate discussions in other instances' local federation caches that only get resynced when the thing comes back up.
What prevents me from running my own instance as a very heavy client? Discounting the public DNS + static globally routable IP part as those can be solved IMO.
I've wondered that myself, and I don't know, to be honest, but there are some issues you'd certainly encounter. For example, if you posted any media it would need to be somewhere "always on" or remote instances and users might not be able to see it unless they managed to cache it on time. It means that your posts URLs wouldn't be accessible, and would only be available on servers to which it has already federated. There may be other issues, too, such as queues only keeping undelivered messages for so long, etc.
I'm sure someone with a good understanding of ActivityPub could explain whether or not this is possible.
Yes you could, but if your instance is down often, it might be that there is some timeout in ActivityPub when your instance will be marked as gone for others and might not get new content once it is up again.