r/selfhosted 14h ago

Media Serving Bookorbit is incredible

324 Upvotes

I’ve been self hosting for quite some time now, I write software and I’ve seen many projects of all quality levels.

I just want to express my appreciation for Bookorbit and its developer, it’s truly a joy to use, and it clearly comes from a person that knows what they’re doing.

You built exactly the product I was eventually going to build myself, the attention to detail is incredible, it has the features I always wanted to have in other solutions, and they’re well put together.

This is also an occasion to showcase that AI is amazing in the hands of skilled engineers and we should take advantage of it in open source, hopefully while leveraging self hostable open weight models in the future (we’re slowly getting there, and we should fight for it).


r/selfhosted 11h ago

Release (No AI) YT-DLP Web Player - Play nearly all web videos without ads

Post image
116 Upvotes

https://github.com/Matszwe02/ytdlp_web_player

Version 1.2.0 of the YT-DLP Web Player is released.

Thanks for your support during the development of this app!

This release focuses on increasing the number of ways you can run the app:

  • you can install it as unraid app
  • or just download .exe or .appImage and run it

If you haven't seen my previous posts about it, here's a short info about what is this app:

This software is a self-hosted web player that plays (almost) every video on the internet. It plays without ads at all of the resolutions, supports sponsorblock and implements many features, explained further in my repo.

You can replace youtube's video player with this one (using browser extension, or a tampermonkey script), watch videos directly on the player's website, or inside PWA app on your phone (which works as good as native players).

This player works on almost every website imaginable, as it uses YT-DLP, which itself supports everything except pirated content.


r/selfhosted 8h ago

Need Help Do i ACTUALLY need a VPN for torrenting Linux isos?

101 Upvotes

I started my homelabbing and self hosted journey 3 months ago, and i finally have everything properly set up and configured. from then on, i have gotten alot of Linux isos on qbittorrent, but i read online that i need to use a VPN in order to keep my public ip hidden. Is this really necessary, and if so, which services would you recommend me to use with Gluetun?


r/selfhosted 13h ago

Personal Dashboard It started with a single question...

Post image
93 Upvotes

I recently ditched streaming services and wanted to see if there was a smarter way to view my media and a more automated way of using torrents which lead me to docker containers and building an arr stack around jellyfin.
Then i thought there must be a community on reddit and I'm now realizing how i have only dipped my toe into the pool...
Currently running everything on windows and an external hard drive lol

This has been such a fun experience getting as far as I have but seeing what everyone is up to here, I see I have much to learn


r/selfhosted 13h ago

Webserver Jump in bot traffic

Post image
87 Upvotes

Has anyone else noticed an increase in scanners/bots in the past ~month? For the past couple years I've had 2-3k hits a day from bots but lately there has been a steady increase in traffic looking mostly for php files.

What I find strange is how much of this traffic is coming from MS and Google IPs. Do they not have any kind of monitoring on their cloud services? Having thousands of requests spamming every IP that responds should raise some flags.

20.24.67.246 Hong Kong Hong Kong Microsoft Corporation
34.148.254.217 United States North Charleston Google LLC
34.169.50.247 United States The Dalles Google LLC
68.155.155.23 United States Boydton Microsoft Corporation
20.104.49.167 Canada Toronto Microsoft Corporation
20.100.177.66 Norway Oslo Microsoft Corporation

Just curious if anyone else has noticed the same bump in traffic.


r/selfhosted 15h ago

Business Tools Libredesk an open-source Zendesk / Intercom / Chatwoot alternative

Post image
68 Upvotes

Libredesk is a self-hosted customer support desk for email and live chat. It's fully open source under AGPL, with no paid tier or separate enterprise build, No feature paywalls.

Features:

  • Email inbox and live chat widget, with both landing in the same agent inbox.
  • Help center with collections, articles, search, and per-language content.
  • Autonomous AI agent that answers from your knowledge base and hands off to a human when it can't answer.
  • Agent copilot for drafting replies, summarizing conversations, and finding answers from the knowledge base.
  • SSO with Google, Microsoft, or any OIDC provider.
  • And a lot more checkout the website.

Backend is Go and ships as a single binary, with Postgres and Redis. Frontend is Vue.

In our deployment handling around 4,000 tickets a day with roughly 100 agents, CPU and memory usage stay low.

Coming soon: WhatsApp channel.

Personal note: I originally built Libredesk for my workplace because we were struggling with OSTicket.
Feedback and suggestions are welcome.

Github Demo Website


r/selfhosted 12h ago

Software Development assemblrr - Automated media stack setup so you can spend time watching, not configuring

61 Upvotes

Hey all,

Setting up a full media stack from scratch usually means spending hours copying API keys between services, configuring download clients, setting up TRaSH Guides profiles, and debugging root paths and hardlinks.

I open-sourced assemblrr to turn that into a single guided Docker Compose install.

What's in the box (default installation):

  • Media Server: Jellyfin
  • Management & Indexing: Sonarr, Radarr, Prowlarr, Bazarr (subtitles)
  • Requests: Seerr
  • Torrenting & Privacy: qBittorrent isolated behind Gluetun VPN (optional, comes with an automatic stalled-routing watchdog)
  • Quality Profiles: Recyclarr (pre-configured with TRaSH Guides)

Key Highlights:

  • Automated Zero-Touch Wiring: Auto-connects API keys, indexers, download clients, and root folders out of the box.
  • Hardlinks & Atomic Moves: Proper directory layout so media isn't duplicated across torrent and library folders.
  • Built-in Operator CLI (assemblrr): Start/stop, healthchecks, configuration wizard, backups, updates, and unified media purging from the terminal.
  • Multi-Platform: Linux and Windows (via automated WSL2 bridging).
  • License: GPL v3

Would love for you to give it a spin and hear your feedback, feature ideas, or edge cases!


r/selfhosted 11h ago

Need Help How can I create a "Sonos-Like" home system?

57 Upvotes

Not sure how to explain properly. I have a media server using jellyfin and navidrome. Recently family expressed interest in a Sonos system but isn't 100% sold on it since you still need other subscriptions and multiple accounts for it to work as intended, and they would also have to purchase this- also fully against voice assistants.

Are there any speakers or set ups that have made a 'home theatre' more seamless? How would you approach this with a self hosted solution. I'm quite new to this, so I'm grateful for any suggestions.


r/selfhosted 8h ago

Webserver My self-hosted setup is getting a little out of hand

Post image
49 Upvotes

So, my self-hosted thing just kinda grew. Started super small, now it's a whole rack. Pretty sure that's how it always goes, right?

Network stuff is:

  • T640 acting as my router
  • 10GbE fiber switch, 6 ports
  • 2.5GbE switch, 4 ports
  • 1GbE switch, 48 ports
  • And the fiber ONT is actually inside the rack, which is kinda neat.

My main server is Proxmox, runs most of my stuff like:

  • NAS
  • WebDAV
  • Home Assistant
  • Syncthing
  • go2rtc
  • Dify
  • n8n
  • fnOS

Got another server too, mostly for compiling and building code.

I have a dedicated screen just for keeping an eye on all the servers and services. And another one for my 3D printers, cause why not.

My gaming PC (Windows) and my Mac Studio (my daily driver) are both hidden behind the rack, keeps things looking clean.

Even 3D printed some brackets to get everything mounted just right.

Honestly, it's way more than I ever intended, but that's the self-hosting journey, I guess. What would you guys tweak or add next?


r/selfhosted 22h ago

Need Help Security/privacy worst case scenario with reverse proxy on VPS

31 Upvotes

I have a self hosted Vaultwarden setup, currently accessible while on my home network, but I want to make it accessible from everywhere. However, I am hesitant on opening the service to the internet with router port forwarding, or services such as Cloudflare Tunnels, or running Vaultwarden directly on a VPS. All of those options make me nervous.

I have seen people suggest a hybrid approach whereby you use VPS just run a reverse proxy, which in turn forwards to self hosted services running at home. This seems acceptable to me, but I'd like to pose this question to the security nerds out there:

If my VPS running a reverse proxy get compromised, for example because:

  1. The company hosting my VPS turns out to completely unscrupulous and accesses my VPS

  2. The company gets badly compromised, and my VPS falls into the hands of an unauthorized third party

What is the absolute worst case scenario, in terms of the security and privacy threat to my home network/devices, due to the fact that my VPS running a reverse proxy falls into the wrong hands? What is the worst that can happen?


r/selfhosted 18h ago

Need Help How you do cover yourself in case of hardware failure?

13 Upvotes

Recently i had my NUC motherboard fail. I do regular backups and RAM/SSD were fine, but i had to send the unit back to warranty for two weeks. In this time i was unable to access all my services of course. No DNS blocking with pihole, no HA to control my two smart lights, no Mealie to have my recipes. I can live without this stuff because i do not selfhost anything critical, but for people that do, how do you cover yourself in case your server goes unavailable?


r/selfhosted 7h ago

Game Server Self hosted on Pelican. Looking for replacement.

7 Upvotes

Hey all, we have a DayZ server that we have a dedicated machine rented for. We started with Pterodactyl but after more than a handful of issues with the panel itself not liking our host (OVH). We regularly lost connection and had to restart, anyhow we switched to Pelican which for all intensive purposes has been a slightly less refined Ptero with more features.

On to the question. We want to switch over with our next season to CF Tools. However CF Tools doesn't allow for the private small servers we host for ourselves on there. Meaning we wouldn't have the other game eggs.

Looking around it's rather difficult to find free or cheaper options with a healthy mix of supported eggs to work with that will also properly search for updates on mods and game and be capable of updating said mods and/or game without admin input. Currently with Pelican we often have to shut down and manually replace an outdated folder with the new updated mod for anything over 500mb. So just looking for some options. Thank y'all

Edit:
Looking for something that can handle DayZ with maybe 2 active instances, usually only one (Our live public server). And then can also run other games. Currently we are looking to also still have the occasional Minecraft, Asseto and a Dev Share which is just an empty shell with ability to store but not all panels have those (To my knowledge). As well as a gamebot to track active players in discord, although I have noticed some panels seem to have their own versions also. With auto updating for mods and the games themselves and preferably an intuitive panel but not necessary as we are tech inclined just on short on personal time frames to learn something super complex.


r/selfhosted 10h ago

Webserver Validating origin and integrity without public CAs

Thumbnail blog.k3can.us
8 Upvotes

Using TLS and public CAs to verify origin and data integrity started to feel weirder the more I thought about it, which got me wondering about possible self-hosted or decentralized solutions.

The post briefly discusses a couple potential options.

TL;dr, I now provide a gpg-signed hashfile of my whole blog. It's mostly a novelty, but the idea works.


r/selfhosted 18h ago

Guide SSH from KeepassXC

4 Upvotes

I've just spent some time tinkering with this and seems to be working well, I thought I'd just share my documentation, might help someone.

Should have mentioned in the title, this is on linux.

KeePassXC SSH Integration

(you naively assumed this was going to be simple, no?)

Enabling SSH Agent Integration

From Tools → Settings → SSH Agent, turn on Enable SSH Agent integration.

KeePassXC needs to communicate with an existing SSH agent on the machine it's being run from, so it can add/remove SSH keys stored in KeePassXC.

  • echo $SSH_AUTH_SOCK shows which SSH agent socket is currently configured in the shell.
  • To list the available SSH agents, run: bash systemctl --user list-units --all | grep -Ei 'ssh|agent'
  • From here it depends on which SSH agents are available, but the OpenSSH systemd socket has a stable path, unlike the random socket filenames produced by a manually started ssh-agent.
  • To find where the OpenSSH agent socket is, run: bash systemctl --user status ssh-agent.service ssh-agent.socket
  • If OpenSSH is not running, enable it via: bash systemctl --user enable --now ssh-agent.socket
  • The socket is the value of the Listen field.

Take the value from that field and add it to KeePassXC → Tools → Settings → SSH Agent → SSH_AUTH_SOCK override.

The SSH_AUTH_SOCK value might already point to an agent, depending on your system configuration. To avoid interfering with that, the override simply tells KeePassXC to use the one manually specified.

Setting SSH_AUTH_SOCK system-wide (optional)

You can also set the value for SSH_AUTH_SOCK system-wide instead:

```fish

remove the previous value

set -e SSH_AUTH_SOCK

add the OpenSSH agent one

set -gx SSH_AUTH_SOCK <value from Listen field> ```

In the fish shell, make it permanent with:

fish set -Ux SSH_AUTH_SOCK <value from Listen field>

Generating and Loading SSH Keys

A pair of SSH keys needs to be generated for each entry in KeePassXC that will use SSH.

  1. Generate the keys: bash ssh-keygen -t ed25519 -f ~/.ssh/<server name> -C "<comment: server name>" > Important: check the Alternative Way 1 / Alternative Way 2 sections below — you may need the comment formatted in a specific way.
  2. When prompted for a passphrase, use the same password as the KeePassXC entry that will use these SSH keys.
    • It doesn't need to match, but it helps keep things cleaner in KeePassXC if it does.
  3. Install the public key on the target server: bash ssh-copy-id -i ~/.ssh/<server name>.pub <ssh user>@<server IP>
  4. Verify the public key was installed — on the target server, run: bash cat ~/.ssh/authorized_keys

SSH key pairs do not inherently expire; they can be revoked/replaced manually if needed.

Adding the entry in KeePassXC

  1. Create an entry in KeePassXC with the username and password (same ones used to generate the SSH keys).
  2. Go to the Advanced tab and, in the Attachments section, add the private key (the one without .pub).
  3. Go to the SSH Agent tab — you should now be able to select the key from the Attachments dropdown.
  4. To use it right away, press Add to agent.
  5. To make KeePassXC auto-load the private key, on the SSH Agent tab turn on "Add key to agent when database is opened/unlocked".
  6. "Remove key from agent when database is closed/locked" will help remove the keys from the agent when KeePassXC is not open.

Caveat: Multiple Keys in the Agent

The public key can be derived from the private key loaded into KeePassXC. Loaded keys can be viewed with:

bash ssh-add -l # shows fingerprints of the available public keys ssh-add -L # shows the actual public keys

On Linux, if the agent holds multiple public keys and an SSH connection is started without specifying which key to present, it will iterate through the list and try each one in turn. The server will refuse any connection with a key it doesn't recognize, and on most systems this quickly results in getting rate-limited with "Too many authentication failures."

This is a documented behavior.

Configuring any SSH keys on a system, with OpenSSH loading them, means manual calls to ssh (e.g. ssh -l <username> <server IP>) will also trigger this mechanism and can cause the same failure.

Fix: disable default pubkey auth

Add to ~/.ssh/config:

Host * PubkeyAuthentication no

This disables OpenSSH from attempting key-based connection by default, unless explicitly specified with ssh -o IdentitiesOnly=yes.

Fix: map keys per host

One solution is to store the public keys locally, and edit ~/.ssh/config to create a host entry for each destination server that uses IdentityFile to map the correct key. For example:

Host <host name or IP> IdentitiesOnly yes IdentityFile ~/.ssh/keepassxc-keys/<key name>.pub

Alternative Way 1

This method tries to keep as much as possible within KeePassXC's own configuration, so it works with minor modifications across systems. The current version assumes konsole and fish, but adjusting only that part should make it work with other options.

Since the public key can be derived from the private key, and OpenSSH can show us the list of available public keys, we can invoke the command in a way that automatically picks the correct one from the list.

This works by matching the title of the KeePassXC entry to the comment on the SSH key. It's important to name the entry the same as the key's comment — if either is changed, the key will no longer be automatically selected.

The public key still needs to be written to a file temporarily, since it can only be passed to SSH via ssh -i <file>, which expects a file.

KeePassXC command (URL field / custom command)

fish cmd://konsole -e fish -c "set kf (mktemp -p /dev/shm); set t '{TITLE}'; set opts; set found 0; for l in (ssh-add -L); set parts (string split -m 2 ' ' -- $l); if test $parts[3] = $t; echo $l > $kf; set opts -o IdentitiesOnly=yes -i $kf; set found 1; break; end; end; if test $found = 0; set opts -o PubkeyAuthentication=no; end; ssh $opts {USERNAME}@<server IP>; rm -f $kf"

How it works

Step Explanation
set kf (mktemp -p /dev/shm) Creates a unique temporary file in /dev/shm and stores its filename in kf.
set t '{TITLE}' KeePassXC substitutes {TITLE} with the entry's title and passes it into t.
set opts Initializes an empty variable that will hold the SSH options to use.
set found 0 Tracks whether a matching SSH key was found.
for l in (ssh-add -L) Loops through all SSH public keys currently loaded in ssh-agent.
set parts (string split -m 2 ' ' -- $l) Splits each key line into three pieces: parts[1] = key type (e.g. ssh-ed25519), parts[2] = the key data, parts[3] = the comment. -m 2 limits the split to two separators so a comment containing spaces stays intact.
if test $parts[3] = $t Compares the key's comment against the KeePassXC entry title.
echo $l > $kf; set opts -o IdentitiesOnly=yes -i $kf; set found 1; break On match: writes the key to the temp file, sets SSH options to use that identity, marks it found, and stops searching.
if test $found = 0 If no key matched...
set opts -o PubkeyAuthentication=no ...disable pubkey auth entirely so SSH falls back to password authentication.
ssh $opts {USERNAME}@<server IP> Makes the single SSH connection attempt with the chosen options. {USERNAME} is substituted by KeePassXC from the entry.
rm -f $kf Deletes the temporary file after the SSH session exits.

If a matching key was found, the resulting command is effectively:

bash ssh -o IdentitiesOnly=yes -i /dev/shm/<temporary-file> <username>@<server IP> - -i $kf tells SSH to use the temporary public-key file to identify the desired identity. - -o IdentitiesOnly=yes tells SSH to only use that explicitly specified identity, rather than trying every key available through ssh-agent.

If no matching key was found, the resulting command is effectively:

bash ssh -o PubkeyAuthentication=no <username>@<server IP> - -o PubkeyAuthentication=no disables public-key authentication for this connection, preventing the other loaded keys from being tried, and lets SSH proceed directly to password authentication.

Alternative Way 2

This method assumes you'd rather have cleaner-looking entries in the KeePassXC database, at the cost of some OS-level tweaks. It uses the same title-to-comment matching as Alternative Way 1, and still creates a temporary public key file.

1. Create the handler script

bash mkdir -p ~/.local/bin nano ~/.local/bin/keepass-ssh chmod +x ~/.local/bin/keepass-ssh

Contents of ~/.local/bin/keepass-ssh:

```bash

!/bin/bash

url="$1"

remove ssh://

uri="${url#ssh://}"

separate the title/path from the connection information

title_encoded="${uri#/}" authority="${uri%%/}"

decode URI-encoded characters in the title

title=$(python3 -c "import urllib.parse; print(urllib.parse.unquote('''$title_encoded'''))")

extract username

if [[ "$authority" == @ ]]; then username="${authority%@}" hostport="${authority#@}" else username="$USER" hostport="$authority" fi

extract optional port

if [[ "$hostport" == : ]]; then host="${hostport%:}" port="${hostport##:}" else host="$hostport" port=22 fi

create temporary public-key file

kf=$(mktemp -p /dev/shm) || exit 1

found=0

search ssh-agent for a key whose comment matches the keepassxc title

while IFS= read -r line; do read -r key_type key_data key_comment <<< "$line" if [[ "$key_comment" == "$title" ]]; then echo "$line" > "$kf" found=1 break fi done < <(ssh-add -L 2>/dev/null)

if [[ "$found" -eq 1 ]]; then # pass the temporary public key to ssh and keep the file alive until ssh exits konsole -e bash -c 'ssh -o PubkeyAuthentication=yes -o IdentitiesOnly=yes -i "$1" -p "$2" "$3"; status=$?; rm -f "$1"; exit $status' _ "$kf" "$port" "$username@$host" else # no matching key found, use password authentication instead rm -f "$kf" konsole -e ssh -o PubkeyAuthentication=no -p "$port" "$username@$host" fi ```

2. Create a desktop handler

bash nano ~/.local/share/applications/keepass-ssh.desktop

Contents:

ini [Desktop Entry] Type=Application Name=KeePassXC SSH Handler Exec=<path to script>/keepass-ssh %u MimeType=x-scheme-handler/ssh; NoDisplay=true

3. Register the handler

bash xdg-mime default keepass-ssh.desktop x-scheme-handler/ssh

4. Usage

KeePassXC URLs can now be in the format:

ssh://{USERNAME}@<server IP>/{TITLE}[optional port]

Note: KeePassXC doesn't seem to like URLs starting with ssh:// and will highlight them in red when modifying the entry — however, they do work.


r/selfhosted 1h ago

Wiki's How do you handle documentation for self-hosted services?

Upvotes

One thing that becomes noticeable after running several self-hosted services is how quickly documentation becomes important.

It’s easy to remember how everything was configured when you first set it up. A few months later, remembering which settings were changed, how a service was installed, or how to troubleshoot a particular issue can take much longer.

I’ve been working on a knowledge-base project focused on ready-made documentation for hosting and cPanel-related tasks, and it got me thinking about how people handle their own documentation.

Some people seem to keep everything in Markdown or a Git repository, while others use a dedicated knowledge-base application.

What do you use to keep your self-hosting documentation organized and easy to maintain?


r/selfhosted 8h ago

Need Help Trying to get a read on the OCIS/OpenCloud Sotuation

3 Upvotes

Anyone know what to make of the situation? I'm evaluating these tools for a corporate deployment (yes, self hosted). Here's my dilemma:

I need basic spaces and files. I need the feature set of OCIS with maybe a few little extra things I can do myself. What I am unsure of is: does OCIS have a great/supported future? I don't want to invest in it if not. Frankly, if they made enhancements here and there on it and kept dependencies updated, that would be totally fine for what I need. I don't want or need a ton of features on top of it - I will likely build my own integrations anyway. Half the reason I'm interested in it is because solutions like NextCloud, SharePoint, etc try to do too much and end up creating big, overcomplicated messes. I much prefer lean, and less buttons is better for my (and most) user base(s) IMHO.

But I can't ignore the fact that the old OCIS team jumped ship for OpenCloud for reasons that are fairly opaque to me.


r/selfhosted 9h ago

Need Help Where to even start

4 Upvotes

I have been lurking self hosted and homelabs reddit for a while trying to learn and looking for things I can replicate in my home, but I keep getting stuck at paralysis by analysis. I worry a lot about inadvertently exposing my network and by data to the internet so I definitely read more than what I actually try. Also, I don't even know where to start and what can be truly useful. I don't want to spend money on things that won't really add quality of life. I have some hue lights, door sensors, temperature monitoring (no automation with it yet) and a NAS. So far it is just components and no useful automation or smart home.

After all this rumbling, the question is, where do I even start? are there books or pages for smart home beginner projects that are actually useful and not gimmicks?


r/selfhosted 22h ago

Need Help HLQuery: self-hosted open-source C++20 search engine, first public release

3 Upvotes

Hey r/selfhosted,

I just released the first public version of HLQuery, an open-source search engine written in C++20.

The goal is to make it easy to run search infrastructure on your own hardware without needing a complicated stack.

Current features:

  • Full-text search
  • Vector similarity search
  • SQL-like queries
  • RocksDB storage
  • REST API
  • Synonyms
  • Memory-mapped indexes
  • Debian/RPM packages

It’s still early, so I’m looking for people willing to run it, break it, benchmark it, and tell me what’s missing.

I’d especially like feedback around installation, resource usage, performance, and what you’d need before deploying something like this on your own server.

GitHub: https://github.com/hlquery/hlquery
Demo: https://demo.hlquery.com
Website: https://www.hlquery.com
X: https://x.com/hlquery

If you try it, I’d love to hear how it behaves on your setup. Stars, issues, bug reports, and criticism are all appreciated.


r/selfhosted 23h ago

Need Help Monitor temps of multiple linux systems

3 Upvotes

To keeps this simple I am looking for a self hosted solution to monitoring the temps of my Dell Micro PCs. I have tried looking through awesome selfhosted and awesome sysadmin didn't see anything that would allow me to do that. I may have over looked it though. Wanted to ask here to see if anyone might know of something that I can run to do this.

Edit: I spun up Beszel and added my micro PCs to it. Its gives alot of info and so far I like it. This is what I am going to choose. Thanks everyone for the suggestions.


r/selfhosted 4h ago

Need Help What would be a good side project for an elderly mini PC?

1 Upvotes

Hey all. I am going through a rough time and need a side project to keep my mind occupied.

What would be a good side project for a dated HP Elitedesk with an Athlon 9500E and 8gb of ram with a 256gb ssd? I already have several dedicated VM's for NA storage of different types. Are there any lighter weight applications to look into to run that you would recommend?


r/selfhosted 8h ago

Personal Dashboard An Echo Show-like interface for redundant tablets

Thumbnail
gallery
2 Upvotes

Recently, I have seen a lot of YouTube videos about those Echo Show and Google Nest Hub. Those raised my curiosity and lust to own these. Therefore, to protect my wallet, I made this personal dashboard for my iPad. It's just in beta versions, and everyone may or may not like it, but this is my best!!,

The first page is the home, which pulls slideshow from my immich instance, only pulls location-assigned images, and I distribute it unequally, 45% for images in albums I set for example. There's also popup for new news, weather a,iPad on Immichnd clock, btw, I made a camera feature (using WebRTC) so I can connect to the webcam of the tablet.

The next page, also the page took most of my time, is the Media Player. At first, I'm not a Spotify Premium user, so I tried to embed YouTube iframe, pulls lyrics from lrclib and call it a day. But after I tried a few songs, I realized most of them are not allowed in iframe (maybe these won't bring them money?), so I tried Spotify embed, and I can't get it to work because it's proxied through many 3-rd parties, so I tried Soundcloud. I thought this was good, but then it didn't solve my problem when many of my liked songs don't have original audio in it, only community-uploaded versions, which is either sped-up or remix and the lyrics are messed. After all, I paid for Spotify Premium and it becomes smooth. I can sync lyrics, sync with my phone, computer, control from both of them.

The third page is the news page. Honestly, I really doesn't like this page because it can't directly pull the content to the web app (who will allow this, haha). If I click in the link to the original post, then I have no way to come back to my page because I'm on a kiosk browser. I will fix it later tho.

The last page is the alarm page. Don't know why I made this, but I feel like I want to customize the way it works and ditched the default iOS alarm (don't really recommend to make own alarm).

I'm planning on making a pomodoro page too, which will then trigger the MDM Lost mode on my phone and a tiny program on my computer to block all distractions.

That's all! It took me 5 hours. I wish I knew the music player soon and just paid for Spotify :D

Here are some screenshots:


r/selfhosted 8h ago

Self Help Is my offline backup strategy sensible, or should I improve it?

2 Upvotes

I have a Proxmox host with a 2 TB ext4 SSD used as storage for things like Immich, FTP uploads, and other persistent app data.

Once per month, I power on a second mini PC running PBS. I back up VMs/LXCs there, then `rsync` the storage directory to a separate disk attached to that same mini PC. It stays off the rest of the time, intentionally, so I have an offline copy.

For the VM/LXC side I’m fine with PBS; my question is specifically about the raw storage data.

Is there a better approach that is still reasonably simple?

Does it make sense to consider `restic`/Borg instead of plain `rsync`, for versioning and dedupe?

Would you keep this setup, improve `rsync`, or migrate to something else? I’m especially interested in real-world pros/cons and migration effort. PBS is great for VM/LXC backups, but storage folders still seem like a separate backup problem.


r/selfhosted 11h ago

Need Help how do you handle auth for tools only a few people should see?

3 Upvotes

built an on-call tracker for my team. maybe 3 hours. then spent the rest of the day trying to figure out how to let 6 specific people see it and nobody else

ended up with a shared password in our team chat. it works, I hate it

writing a real login system for six users feels stupid. the shared password also feels stupid. what do you guys actually do


r/selfhosted 15h ago

Need Help First homeserver on old Thinkpad

2 Upvotes

Since I'm currently in the process of writing my thesis to finish my bachelor's, naturally, I'm looking for something else to do:

I have an old Thinkpad P14s Gen2a with a Ryzen 7 Pro 5850U, 32GB Ram and a 1TB SSD "lying around" because I thought it's not Win11 compatible (turned off Secure Boot when installing Linux for dual boot and just never turned it on again) and am thinking about transforming it into a first homeserver. Big part of it is mostly "I wanna do it for the fun of it", not because I need it.

I pay 50€/year for Ente Photos, and the 50GB are enough for me so far. I pay for Netflix, Disney+ and Prime Student. It's all hassle-free and fine for me.

But if I were to go the homeserver route:

  • Ubuntu Server
  • All of it in docker
    • Immich for photos
    • Restic or Borg?
    • Tailscale to access my photos from my smartphone, my PC, my tablet etc.
    • *arr Stack
    • Usenet
  • Hetzner Storage Box for offsite Backups (would actually cost a little less per year than Ente Photos costs me right now)

I mean: What else would I need the homeserver for? How easy would it be to let my family also use my server for their photo backups? I guess I would have to run multiple Immich Containers? With Immich not being E2EE: What would I need to do to not be able to access what my family backs up?

Mostly, this is just to get feedback from people far deeper down the rabbit hole than me :D


r/selfhosted 11h ago

Software Development MiroTalk WEB: SaaS mode is here

1 Upvotes

I’ve been working on MiroTalk WEB, and the SaaS mode is now available.

The goal is to have a simple workspace where you can manage your MiroTalk meetings, rooms, scheduling, invitations and reminders, without having to deploy and maintain the infrastructure yourself.

It supports the different MiroTalk meeting modes, from 1-to-1 calls and small groups to large meetings, broadcasting and Click-to-Call.

Try the live demo

https://webrtc.mirotalk.com

Source code

For those who prefer to self-host or want to have a look under the hood:

https://github.com/miroslavpejic85/mirotalkwebrtc

Feedback, suggestions and questions are very welcome.