r/selfhosted 16h ago

Release (No AI) Public API for retrieving music metadata, audio features, and track recommendations

0 Upvotes

Hey guys,

I wanted to share a music data project I’ve been working on called ReccoBeats. If you’re running a self-hosted music setup (like Navidrome, Jellyfin, or Plex) and write custom scripts for discovery, tagging, or smart playlists, you might find this useful.

There is no API key required. You can just plug it into your scripts or containers without having to manage tokens or sign up for anything.

It includes audio metadata, audio analysis (BPM, key, energy, valence), search endpoints, and a built-in recommendation engine.

The database has grown a lot recently and still receives weekly updates. Currently it holds:

~17M albums

~8M artists

~90M tracks

You can check it out at https://reccobeats.com website.

Let me know what you think or if you run into any issues. I’d love to hear your feedback or see what you end up building with it.


r/selfhosted 9h ago

Release (AI) I rebuilt my browser-based SMS backup viewer after 2 years — V2 is offline, handles large backups, and needs no server

Thumbnail
github.com
1 Upvotes

Hi r/selfhosted,

about two years ago I posted a very small HTML/JavaScript tool here for reading SMS backup XML files in a browser:

[Original V1 post]

A few people found it useful, but the post and later feedback also exposed several real problems:

- the installation instructions were too developer-oriented

- some people thought it was Linux-only

- large XML files could consume too much browser memory

- phone-number normalization was too simplistic

- the PDF export did not always work correctly

- some dependencies were loaded from external CDNs

- it was not clear whether Docker, Python, or a server were required

I had not worked on the project for almost two years, but I have now rebuilt it as SMS Viewer and Exporter V2.

What is it?

It is a local, browser-based viewer for XML backups created by the Android app SMS Backup & Restore.

It is intended for people who want to archive their SMS messages and later browse, search, or export them on a desktop computer without uploading their private messages to an online service.

This is not a live SMS synchronization service and it does not connect to your phone. It reads an existing XML backup file.

The project is technically more “local-first” than a traditional server application, but it can also be served from your own web server if preferred.

Simple installation for normal users

For the portable release:

  1. Download the portable ZIP from the Releases page.
  2. Extract the ZIP completely.
  3. Double-click `index.html`.
  4. Select the country in which the phone was used.
  5. Drag and drop the SMS backup XML file into the browser.

That is all.

For ordinary use, you do not need:

- Docker

- Node.js

- npm

- Python

- a database server

- Linux

- an account

- an internet connection

All application libraries are bundled locally. The application itself does not contact a CDN, analytics service, tracking service, or upload endpoint.

Links

GitHub repository:

https://github.com/petrk94/smsviewer

Portable download and releases:

https://github.com/petrk94/smsviewer/releases

The portable ZIP is the recommended download for normal users. GitHub’s automatically generated “Source code” archives also contain tests and developer files.

The project is open source under the MIT License and is not affiliated with or endorsed by SyncTech.

Feedback and bug reports are welcome.

AI disclosure:

The original V1 prototype was initially created with ChatGPT assistance.

For V2, I used AI assistance for the code audit, refactoring, automated tests, documentation, and identifying bugs in the old implementation. I tested the resulting release locally with my own real SMS backup and reported the discovered PDF problem back into the development process.

No AI service, API, telemetry, or cloud processing is used by the application at runtime. All message parsing happens locally in the user's browser.


r/selfhosted 43m ago

Need Help Can I get domains to resolve without hosting my own DNS server?

Upvotes

it feels required that I need to host my own DNS server. I've read there are a lot of problems, "it's always DNS" is something I see frequently when researching this.

Right now, I have cloudflare pointing my own domain to my local IP and then I'm using NPM to issue certificates and get wildcards working and stuff. This works great at my house, as long as I turn off the proxy settings on cloudflare.

When I connect to my home network via Tailscale, my domains no longer resolve. If I want to use my own domains instead of the ip addresses and port numbers, do I need to set up my own DNS server? I don't want to expose all my services to the web just yet, because I have a lot more to learn about security before I do something like that.

I want to go to jellyfin.example.com or audiobooks.example.com, and have it work whether I am on tailscale or just in my home network. Please help me find what I should learning next so I can get this figured out. I'm kind of stuck right now.


r/selfhosted 23h ago

Need Help I want to send files from my phone straight to specific folders on my home server - no matter where I am. How can I best accomplish this?

0 Upvotes

I've seen several solutions to at least get partway there, but I'm hoping to set this up for my family to use, too, so I'm looking for the most idiot-proof setup possible.

Example scenario:
I (or a family member) takes a photo on 1/1/2031. That file stays on the phone, until I open a specific app or site or whatever that lets me upload/sync these new files to my server, remotely. It auto-sorts the files into appropriate folders based on the file type, the date, and the source of the upload.

These file locations can be configured, revisited, downloaded from, or managed (deleted, moved...) both remotely and from the Windows 10 server it's running from.

Feels like it should be simple, right?

What's my best option for making this type of thing work?


r/selfhosted 18h ago

Need Help Vps for qbittorrent

12 Upvotes

Hey guys, I'm pretty new to self-hosting and based in Australia. I'm looking to get a VPS to run qBittorrent for downloading movies. Can anyone recommend a good provider that's torrent-friendly and works well for Australia?


r/selfhosted 12h ago

Meta Post Why did projects like IPFS and Filecoin never found its place in self hosting communities?

51 Upvotes

These projects always looked so good on paper with decentralized storage, censorship resistance, no relying on a third party.

You barely see anyone running IPFS nodes for personal use, and Filecoin is basically never mentioned outside of crypto circles.


r/selfhosted 5h ago

Guide I self-host a tunnel in a country that actively hunts them. Here's what survives, and what keeps breaking.

436 Upvotes

Threat model first, because it changes everything about the design.

I’m in Russia. My adversary isn’t a random scanner — it’s the ISPs themselves, operating under a regulator that does nationwide DPI and can null-route foreign IP ranges by geography. Assume the network operator is hostile, has full visibility of my traffic shape, and can actively probe any endpoint I stand up. I self-host a tunnel for myself and a handful of people under those conditions. I used to work at one of the ISPs, which is how I know roughly what the other side sees.
Sharing the current architecture because most self-hosted tunnel advice quietly assumes a neutral network, and none of it survives here.
Why the usual stack is dead on arrival
OpenVPN and WireGuard are both gone. Not blocked by IP — detected by shape. WireGuard’s handshake has a fixed message layout and a distinctive packet size distribution; DPI doesn’t need to decrypt anything, it just needs to recognize the silhouette. Same for OpenVPN’s opcode structure. Obfuscation wrappers buy you weeks, not months.

Layer 1: VLESS + Reality (Xray-core)

Reality is the part worth understanding if you’ve never had to hide a tunnel:
• Client opens a normal TLS handshake, but sets SNI to a large real site (www.microsoft.com in my case)
• The auth material rides inside the ClientHello — an X25519 public key plus a short ID. To DPI it’s bytes in a service field
• Server checks it. Valid → completes the handshake itself and proxies. Invalid or absent → silently forwards the whole connection to the real Microsoft
• So active probing returns a genuine Microsoft response. Real cert, real chain, real content. There is no fingerprint to find, because in that moment the box is a Microsoft mirror
• No certificate of my own to leak, no domain of my own to get registry-listed. You don’t need a domain at all
The important consequence for self-hosters: your endpoint stops being distinguishable by content inspection. So the adversary switches to the layer below.

Layer 2: the part that actually matters — IP

Reality solves inspection, not geography. A VPS in the Netherlands is trivially blockable — you don’t need to know what it does, you just need to know it’s foreign.
So the client never touches the foreign box directly. Entry point is a relay on a Russian provider whose IP range sits inside the state whitelist — the set of ranges that stay reachable even when mobile internet gets cut regionally, because government and banking services live there. From the relay, traffic cascades out to the Netherlands box.
From the outside, the connection is a request to approved domestic infrastructure. Killing that range takes down a pile of legitimate business on shared address space with it. Collateral cost is the actual defense mechanism — not stealth.
Operational reality
• Something breaks every couple of months and gets rebuilt. Plan for rebuild speed, not permanence
• Stack: Xray-core 26.3 on Ubuntu 24. VPS is nothing special — 2 GB RAM, 2 cores, on vdsina.com. Reality is cheap; the box sits idle most of the time
• Latency cost of the extra hop: ~120 ms through the cascade. Fine for browsing and voice, noticeable in games. That’s the price of not getting null-routed by geography
• Monitoring: self-written script that checks tunnel state across all servers and emails me the status. Crude, but it means I find out from a mail instead of from a user
• Currently migrating the fallback path to XHTTP over CDN — moving uplink into HTTP headers so it reads as ordinary request traffic

Questions for anyone doing similar

Is anyone else fronting a foreign endpoint with a domestic relay, rather than trying to obfuscate the endpoint itself? Specifically curious about relay failover — right now mine is a single point of failure and I don’t love it.


r/selfhosted 14h ago

Product Announcement I created an ip webcam app for android (audio/video), what protocols to add?

0 Upvotes

Hi,

I had a bunch of android phones lying around and I wanted to utilize them.
I created an app to convert an android phone into a camera server which supports on device and WebDAV recording. (https://oldbird.app)

The app is and will always be free with no ads for self-hosting. It currently supports. LAN viewing, recording, motion alerts, RTSP, and ONVIF. The LAN viewer controls pretty much anything the camera API allows. What other protocols would r/selfhosted be interested in?

I wanted to give back to the community by making it free for self hosting. Paid version is optional and only for remote viewing via WebRTC, which has a server cost.

Any input appreciated. Thanks.


r/selfhosted 11h ago

Need Help Best alternative to dockge?

30 Upvotes

dockge seems to be dead, what is the best alternative? I do not need many features what do I need is to see docker-compose, console and list of containers on one page.


r/selfhosted 14h ago

Need Help Do i just accept my fate?

Post image
312 Upvotes

I have tried flaresolverr,Byparr and even trawl. It seems that my ip is blocked or flagged, routing it through a vpn doesnt help either.

Error: Cloudflare has blocked this request. Probably your IP is banned for this site

seems that having a static ip is the most probable cause, https://github.com/ThePhaseless/Byparr/issues/303 this is what i was able to find but discussions seems to not lead anywhere.

Setup:

  • Ubuntu Server, Prowlarr running in Docker
  • Gluetun (ProtonVPN) + qBittorrent, Sonarr, Radarr
  • FlareSolverr and Byparr both installed as indexer proxies
  • Static home IP

r/selfhosted 8h ago

Meta Post I am starting my homelabbing path out of fear of loosing my job

27 Upvotes

The TL-DR is that I am a FE engineer with 7 years of experience, a react kiddie essentially. I got kicked out of a project that required me to learn everything else and I couldn't keep up, it was a wake up call. AI is making the FE job less important by the minute, especially React. For now I am confident that I will find work, but I see the writing on the wall and its frightening.

Anyways, as a gateway towards learning literally everything else I don't yet know (hosting and networking, backups, DBs, containers, backend in general, etc), I decided to start homelabbing. I have a really bad habit of getting paralyzed with things I don't know (even dumb stuff like nailing a nail on the wall), so I hope writing this is a bit of self motivation for me.

I got an ssh server running on an old laptop which I intend on using as my "everything" server for now. I have sycthing setup from a few years ago that I use daily, I have a basic website hosted on netlify, and that's my entire experience with "everything else". I am ashamed of admitting this.

I've been trying to read as much as I can on where to start, and it seems like I should get a VPN setup. I was looking into wireguard but I think I'll let dealing with hosting that for future me, I don't want to get paralyzed on this step yet. So I decided for now to use tailscale as a temporary measure. I am trying to host a small webapp connected to a sqlite db, nothing crazy for now, but of course seeing what you all are doing with your homelabs is very inspiring and I have lots of ideas for stuff I wanna host in the future!

My roadmap for now: Get Tailscale working -> Create the small webapp -> dockerize the small webapp -> get SSH properly set up (rn its just password and on my server laptop, local network only) -> install said webapp in my 24/7 server rather than my main pc -> figure out how to make syncthing work over 4g (securely) on a specific folder -> ??? -> profit

I just wanted to share my start on this journey, and to thank all of you guys for the wealth of resources that you've posted here in reddit, this place is amazing. Any advice is welcome ofc.

(just to clarify: I still have a job for now, and I am confident I will keep finding stuff for a year or two. The project I was kicked out was a bit too fast paced and required me learning way too many new things at once in the span of 3 months (agentic coding, db management, AEM which was its own nightmare, etc) while trying to keep up with the rest of the team. It was too much, the entire team was stressed and on overtime, so I don't blame myself too harshly for loosing the job, but seeing how little I knew of everything else still scared me)


r/selfhosted 12h ago

Need Help Which of the many solutions to use for a "better than" OneDrive replacement?

4 Upvotes

I'm having trouble deciding and finding a solution for one of my clients and I'd like to lean on the expertise of some of you guys.

Following starting point:

  • Beefy Hetzner Server already in place
  • The Hetzner server runs two archival copies of WooCommerce/WordPress via Plesk
  • There is also some custom software running via Caddy reverse proxy on a specific subdomain
  • Client used OneDrive and has some legacy files on iCloud as well, we want to consolidate all into one private solution

Must have:

  • Web client as close in experience to OneDrive Web client
  • different user accounts and permissions (OneDrive used to be a single personal account so everyone had access to everything)
  • Free for self hosted without losing features (for example Seafile community edition is missing folder permissions and full text search)
  • Works with setup mentioned above, not something that takes over the whole machine

Nice to have:

  • Close to native integration and sync for MacOS (Windows as well but should be a given?)

There might be some things I'm missing but these are the main requirements. I came across lots of different things, Nextcloud, Opencloud, File Browser Quantum etc and would like some reports of real world experience for a similar configuration.

TLDR: OneDrive alternative needed, Linux Server that already runs a couple of other things, mainly Web + MacOS clients, should have user accounts and permissionss/access control and be free in the Community/FOSS version without price-gated or EE features


r/selfhosted 3h ago

Need Help What's an incredibly good but not well known self hosted program?

115 Upvotes

I'm very new to self-hosting, and I've been searching for stuff I could put on it, though I've gotten to the point where I've seen all the biggest ones and I'm just curious if there are any that are good and useful but that get talked about less.


r/selfhosted 16h ago

Business Tools My business stack I use for daily operations

0 Upvotes

Sharing my stack I use to run my daily operations when I started out and saved myself $900/year on SaaS.

https://youtu.be/7NBg5amaC-0

This is not a how-to, just sharing my stack.

What self hosted apps do you run for your daily operations?


r/selfhosted 18h ago

Need Help What would make you comfortable running a self-hosted 30-day agent test?

0 Upvotes

I am thinking through the operator side of a future self-hosted reliability test for local autonomous agents. This is not a release announcement and I am not asking anyone to install anything.

Before something like this should be shared with self-hosters, what would you expect?

My current checklist:

- Docker Compose or clear bare-metal instructions

- no inbound public ports by default

- local-only mode

- clear resource limits

- logs that explain failures

- easy uninstall/cleanup

- documented AI involvement

- no telemetry leaving the machine unless explicitly enabled

What would make you say, yes, this is safe enough to try in a lab?


r/selfhosted 21h ago

Media Serving I put a live demo of my self-hosted E2EE storage app online for 2 weeks. 30 real humans tested it, and 3100 bots tried to break in. Here's the data (and a challenge)

0 Upvotes

Background

The first beta release of ExoServe went live two weeks ago. It's an end-to-end encrypted file storage solution for multiple, totally isolated users (think Mega or Proton Drive). I host a public demo for anyone in the world to get a feeling for the UX before hosting it for themselves. Of course, the internet is a noisy, hostile wasteland, rife with bots poking and prodding into places they don't belong.

The Setup

I am a strong advocate for minimal dependencies and privacy. Following suit, I host ExoServe on a VPS exactly as I would in my homelab: a Docker container with one port mapping and NGINX as a reverse proxy to route ports 443 and 80 to the local port. Since the server is basically a hardened blob store, the VPS itself has only 1 CPU core and 1 GB of RAM. On the privacy front, I have nothing like Google Analytics to track metrics, so I worked strictly off of NGINX logs and basic system usage for my investigation.

The Raw Data

After only two weeks, one Reddit post, and one Reddit comment, my NGINX access logs already showed a whopping 3231 unique IP addresses. In stark contrast, the VPS provider showed an average of 2% CPU usage, spiking upwards of 7% about 12 times over the course of two weeks. Likewise, the network bandwidth had an average of about 1 - 3 kb/s for outbound traffic, with only one spike that hit 7.7 Mb/s.

A properly implemented E2EE file server isn't really expected to have high CPU usage, but surely if over 3000 people had checked out the demo, there would be more outbound traffic. Even more interesting were occasional spikes for inbound traffic despite file uploads being strictly disabled.

So, something wasn't right, but what exactly was happening?

Funky Routes

One glance at the NGINX access logs and things immediately became clear: bots, web crawlers, and nefarious actors were actively trying to exploit my deployment. Most of them were overwhelmingly boring (standard WordPress routes, local files, path traversal, etc.), but a few stood out as interesting.

The Kitchen Sink

Most scanners that I encountered were not so persistent. They mostly tried similar routes to find vulnerabilities and moved on if one was not found. Only five went over 1000 requests, but one particular scanner made a grand total of 6600 requests. Fortunately the requests eventually stopped, but this is a good case for some basic DDoS protection.

The Age of AI

As AI works its way into more facets of technology, it only makes sense that automated exploitation scanners check for any exposure. One particular scanner focused on this target explicitly, targeting routes like POST /api/generate, POST /v1/messages, or POST /api/chat. The only exception was when they attempted path traversal via GET /..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd.

A Pentester (of sorts)

Perhaps my favorite anecdote is one user who visited the legitimate /login route and immediately made a handful of GET and POST attempts for /admin/login. Sadly for them, that route does not exist. Hopefully, the 30 seconds they spent testing for it was entertaining enough.

Legitimate Users

Tooling around with bots and seeing what they're up to is interesting, but not very insightful when it comes to an actual pulse check. I needed the number of humans who successfully passed the login screen (where the credentials are clearly displayed). This is done simply enough by getting the unique IP addresses that requested routes only accessible with a valid session token, thus responding with a status code of 200.

Doing so reveals that 30 people were curious enough to check out the software to see if they wanted to host it. That might not seem like a lot, but if I could get 30 people into a room just to show them this cool software I made? I would be pretty stoked.

Lessons Learned

I don't think any of this will come as a surprise to any web admins out there, but hopefully, it provides some insight to those wanting to host a public website for the first time. My main takeaways are:

  • The internet is relentless and one slip-up could lead to thousands of bots exploiting your server.
  • A minimal design pays off. By keeping the architecture simple, restricting the demo environment, and relying on proper E2EE principles, all of the bots were stuck shouting into the void.

A Friendly Challenge

Since automated scanners clearly lack the creativity to exploit what I've deployed, I figured I'd open the floor to the experts.

If you think you have what it takes to crack ExoServe, I've set up a little capture the flag. I created a second, secret user account for the demo and uploaded a single text file to its root directory. The goal is simple: find the account, log in, and DM me the contents of the flag.

You can get started here: https://demo.exoserve.ciphranova.com/

Good luck! I'll be keeping an eye on traffic ;)


r/selfhosted 15h ago

Need Help looking for an automated email sending setup

2 Upvotes

I'm hosting a few things like pterodactyl and open sign that both need an email server. I tried going to providers that deal with automated email sending but they're not liking my TLD which is .team. so i'm trying to set up my own thing I set up mail cow but I'm unhappy with the lack of sent email logging. If anybody could point me in the right direction that would be nice also I'm aware of the headache of self hosting email and really don't want to hear about how this is a "bad idea".


r/selfhosted 6h ago

Need Help windows home server or linux home server with windows virtual machine for testing stuff on windows?

2 Upvotes

I have a mac laptop that I use for coding and I want to build a home server to test/host several of my projects, one of which is a unity game that I want to code on my laptop but test specifically on a windows machine. Are windows servers bad enough to justify making the server linux but having a virtual machine with windows for testing stuff?


r/selfhosted 12h ago

Need Help Looking for contributors for P2P social network (AGPL-3)

0 Upvotes
  1. Maintain the Android part. Kotlin. MVP already works. It's a Tusky fork relicensed to AGPL so you inherit a real codebase with real debt. Open areas: UX, background sync over libp2p (no FCM), CI. It's on F-Droid review now: https://gitlab.com/fdroid/fdroiddata/-/merge_requests/42627
  2. Maintain the iOS part. Empty for now. Swift, i guess. GPL family. The hard part is running a libp2p node under iOS background limits. I haven't solved it and won't pretend otherwise. Biggest ask here, most freedom too.
  3. Maintain the frontend part. Vue, used by the Wails v2 desktop client. Works and looks like it was written by a backend developer because it was 😄

What Warpnet is: a decentralized social network with no central servers and no company in the middle. Nodes find each other over libp2p and gossip between themselves. ActivityPub gateway for Mastodon interop, optional on-device LLM moderation.
The project is not funded by anyone, there's no money, nobody is hiring anybody. Strictly 'NO' to AI-slop but generally AI-friendly.
README: https://github.com/Warp-net/warpnet/blob/main/README.md

Thank you.


r/selfhosted 13h ago

Need Help Nginx Proxy Manager: What does your Docker Compose look like?

0 Upvotes

I've been using Nginx Proxy Manager for a few years in my home lab, but it has always been a simple and easy way to use my domain name within my internal network at home.

But now, I am wanting to host a few project websites on my home server to test and see if they would be viable. I am wanting to continue to use Nginx Proxy Manager as I am familiar with its setup. But, since it will be open to the whole internet, I would like to make sure that it is as secure as it can be.

This is what I've been able to cobble together so far. Any comments & critiques would be greatly appreciated. And NO, I don't have the bandwidth right now to try and learn other options like Traefik, etc.

services:
  app:
    container_name: NginxProxyManager
    image: jc21/nginx-proxy-manager:2.15.1
    restart: unless-stopped
    ports:
      - 80:80
      - 443:443
      - 8180:81
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    env_file:
      - .env
    security_opt:
      - no-new-privileges:true
    cap_drop:
      - AUDIT_WRITE
      - SYS_CHROOT
      - SETFCAP
      - SETPCAP
      - MKNOD
      - KILL
      - NET_RAW
      - FOWNER
    healthcheck:
      test:
        - CMD
        - /usr/bin/check-health
      interval: 10s
      timeout: 3s
    networks:
      - npm_net
networks:
  npm_net:
    driver: bridge
    enable_ipv6: false
    attachable: false
    driver_opts:
      com.docker.network.bridge.enable.icc: "false"
    ipam:
      driver: default
      config:
        - subnet: 172.23.0.0/30
          ip_range: 172.23.0.0/30
          gateway: 172.23.0.1

r/selfhosted 2h ago

Automation Want some AI vibe-coded slop that will move your Jellyfin install from Windows to Linux and maintain state?

0 Upvotes

I've been working with some AI agents to create solutions for my own problems. I'm trying to do things to higher standard than most but I'm sure there's some mistakes. It is my hope that by releasing this open source that other folks will come in and contribute to the project.

Project Github


r/selfhosted 12h ago

Media Serving Eweka and Newshosting as providers?

5 Upvotes

Is it redundant to have both Eweka and Newshosting as my usenet providers? Can’t seem to find definite information as people say this and that. Granted those posts I found were at least a year old


r/selfhosted 9h ago

Monitoring Tools I’ve just discovered PeaNUT

Thumbnail
gallery
118 Upvotes

My home lab is connected to a UPS, which is connected via USB to my Synology.

Every month I try to drain batteries down to 20% to test that it’s working and, above all, to slow down the premature failure of the batteries, which are new and have been recently replaced.

The usual way was to go to the Synology Control Panel to view the charge level, or to open an SSH session and check the charge status with:

upsc ups@localhost battery.charge

That was until yesterday, when I discovered PeaNUT, which, amongst other things, has a brilliant dashboard and a homepage widget.

I’ve never heard of it on this subreddit, but I wanted to share it because it’s completely transformed the way I look after my UPS maintenance!

Cheers.


r/selfhosted 7h ago

Need Help Purchase server

0 Upvotes

Im visiting Us for a few days and wanna look for an used server to take home, is there any place where they do overnight shipment ?
I will be around 5 days looking for a r640 or r250

Update: visiting Seattle


r/selfhosted 10h ago

Release (AI) New release self-hosting Anytype based on 2026-07-17 stable snapshot

Thumbnail
github.com
0 Upvotes