1
181

Due to the large number of reports we've received about recent posts, we've added Rule 7 stating "No low-effort posts. This is subjective and will largely be determined by the community member reports."

In general, we allow a post's fate to be determined by the amount of downvotes it receives. Sometimes, a post is so offensive to the community that removal seems appropriate. This new rule now allows such action to be taken.

We expect to fine-tune this approach as time goes on. Your patience is appreciated.

2
362
submitted 2 years ago* (last edited 2 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!

🦎

3
2

Hey everyone,

I’ve been working on a self-hosted affiliate tracking tool after running into a common issue with existing solutions like Rewardful or FirstPromoter.

Most of them require full read-access to your billing provider (Stripe/Paddle) and operate as closed, managed services. That means handing over sensitive financial data and trusting a black-box system for attribution.

I wanted something different:

self-hosted transparent privacy-first

So I built RefearnApp — a self-hosted affiliate tracking engine.

🧠 Why this approach No third-party data access → everything runs on your own infrastructure **Transparent attribution logic **→ affiliates can verify how tracking works **Full data ownership **→ all relationships and logs stay in your database **No forced subscriptions **→ you can run it without ongoing costs ⚙️ Deployment Docker-ready Works with Coolify or any VPS Lightweight enough to run alongside existing services 🔓 Open source model

The core engine is AGPL-3.0 and fully self-hostable.

I’m following an open-core approach:

core functionality is free and open optional paid features support ongoing development 🔗 Repo

https://github.com/ZAK123DSFDF/refearnapp

I’d really appreciate feedback from people here — especially around:

setup experience architecture decisions anything missing for a self-hosted workflow

4
7

I have managed to get an old OnePlus5T phone up and running with PostmarketOS and have hosted a couple of services there.

If it possible to charge and give Ethernet connection using those multi port extensions on a phone?

Thought I'd ask before investing in one as I am on a super tight budget.

5
37
submitted 23 hours ago* (last edited 23 hours ago) by HeartyOfGlass@piefed.social to c/selfhosted@lemmy.world

Hiya,

Plex / Jellyfin are nice and all, but you know what I really want? A TV-like "channel" I can configure with TV shows & movies to play on a schedule. I miss the cycle of Morning News -> trashy daytime tv -> light afternoon programming -> prime time -> late night -> repeat, or simply turning on the TV & having something already playing. Or that one-button channel up/down to move to a totally different vibe. "Playlists" in Plex/Jellyfin almost do what I want, but they're difficult to pick up midway through, the "dumb shuffle" doesn't care if I've seen an episode recently, and I can't really mimic that daily tv cycle.

Is there a media streamer that does this? Do Plex/Jellyfin have that function & I've just missed it? If it doesn't exist, would someone be a pal and whip that up?

6
94

Hey everybody! I am building self-hosted fast task manager, and today I am happy announce that I made desktop app and it supports macos, windows and linux! For mobile it is still PWA. All platforms support fast sync and works offline even when your homelab is down.

Also, one of the top feature that I really wanted is global quick add shortcut. You can trigger it with cmd+shift+a on macos, ctrl+shift+a on windows/linux.

Installation

Single Docker command with SQLite as db:

docker run -d \
   -p 3000:3000 \
   -v will_be_done_storage:/var/lib/will-be-done \
   --restart unless-stopped \
   ghcr.io/will-be-done/will-be-done:latest
7
55
8
39

My e-book management currently consist of storing a bunch of files, both .epub, .pdf and .azw3 stored either by author (fiction) or by topic (non-fiction), for various sources (purchased e-books, downloaded via University subscriptions, Project Guthenberg and some from Library Genesis/Anna's Archive). For some time I'd been wanting to organize them better, with a web UI to download in a format of my choice and to be able to share with others.

I first found out about and became interested in Booklore, as it seemed to fulfill my needs, and decided to research it more in-depth and oh boy, what drama... I am aware of the Grimmory fork, but I am not touching that with a ten-foot pole until it has matured and can be generally considered to be trustworthy.

So instead I started experimenting with the more established Calibre + Calibre-Web setup (I decided against Calibre Web Automated, as that also seemed a little shady). I find the UI of Calibre-Web to be fine enough for my use, but would have loved to be able to edit more metadata in the UI (it appears I am unable to add a cover for instance). But the Calibre server has so far been very frustrating to work with for me, and does not fit my desired workflow at all. I basically want to be able to dump my files onto my server (and continuously sync local files to the sever), get the metadata mostly automatically sorted with easy options to amend missing metadata (preferably from a web UI and not that screen-share thing that doesn't even work in Librewolf). I have not found a way for it to automatically import new books, and if I reimport from the directory I dump my books in, it will reimport some of the books where the metadata was changed (some it will realize is the same, and ask to skip), so I end up with multiple duplicates. I work under the assumption that its mostly user errors so far, and I will try to master it better, but so far I find it very intuitive.

I will be looking more into Kavita as well, but so far I know very little about it.

How are you setup in your homelab for e-book management? Would love to see some examples of well-established workflows that works for you.

9
124

What's everyone's server naming scheme?

10
22
submitted 1 day ago* (last edited 1 day ago) by bazinga@discuss.tchncs.de to c/selfhosted@lemmy.world

I realize, I need to upgrade my little NUC to something bigger for higher inference of bigger llama models. I want something that you still can have on your living room's tv bench, so no monster rack please, but that has also the necessary muscle when needed for llama. Budget doesn't matter right now, want to understand what's good and what's out there. Thanks

EDIT: Wow, thanks for the inspiration, guess I need to look at bit for "how to stuff a huge graphics card into a mini box". To clarify a bit more what I want with it: I want to build a responsive personal assistant. I am dreaming of models bigger than 8B, good tool calling for things like memory, websearch etc., no coding, no image generation, no video generation required. Image recognition would be good but not a must. Regarding footprint, the no monster ;) Something that you can have in your livingroom, and could be wife approved - so no big gaming rig with exhaust pipes and stuff, needs to be good looking ;)

11
74
submitted 1 day ago* (last edited 1 day ago) by IcedRaktajino@startrek.website to c/selfhosted@lemmy.world

EAS (emergency alert system) alerts are issued for various local and/or national emergencies, and are frequently issued for severe weather events. As we enter tornado season in the US, I wanted to be able to receive and relay those over Meshtastic, specifically severe weather alerts, as an extra precaution since cell service often goes out after big storms.

I first setup a prototype setup on my laptop, but am planning to move the setup to a PiZeroW2 or a Banana Pi if the Raspi isn't up to the task. In addition to monitoring/relaying EAS alerts, I'm also going to pipe the audio to an Icecast source and then to an Icecast server so anyone on the local network can listen to it.

Got lucky in that today was the day they did the weekly EAS alert test and that I happened to have this running during the test. Everything surprisingly worked, which was nice. However, I wanted to tweak some things and needed a way to run my own tests. So I grabbed the audio sample from the Wikipedia page for SAME and piped that in which worked beautifully.

Requirements

  • A Pi or other computer than can run rtl_fm
  • A RTL-SDR dongle and antenna that can receive in the ~160-170 MHZ range (i.e. pretty much any FM radio antenna)
  • A Meshtastic node connected over USB or TCP

Sending Test Alerts

If you want to test the setup without having to wait for a weekly test, you can download a sample SAME audio clip from Wikipedia (https://en.wikipedia.org/wiki/File:Same.wav). You'll need to convert the sample rate before you can use it, though.

$ ffmpeg -i Same.wav -ar 48000 same48.wav
$ cat same48.wav | Meshtastic-SAME-EAS-Alerter --test-channel 0
2026-04-02T15:32:31.172Z INFO  [Meshtastic_SAME_EAS_Alerter] Successfully connected to the node.
2026-04-02T15:32:31.175Z INFO  [Meshtastic_SAME_EAS_Alerter] Loaded locations CSV
2026-04-02T15:32:31.175Z INFO  [Meshtastic_SAME_EAS_Alerter] Monitoring for alerts
2026-04-02T15:32:31.175Z INFO  [Meshtastic_SAME_EAS_Alerter] Alerts will be sent to channel: 0
2026-04-02T15:32:31.175Z INFO  [Meshtastic_SAME_EAS_Alerter] Test alerts will be sent to channel: 0
2026-04-02T15:32:31.201Z INFO  [Meshtastic_SAME_EAS_Alerter] Begin SAME voice message: MessageHeader { message: "ZCZC-EAS-RWT-012057-012081-012101-012103-012115+0030-2780415-WTSP/TV-", offset_time: 47, parity_error_count: 0, voting_byte_count: 69 }
2026-04-02T15:32:31.201Z INFO  [Meshtastic_SAME_EAS_Alerter] No location filter applied (locations empty) or no locations in alert
2026-04-02T15:32:31.201Z INFO  [Meshtastic_SAME_EAS_Alerter] Attempting to send message over the mesh: 📖Received Required Weekly Test from WTSP/TV, Issued By: Broadcast station or cable system, Locations: Hillsborough, Manatee, Pasco, Pinellas, Sarasota
Connected to radio
Sending text message 📖Received Required Weekly Test from WTSP/TV, Issued By: Broadcast to ^all on channelIndex:0 
Waiting for an acknowledgment from remote node (this could take a while)
Received an implicit ACK. Packet will likely arrive, but cannot be guaranteed.
Connected to radio
Sending text message  station or cable system, Locations: Hillsborough, Manatee, Pasco, to ^all on channelIndex:0 
Waiting for an acknowledgment from remote node (this could take a while)
Received an implicit ACK. Packet will likely arrive, but cannot be guaranteed.
2026-04-02T15:33:11.227Z INFO  [Meshtastic_SAME_EAS_Alerter] End SAME voice message
2026-04-02T15:33:11.251Z WARN  [Meshtastic_SAME_EAS_Alerter] Program stopped, no longer monitoring

Working Prototype

This is the bash one-liner to start rtl_fm, tune it to the local NOAA frequency, and set the rate. That gets piped to tee which does 2 things currently:

  1. The audio is piped to play so that I can listen to the broadcast on the laptop's speakers. This will eventually be piped to an Icecast source
  2. Pipes the audio to the Meshtastic SAME EAS Alerter program (the project linked in this post) and configures its settings

When a SANE message is detected, the program decodes it and broadcasts it to the configured channel. Fun fact: the Screech. Screech. Screech you hear before a severe weather alert is actually the encoded version of the emergency alert and what this program decodes.

When I move this all to whatever flavor of Pi I end up using, that'll be wrapped in a systemd unit file so it can run headless and unattended.

$ rtl_fm -f 162.400M -s 48000 -r 48000 | tee >(play -q -r 48000 -t raw -e s -b 16 -c 1 -V1 -v 4 - sinc 125-3.2k) >(Meshtastic-SAME-EAS-Alerter --host 192.168.1.236 --test-channel 0) > /dev/null

Found 1 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Tuner gain set to automatic.
Tuned to 162652000 Hz.
Oversampling input by: 21x.
Oversampling output by: 1x.
Buffer size: 8.13ms
Exact sample rate is: 1008000.009613 Hz
Sampling at 1008000 S/s.
Output at 48000 Hz.
2026-04-02T14:20:49.702Z INFO  [Meshtastic_SAME_EAS_Alerter] Successfully connected to the node.
2026-04-02T14:20:49.704Z INFO  [Meshtastic_SAME_EAS_Alerter] Loaded locations CSV
2026-04-02T14:20:49.704Z INFO  [Meshtastic_SAME_EAS_Alerter] Monitoring for alerts
2026-04-02T14:20:49.704Z INFO  [Meshtastic_SAME_EAS_Alerter] Alerts will be sent to channel: 0
2026-04-02T14:20:49.704Z INFO  [Meshtastic_SAME_EAS_Alerter] Test alerts will be sent to channel: 0

12
18
submitted 1 day ago* (last edited 1 day ago) by ExcessShiv@lemmy.dbzer0.com to c/selfhosted@lemmy.world

I have been seeing periodic drops in internet access from LAN connected devices lately (last 2 months), and I haven't been able to figure about exactly what is going on. There doesn't seem to be a pattern, and it resolves itself after a few hours.

  • I can access the internet from my router
  • All devices on LAN can reach each other, both wired and WiFi
  • All devices on LAN can reach router, both wired and WiFi
  • I haven't changed anything in router settings
  • I haven't added new devices to my local network
  • I can't find any IP conflicts
  • It's a simple flat network with two APs, a single switch, no VLAN separation
13
67
submitted 2 days ago* (last edited 2 days ago) by filippocrotti@lemmy.world to c/selfhosted@lemmy.world

Hey everyone,

I'm a web developer, mostly JS and PHP, about 4 years of experience. A while ago I helped a friend set up the infrastructure for his small IT company and ended up managing the backups there too.

The issue was simple: two servers, and I wanted to manage backups from one place. Backrest was the closest thing I found but it's single-machine, so you get one interface per server. The commercial alternatives felt like overkill. Also, they use Zitadel for SSO on all their internal tools, so OIDC support was a requirement from the start. And since they're working toward ISO 27001, having centralized, auditable backup management wasn't just nice to have.

I didn't find anything that fit, so I built Arkeep.

It's a backup manager with a server/agent model, built on Restic and Rclone. You run one server, deploy agents on the machines you want to back up, and manage everything from a single web UI. Agents connect to the server over gRPC so no ports need to be open on the agent side. It handles Docker volume discovery, pre/post hooks, and streams metrics back in real time.

One thing I want to be upfront about: Go was completely new to me. I had a client that required Go for some backend work, so I used Arkeep as a way to learn the language while building something I actually needed. I used AI a lot to get through it faster. The architecture and the decisions behind it are mine, but I didn't write idiomatic Go from scratch. I know this community has strong opinions on AI-assisted projects right now, so I'd rather say it clearly.

It's been running as a secondary backup system for about a month without issues. Still beta, still rough in places.

What works:

  • Server + agent architecture, agents connect out (no open ports needed)
  • Restic under the hood, Rclone for destinations Restic doesn't support natively
  • Docker volume auto-discovery
  • OIDC support
  • PWA web UI
  • Helm chart (needs more real-world testing)
  • SQLite by default, PostgreSQL available

What's missing or not great yet:

  • No VM support yet, it's planned
  • Dashboard is minimal
  • It's beta, bugs are expected

Repo: https://github.com/arkeep-io/arkeep

If you try it, feedback is very welcome. That's really why I'm posting.

14
103
submitted 2 days ago* (last edited 1 day ago) by BruisedMoose@piefed.social to c/selfhosted@lemmy.world

Like soup-to-nuts. I know I need to document what I'm doing and I've started several times, but then I never go back and make updates. I don't know if it's just the ADHD or if I'm just going about it or thinking about it in the wrong way.

So I'm curious about:

  • what you use for your documentation
  • how you organize it
  • what information you include
  • how you work documentation into your changes/tinkering flow

Edit: Dang, folks! You all have given me a lot to read through, think about, and explore. Thank you!

15
20

I need to add booking to my website. I stumbled upon cal.com which seemed great. However I've run into 2 issues.

My current options for calendars are Protonmail and cpanel/webmail/roundcube.

cal.com doesn't really work with either of these. For proton its mostly on proton's side, their calendars are read-only externally + a bit buggy: https://github.com/calcom/cal.com/issues/5756

Roundcube uses caldav, and cal.com's support is still in beta with most caldev's being unsupported: https://github.com/calcom/cal.com/issues/3457

Roundcube got me the farthest but the booking emails just don't get sent and the calendar event pops up maybe an hour later + there's 75% the booking just doesn't work. I was told this was the calendars fault 😂.

SO

Are there any selfhosted calendar implementations that support ics feed, external viewing ,etc etc that I can throw on a standard webserver?

Or are there any better foss booking systems?

I just need to book clients and connect it back to a working calendar that's not locked to a desktop. I thought this would be a solved problem in 2026...

I'm not trying to pay for yet ANOTHER software on top of business mail, and a webserver.

Thanks.

16
46

After getting burned by Pocket, I moved everything into a self-hosted setup.

Current stack:

  • FreshRSS for feed ingestion
  • Readeck for actual reading
  • Linkwarden for long-term storage

Running on Docker Swarm behind Traefik, internal-only. Remote access via WireGuard.

A few gotchas that took longer than expected:

  • Readeck container entrypoint pointing at /readeck (dir) instead of /bin/readeck
  • Linkwarden auth issues due to build-time NEXT_PUBLIC_* vars
  • Had to seed the first user manually in Postgres with bcrypt
  • Internal SMTP relay quirks between services

It’s definitely more work than SaaS, but the upside is ownership.

Full write-up with configs + fixes: https://clifmo.com/blog/posts/saas-is-temporary-your-reading-list-doesnt-have-to-be

Curious what others are using for this now. I considered Wallabag but opted for Readeck, even tho the Readeck Android app has a crash loop right now (for me).

17
15
18
72

I used to enjoy April Fools but I haven't been able to for years and unfortunately find it a day of frustration now.

I just realized I didn't encounter any tricks this year. I'm thinking part of that is I'm spending a lot of my time on services I host so less chances for others to add the tricks.

It feels like rain on my roof. April Fool's disruptions happening outside of the space I've made while my life can continue as I like inside, undisrupted.

19
21

I think I've hit a wall here. I set up both Collabara (CODE) and OnlyOffice (documentserver), and either I'm doing it wrong, or both require Nextcloud to provide the document editing UI. I really don't want to install Nextcloud. It feels like overkill.

Am I doing it wrong, or do both of those require Nextcloud.

20
94

Following the dashboard trend: https://lemmy.world/post/44982667

Can't attach multiple photos or config in the post but if anyone's curious I can share them later.

There are a few minimized headers by default and extra tabs not shown that would otherwise clutter the homepage. On those pages/tabs I use some extra custom API widgets that are polling either homeassistant, ollama, or some other APIs. I also have some webhooks that serve as toggles for some switches in home-assistant.

Partially configured some parts via LLM but please don't crucify me for that. Home-assistant templates use the devil's syntax.

21
693
22
48
submitted 2 days ago* (last edited 22 hours ago) by illusionist@lemmy.zip to c/selfhosted@lemmy.world

I tried "all" settings. I tried reading the logs and norhing helped. I had many months without issues. How do you guys debug it? The logs aren't too helpful for me and there are too many settings for me to play with. I've got an intel GPU with eirher QSV or VAAPI. Disabling does not work either. CPU is normal, GPU is normal. RAM is not full.

Edit:

  • one drive was failing. SMART showed a dying drive. I replaced it and everything is smooth again. That is why I couldn't find anything within the logs. And until today I didn't know how to read io properly and check for smart status.

Things to watch out for

  • cpu usage
  • gpu usage
  • right gpu tools. Properly passed to container. Properly used by jellyfin.
  • proper transcoding settings with the gpu within jellyfin
  • ram
  • storage of drives
  • io write/read speed
  • jellyfin folders on ssd, media on hdd
  • healt / smart status of drives
  • lan bottleneck
23
47
submitted 2 days ago* (last edited 2 days ago) by KillianLarcher@lemmy.world to c/selfhosted@lemmy.world

Hi community,

I’m one of the maintainers of Portabase, I shared it here for the first time two weeks ago and I have now some updates!

After an initial request from a community user in mid-January, and a few more along the way, we’ve finally added support for Firebird SQL. It seems to have a solid community behind it even though I hadn’t heard of it before.

Quick recap : Portabase is an open-source platform for database backup and restore.

Repository: https://github.com/Portabase/portabase

So it now we support 8 databases: PostgreSQL, MariaDB, MySQL, SQLite, MongoDB, Redis, Valkey and Firebird SQL

What’s new in version 1.10:

  • Support for Firebird SQL (obviously)
  • Healthchecks for both the database and the agent (with optional notifications)
  • End-to-end tests to prevent regressions (coverage is still light, but we’re working on it)

What’s coming next:

  • Support for Microsoft SQL Server

If you’re using Firebird SQL (or any other supported database), we’d really appreciate your feedback. Feel free to open issues if you find any bugs.

24
70
Power efficiency (lemmy.zip)

I'm wondering what folks do to optimise the power efficiency of their Linux servers. I've never really got to the bottom of what is the best way to do this and with the current energy crisis its a pertinent topic.

I'm talking about home servers, so the availability requirements are not the same as in a corporate environment. There might be vast chunks of time during the day or night when they sit idle, and home users are more tolerant of a lag when accessing resources if it means lower energy bills.

Specifically I've been thinking about:

  • allowing lower power states when idle
  • spinning-down hdd's when they're not in use
  • MAYBE letting machines sleep/hibernate
  • setting schedules of times where you know demand will be low/zero and efficiency can be managed aggressively
  • any other quick wins I've missed

It would be amazing if there was one tool or one guide that helps with all of that but thats never the case, is it 😅

Thoughts?

25
24
Authentik Helm woes (discuss.tchncs.de)
submitted 3 days ago* (last edited 2 days ago) by Starfighter@discuss.tchncs.de to c/selfhosted@lemmy.world

I'm currently in the long process of rebuilding my declarative homelab using k3s, ArgoCD and NixOS.

I had previously used Keycloak but that always seemed massively overqualified and way too complex for my purposes. With this rebuild I saw my chance to try out Authentik which appears to be in good standing with the homelab community.
They have tons of documentation for pretty much anything which was encouraging to me. Well except for the documentation for their Helm Charts maybe...

Started off with version 2025.12.x, am now onto 2026.02.x and have spent most weekends in between that on getting Authentik to even just deploy to the cluster.
It's partially my fault for attempting to use Secrets initially but even now with hardcoded keys in my git repo the default example chart doesn't work:

values.yaml

authentik:
  existingSecret:
    secretName: authentik-secret

  postgresql: # None of this gets applied at all so I do it manually below...
    password: "somepasswd"

server:
  replicas: 1

  env: # Manually apply all the configuration values. Why am I using Helm charts again?
    - name: AUTHENTIK_POSTGRESQL__HOST
      value: authentik-postgresql
    - name: AUTHENTIK_POSTGRESQL__USER
      value: authentik
    - name: AUTHENTIK_POSTGRESQL__PASSWORD
      value: "somepasswd"
    - name: AUTHENTIK_POSTGRESQL__NAME
      value: authentik

  route:
    main:
      # ...

postgresql:
  enabled: true

  auth: # And set everything here once again
    username: authentik
    password: "somepasswd"
    postgresPassword: "somepasswd"
    usePasswordFiles: false
    database: authentik

  primary:
    persistence:
      size: 4Gi

I started off with the official example and after all these undocumented changes it still only deploys-ish:

With the defaults authentik-server would always try to reach the DB under localhost which doesn't work in the context of this chart/k8s.
So after a while I figured out that the authentik: configuration block doesn't actually do anything and I set all the values the chart should set by hand.

Now the DB connects but the liveliness probe on the authentik-server pod fails. It logs the incoming probe requests but apparently doesn't answer them (correctly) leading to k8s killing the pod.

Sorry for the ramble but I've hit my motivational breaking point with Authentik.
Since the community seems to like it a bit I am left wondering what I'm doing wrong to have this many issues with it.

Did you people have this much trouble with Authentik and what have you switched to instead?

view more: next ›

Selfhosted

58173 readers
300 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.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

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

Questions? DM the mods!

founded 2 years ago
MODERATORS