1
381
submitted 3 years ago* (last edited 3 years ago) by devve@lemmy.world to c/selfhosted@lemmy.world

Hello everyone! Mods here 😊

Tell us, what services do you selfhost? Extra points for selfhosted hardware infrastructure.

Feel free to take it as a chance to present yourself to the community!

🦎

2
11

Source code is here https://gitlab.com/masland.tech/matrix-activity-tracker

If you have any questions please feel free to ask. This is a project I have been working on for about 5 months over time. With suggestions from a few matrix community members it has reached this point.

3
15
submitted 14 hours ago* (last edited 12 hours ago) by nykula@piefed.social to c/selfhosted@lemmy.world

Made a status page tool, almost no configuration (a few environment variables), ready to drop in compose.yaml. If you run Podman but don't receive status alerts yet, try setting Yoself up, it should be relatively easy.

  1. To monitor Podman, add volume /run/podman/podman.sock:/var/run/docker.sock. To check if an external website is up, add SERVER_EXAMPLE=https://example.org/.

  2. To send alerts, set EMAIL_STATUS=admin@example.org and SMTP_{HOST,PORT,USER,PASSWORD}.

  3. To generate a static page, set STATIC_HTML=/home/user/public_html/yoself.html. To only monitor containers and/or servers, but not host, set MONITOR_HOST=false.

Intended usage: One instance on each server whose containers you want to monitor. Another one (static page) on the server that checks if your main servers are up.

How it looks like: https://yoself.nykula.com/


Why?

I work with a few servers with Podman containers. Some containers have health checks defined in their Containerfile or my compose.yaml. Some don't include binaries neccessary to implement health checks; but to see if they work, it can be enough to query their HTTP API.

A server may experience load spikes and is sometimes close to running out of disk. Finally, a server may periodically become inaccessible because of network issues.

My goal is to get emails about server health events, with very little configuration per server. And to have an overview of what stands out, without deep insights (for detailed information, I'll ssh anyway). Ideally with one tool for it all.

The static page is needed because I only work part-time and don't have money to rent an extra VPS. For monitoring my main VPS, I use a shared system that lets users run apps in background and publish HTML pages.


Alternatives with similar features:

  • Docker/Podman monitoring capability: Beszel, Simon, Uptime Kuma.
  • Docker/Podman container auto-discovery: Beszel, Simon.
  • Website monitoring: cState + monitorbot, Statping-ng, Uptime Kuma.
  • Public, world-readable status page: cState, Uptime Kuma.
  • Single container image: Simon, Uptime Kuma.
  • Host usage monitoring: Beszel, Simon.
  • Periodic refresh but not real-time: Uptime Kuma.
  • Powered by Node.js: Uptime Kuma.
  • Haven't researched yet, learned today: Gatus.

Non-goals, their features that Yoself doesn't have:

  • Settings UI: Beszel, cState, Simon, Statping-ng, Uptime Kuma. (I want compose.yaml and/or .env to be the entire config, possible to keep in Git with version history.)
  • Split monitoring and overview services: Beszel, cState + monitorbot.
  • Large, detailed charts: Beszel, Simon. (Yoself is just two screens.)
  • Private dashboard: Beszel, Simon. (Yoself is userless.)
  • Key auth between servers: Beszel.
  • Multi-user management: Beszel.
  • Description of current incident. (If needed, I can make Yoself show recent RSS from Mastodon.)
  • TCP, DNS, ping: cState + monitorbot, Uptime Kuma.
  • Years of history: cState. (Yoself logs expire after 31 days.)
  • Live metrics: Beszel, Simon. (Yoself periodically refreshes, but not every second.)
  • Reading container journal on the web: Simon.
  • File management: Simon.
  • Telegram, Slack, Discord etc: Beszel, Simon, Uptime Kuma. (Plain text e-mail is enough for me.)
  • Lightweight, written in compiled language: Beszel, cState, Simon, Statping-ng.
  • Custom styling: Statping-ng.
  • Regex matching of website responses: Statping-ng. (Yoself supports JMESPath.)
  • Frontend using React or Vue: Beszel, Simon, Statping-ng, Uptime Kuma. (I use Preact with my SSR/ORM library EviKit, about which I wrote recently.)

Would be nice, but wasn't a strong need to implement yet:

  • Weblate for continuous translation: Beszel, Uptime Kuma. (For Yoself, I edit Ukrainian .po using Poedit.)

Upd: re-read the rules and added [CBH] to title as per Rule 8. I didn't use LLMs when coding this project, as evidenced by my commit history on Codeberg. Developers of dependencies do use LLMs, though.

4
47

I've been building Fathom, a desktop Jellyfin client, for quite some time and just put out the first public release (0.9.0) for Linux and Windows.

The real draw is having everything in one place. Your Jellyfin movies, shows, music, and Live TV; most of Jellyfin's important server-side management (users, libraries, scheduled tasks, transcoding, Live TV and DVR, and more); and optional Seerr requests plus a full YouTube client, all without leaving the app. No bouncing between the web dashboard, a requests page, and a browser tab. One window does the lot.

What's in it:

  • Server management, built in. Handle users, libraries, scheduled tasks, transcoding, active sessions, Live TV and DVR, and more, without opening the Jellyfin web dashboard.
  • Optional Seerr requests right from the detail page, with Jellyfin, Seerr, or API-key sign-in.
  • Optional YouTube client. SponsorBlock, DeArrow, dislike counts, downloads, no ads and no account, off unless you turn it on.
  • One shared player. Jellyfin and YouTube use the same controls, seek bar, and shortcuts. Picture-in-picture, or pop a video out to a floating, always-on-top window on your desktop.
  • Plus: SyncPlay watch-together (works with other Jellyfin clients too), ratings (Rotten Tomatoes, IMDb, and more), in-app updates with a stable or beta channel, light/dark/AMOLED themes, and searchable settings. Everything plays through mpv, so you get direct play, hardware decoding, and proper subtitle and audio track control.

It's Linux-first (built and tested on Arch/KDE) with a self-contained AppImage, plus a portable Windows build. Android and more features are on the roadmap.

Download + source: https://github.com/Fathom-Media/fathom/releases/tag/v0.9.0 Repo (AGPL-3.0): https://github.com/Fathom-Media/fathom

This is the first public release, so expect a few rough edges. All feedback is genuinely wanted: bug reports, feature requests, and ideas. The goal is to grow Fathom into one of the best Jellyfin clients out there, so open an issue or start a discussion and it'll get read.

AI Disclosure

Per Rule 7 / [AIP] disclosure requirements AI was used during development as a coding assistant. Level per category:

  • Design (architecture, system design): Hint — I make the architectural calls; AI suggests trade-offs and edge cases I might have missed.
  • Implementation (production code): Pair — roughly 50/50. AI drafts, I review, adjust, test on real hardware, and only commit what I've verified. Every commit is manually reviewed before it goes to my dev repo.
  • Testing (writing tests, test plans, QA): Assisted — real-device testing is manual (I test on my own PC before every release). AI helps draft test plans and think through edge cases.
  • Documentation (docs, comments, README, CHANGELOG): Pair — release notes and changelog entries are drafted with AI then edited for tone; comments and code docs are mostly Pair as well.
  • Review (code review, PR feedback): Assisted — I'm the reviewer; AI helps with security sweeps, audit passes on complex changes, and consistency checks.
  • Deployment (CI/CD config): Hint — GitHub Actions/release pipeline is largely conventional; AI-suggested improvements only.
5
40
RustDesk access issue (thelemmy.club)
submitted 19 hours ago* (last edited 19 hours ago) by Grandwolf319@sh.itjust.works to c/selfhosted@lemmy.world

Hi folks,

Been using self hosted rust desk option for a while now. Great program and it’s very easy to use, honestly much more smooth than team viewer which kept logging me out.

Speaking of logging in, it’s now asking me to do that. While I could, I thought since it’s self hosted it wouldn’t need this step and am not thrilled that it would make me rely on big tech still.

I’m self hosting the relay server but it just uses an ip without any certificate, wondering if that’s the reason.

Has anyone hit this issue? Any known fixes besides logging in? Can anyone confirm whether it would be solved if the relay server used a proper domain with https?

Here is the link from the screenshot and as always, thanks in advance. Love this community!

6
18
submitted 18 hours ago by const_void@lemmy.ml to c/selfhosted@lemmy.world
7
77

Right - I see the other topic has been locked / author hasn't returned to follow community rules.

Here's the original topic https://news.ycombinator.com/item?id=49003386

and a measured (IMHO) response to it. (BTW, do your self a favour and change tabs with that site open :)

https://xn--gckvb8fzb.com/i-regret-migrating-to-codeberg/

It's a tough spot, Codeberg has found themselves in and I wish them luck. But beyond that, this is (yet) another reminder that in 2026, if you don't self host it, the cloud is just someone else computer

8
503

If you got the automatic updates on the bitwarden clients, they will show an empty vault if you are selfhosting vaultwarden.

It seems to be an accidental bug in the bitwarden clients that are assuming that they're talking with official servers

It's fixed with the latest release of the vaultwarden server that was published a few minutes ago

9
56

Couple of days ago I lost the connection to ntfy.sh, so we started talking on the #selfhosted matrix.org chat about notifications and ntfy, I started selfhosting ntfy and then stratself pointed out one can also use Conversations as a provider.

Long story short, I tried it and it works. This is the config for someone hosting xmpp with prosody and using apache reverse proxy. The original post of stratself gives the config with ejabberd and Caddy, it's linked in the beginning.

Amazing all you can do!

10
69
11
38
submitted 1 day ago* (last edited 1 day ago) by gblues@lemmy.zip to c/selfhosted@lemmy.world

I have a family immich instance self-hosted. All pics from my kids devices are auto-uploaded on our instance. This is nice, but also updates a lot of photos and videos of they kidding and joking, ando lot of repeated stuff. Immich only allows that I exclude my own stuff, and it’s really boring have to login with each account to exclude my kids stuff. Is there anyway that I can manage and exclude photos and videos of other users?

12
138
submitted 2 days ago* (last edited 2 days ago) by statisticsforstrava@lemmy.world to c/selfhosted@lemmy.world

It has taken a while, but v5.0.0 is finally here. This is the biggest release since the project began as Statistics for Strava.

A few months ago, Strava announced changes to their API program that affected a lot of developers.

In hindsight I'm really happy that Strava did what they did, Dreeve is now 100% self-hosted and no longer depends on Strava.

For anyone who never heard about Dreeve (or Statistics for Strava):

Dreeve is a self-hosted, open-source dashboard for your sports and fitness data

The biggest changes that v5.0.0 includes:

  • Full rebrand, moving away from Strava branding
  • Uploading raw FIT, TCX and GPX files (importing your activities from Strava is still fully supported)
  • A proper admin panel, moving away from YAML based config files

If you are upgrading from v4, be sure to check the migration guide: https://docs.dreeve.app/#/getting-started/migrating-from-v4

As always, thanks for your feedback and I'm looking forward to more feature requests! Stay fit, stay healthy 💪

  • Example: https://demo.dreeve.app/dashboard
  • GitHub: https://github.com/dreeveapp/dreeve
  • Docs: https://docs.dreeve.app/#/
13
20
submitted 1 day ago* (last edited 1 day ago) by irmadlad@lemmy.world to c/selfhosted@lemmy.world

I was having some issues with Invidious the other day, which I resolved. However, I came across this tidbit of info that I'd never seen before when I first deployed it:

Post-install configuration:

Highly recommended

Because of various issues, Invidious must be restarted often, at least once a day, ideally every hour.

https://docs.invidious.io/installation/#windows

Anyone else observing this weird restart schedule?

14
80
Auth apps (sh.itjust.works)

What auth apps do you use ive seen authelia, authentik, keycloack but whats overall the best

15
324

Codeberg seems to ban vibecoded Projects; reason might be german copyright law

>It looks like Codeberg want only copyrighted material in their service, so it is reliable in the future that e.g. licenses must be followed (e.g. GPL), and copyright doesn't suddenly get declared as being of the model owner, and it isn't a copy of something else.
That is a cautious reasonable position - in early days of LLM coding (3 years ago!) indemnity from model companies was a major issue globally because of the lack of clarity of the law around this. The US specifically has settled on it being (effectively?) public domain. But I don't think that is fully settled, and it certainly isn't settled in international copyright law.
The goal of the vague "mostly" in the Codeberg change is to ensure there is enough human input to the code they host, to be reasonably sure under German copyright law it is copyright of the person sharing it.

edit: link to poll that caused it (might be down due to high traffic) https://codeberg.org/Codeberg/org/pulls/1253#issuecomment-19820434

edit 1: i dont defend/oppose this move, i just find it interesting

16
104
submitted 2 days ago* (last edited 2 days ago) by Lemmchen@feddit.org to c/selfhosted@lemmy.world

I have eight identical drives connected to an ~~LSI 9207-8i~~ ASRock X470 Taichi Ultimate mainboard.

They're currently all running badblocks -b 8192 -c 2048 -p 0 -s -t 0 -v -w /dev/disk/by-id/ata-WDC_WUH722424ALE6L4_[XXXXXXXX] each.

While sda and sdb achieve almost 300MB/s, sdg and sdh struggle to even get to 200MB/s. That's a 50% difference!

All of my drives are recognized as SATA3, confirmed by smartctl -a /dev/sd[a-h] | grep SATA showing SATA Version is: SATA 3.5, 6.0 Gb/s (current: 6.0 Gb/s)

There's no CPU bottleneck either AFAICT:

Any idea what could be the issue of that? Is such a dramatic speed difference to be expected of Ultrastar drives?
Are these drives just bad?

Edit: Mainboard configuration:

Edit2: Okay, apparently the ASM1061 which provides the two extra SATA3 ports is connected to the CPU via a single PCIe 2.0 x1 lane, which provides only 4gbps (=500MB/s) of raw throughput.
I think I have found the culprit and the problem should disappear once I connect the drives to my LSI 9207-8i HBA card.

17
96
submitted 2 days ago* (last edited 2 days ago) by sanitation@lemmy.today to c/selfhosted@lemmy.world

7.0.2 got released on Friday. Exploits are already happening. People reporting hacks

18
40

Mine's been sitting in a drawer for months. What do you all use yours for? Trying to find a second life for it.

19
181

Paperless-ngx is an extensive document management system. 3.0.0 has just been released.

It seems from a user/admin perspective that a lot of obsolete stuff under the hood got removed and they did some performance stuff, but it's also full of AI features. There's too many changes to read them all though, I wonder if there's a blogpost or something somewhere summarizing the main changes.

Personally I'll stay with 2.X for some days at least to see what people say about the new version. I'm not interested to have AI parse my documents, the alrogirthmic auto tagging etc works quite well.

20
19

Has anyone tried to use kdrive form infomaniak as clone of directory where immich stores photos? Does it make any sense? I think it is one of the cheapest options right now for backup.

21
190

cross-posted from: https://lemmy.world/post/49721314

I just discovered this. Has anyone tried it?

Basically, you install it on your home server and use it to stash your DRM-free games, and then install the client on your PC, Steam Deck, whatever... log in to your server and just use it like your own, selfhosted Steam app. Any PC gamer already running Jellyfin, RomM, or other selfhosted entertainment-related server might be interested in trying it, if you do... please share your experience! I'll try it myself when I have time and post back here. If you know of any other alternatives, please share!

  • Self-hosted & open-source. Run Drop entirely on your own hardware. Your library, your data, your rules — all under the AGPLv3.

  • Rich metadata editing. Customise names, descriptions, and icons with full Markdown and image support.

  • Automatic imports. Pull cover art and game details straight from IGDB, GiantBomb, and PCGamingWiki.

  • A built-in store. Let users browse, filter, and collect games through a fully featured store.

  • Flexible authentication. Use simple accounts or hook into your existing SSO.

  • Native desktop client. Download, install, and play your whole library through a cross-platform desktop client.

Available for Windows, Mac & Linux (their web page lists a deb, their github repo publishes packages for all major distros and also an Appimage)

Website:
https://droposs.org/

Docs:
https://droposs.org/docs/admin/quickstart/

22
43
submitted 4 days ago* (last edited 3 days ago) by thunderousApplaus@sh.itjust.works to c/selfhosted@lemmy.world

Hi!

I'm looking to replace my family's landline phone with a VoIP based hardphone. From my research it seems that I'd need a SIP server and a SIP Trunk provider. But I also happened to find Jami that has a SIP account feature.

  1. Could I make and recieve calls with Jami over the hardphone similar to a landline phone (minus the ability to call and recieve calls from normal phone numbers) with this setup (SIP server + Jami + hardphone)?
  2. Does anyone have experience setting up a similar system?
  3. Am I overcomplicating things and a used smartphone turned into a softphone would be a better choice?

I've just recently begun my selfhosting journey so I'm not very well versed in networking, but I am willing to put in the time and effort to learn. So any (constructive) feedback/guidance is greatly appreciated!

EDIT: The solution for me it seems is to just buy a used Android smartphone and connect it to a bluetooth handset. Thanks everyone :)

23
327
24
174

This is the companion to I own my books, where I made the case for stripping DRM and actually owning what I buy. This post is the machinery overview: how I store, serve, and read all of it from my own homelab.

My books workflow

When I find a book I want to buy, I go to eBooks.com and search for it. They have most titles, but occasionally I will have to go to Kobo to find it; regardless, I purchase the book.

Note: This is just an overview of how this works and is not a technical, step-by-step walk-thru.

Calibre

If the book has DRM, the distributor gives me a file with the .acsm extension. If the book is DRM free, then they hand me the ePUB file directly. Either way, the next step is to import the downloaded file into Calibre. With the right plug-ins, Calibre will automatically download the book, remove the DRM (if any) and add the ePUB file to the Calibre books library.

Syncthing

Once the book is in Calibre as a DRM-free ePUB, Syncthing syncs it to one of my homelab instances that serves it with Calibre-Web.

Calibre-Web

I use Calibre-Web to then serve my Calibre books on my local network. Calibre-Web implements the same endpoints the Kobo store exposes: sync, library metadata, cover images, reading state. This is the first piece that allows me to connect my books library to my Kobo device.

DNS and certificates

Two things have to be in place to allow my Kobo to connect to Calibre-Web. My local DNS has to point an internal hostname at the server running Calibre-Web. And that server needs a real, publicly trusted TLS certificate, because the Kobo thinks it's talking to a commercial store and won't accept a self-signed one. Getting a legitimate certificate for a hostname that only exists inside my homelab is the fiddly part. I may write that up separately.

Kobo

Now I update the api_endpoint setting in the .kobo/Kobo/Kobo eReader.conf file on the Kobo itself so it points to the internal hostname from the DNS and certificates section above. I plug the Kobo into my computer over USB and it mounts as a drive, which is how I get at the file. There's no way to do this from the device's settings menus.

All together now

So my workflow looks like this in practice:

  1. Buy and download the book.
  2. Import the book into Calibre.
  3. Open my Kobo device and download the new book to the reader.
  4. Read.

The default software on the Kobo is a first-class reading experience. Connecting it to my Calibre-Web server keeps that experience intact while my whole library syncs down over my local network.

KOReader

I see many people talking about KOReader, so when I first started on this path, I had every intention of installing and using it. In my own tests, the software just felt a lot rougher and harder to make into a nice reading experience, and I still had to connect my device directly to my laptop to load books. No shade towards KOReader and all the people who seem to love it, but the Kobo reading software works perfectly for me, and I can't think of a feature that KOReader provides that isn't already in the Kobo software.

Audiobooks

I listen to a fair amount of audiobooks, and my preference is to purchase them from Libro.fm. Their audiobooks are already DRM-free, so I just download the files from the Libro.fm website and boom, I have my backup.

Audible books do have DRM, but I can remove it. In order to make my backups, I use ffmpeg with credentials that audible-cli legitimately pulls from my authenticated account. I'm decrypting content I bought, using a key I'm entitled to, into a universally playable format (.m4b). So I can back up even Audible exclusives like Dungeon Crawler #8.

No matter how I purchased and backed up the audiobooks, I prefer to listen to them in Audiobookshelf, which is a self-hosted solution in my homelab.

Conclusion

And that's my books workflow and an overview of how I self-host all this. I'm really interested in hearing about others' book workflows too. Drop me a line if you've written something up and want to share.

Originally posted on my site: https://michaelharley.net/posts/2026/07/21/how-i-self-host-my-ebooks-and-audiobooks/

25
57
submitted 4 days ago* (last edited 4 days ago) by SuspiciousCarrot78@aussie.zone to c/selfhosted@lemmy.world

https://lemmy.world/post/49736885

If you follow AI news at all as part of your self-hosting interests, you may have become aware recently that open AI (the frontier lab between behind chat GPT) has admitted (loosely) culpability in an cyber attack against HuggingFace (the major repository of open-weight models.)

The details that present are somewhat sketchy, but the gist of it is that open AI seems to have given unrestricted access to a AI agent, which then attacked hugging face, who in a twist of deliciousness, used an open source agent to defend themselves.

I'd joke and tell you to make sure that you haven't left any open ports on your router, but if you're here reading this I think probably you know better than that.

Less comically, there's a weird intersection here between self-hosting, sovereignty and encroachment by big tech that is worth pay attention to.

It should certainly spur people on to seriously consider self-hosting as much of their infrastructure as they can (and securing it) if this is the preview of things to come.

Something is rotten in the state of Denmark.

I just wish I'd bought more SSDs.

view more: next ›

Selfhosted

60934 readers
658 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