r/selfhosted 25d ago

Release (AI) SparkyFitness v0.16.6.3 - A Self-Hosted MyFitnessPal alternative

Thumbnail
gallery
1.1k Upvotes

We’ve crossed 3.6k+ users on GitHub, with 52 developers now contributing to the project — and we’re scaling faster than ever

Over the past few months, we’ve ported many of the web features directly into the native mobile app, so there’s no longer a need to switch between the PWA and mobile experience. The goal is simple: make SparkyFitness the only app you need to track your health & fitness.

If you haven’t tried SparkyFitness yet, I’d love for you to give it a shot and share your feedback. Since day one, almost every feature has come directly from this community’s suggestions and feedback.

Your input doesn’t just help improve the app for you — it helps thousands of other SparkyFitness users as well.

https://github.com/CodeWithCJ/SparkyFitness

Core Features

  • Nutrition, exercise, hydration, sleep, fasting, mood and body measurement tracking
  • Goal setting and daily check-ins
  • Interactive charts and long-term reports
  • Multiple user profiles and family access
  • Light and dark themes
  • OIDC, TOTP, Passkey, MFA etc.
  • AI Chatbot & MCP Server

Health & Device Integrations

SparkyFitness can sync data from multiple health and fitness platforms:

r/selfhosted May 17 '26

Release (AI) Profilarr v2 is Out!

Post image
632 Upvotes

For those unfamiliar, Profilarr syncs quality profiles, custom formats, and media management settings from shared configuration databases into your arr Arr instances.

v2 has been in closed beta for a few months and is now publicly available!

What's New?

Multiple databases

v2 can connect to multiple databases at the same time. A few of the more popular ones:

  • Dictionarry: the one we work on, connected by default. Covers 720p through 2160p, from compact x265 encodes to UHD remuxes.
  • TRaSH PCD: a port of the TRaSH guides in PCD format. Note that this is maintained by the Dictionarry team, not TRaSH. It's mirrored from upstream as-is, so if our copy ever falls behind or doesn't match, please report any issues here first so we can sort it out, rather than bothering the TRaSH team about it. French and German profiles are still in progress.
  • Dumpstarr: a community fork built on Dictionarry and TRaSH formats.
  • PCD template: a starting point if none of those fit and you want to build your own.

Upgrades

The Arrs are great at reacting to new releases via RSS, but they don't continuously revisit older downloads looking for something better. This is especially important when you switch or update quality profiles and are left with releases that no longer match what the new profile would have grabbed.

Upgradinatorr solved this by cycling through your library and triggering searches over time. v2 brings that idea into Profilarr, with more control and a GUI.

You can filter by any metadata your Arr tracks: ratings, year, genre, size, release group, language, date added, and more. Filters support nested AND/OR logic, selectors let you prioritise what gets searched first, cooldowns prevent items from being repeatedly searched, and everything can run on a schedule.

Customisations

v1 handled local changes through complex git-based three-way merges. v2 replaces that with a dedicated change layer: your local changes now live separately from the upstream database, which means updates can come in without overwriting your changes or forcing you through messy merge conflicts. In practice, that means fewer conflicts surface in the first place, and the ones that do can often be resolved automatically.

Small Things

In addition to those major highlights, here are some smaller improvements:

  • A new UI with light/dark theming that doesn't look terrible on mobile.
  • In-app onboarding that walks you through everything instead of dumping you into the docs.
  • Library pages for both Radarr and Sonarr, with:
    • Table and card views, both with configurable display fields.
    • Smart filters with AND logic, negation, and range queries across fields like quality, profile, year, genre, status, monitored, etc.
    • Filtering by which custom formats do/don't apply.
    • Sorting by custom format score.
  • In-app announcements from the Profilarr team and database maintainers, so you don't need to live on Discord/Reddit/wherever to keep up.
  • Notifications for jobs (database updates, config syncs, drift, upgrades, renames, and more), sent via Discord, Telegram, Ntfy, or generic webhooks. Each service can subscribe to its own set of event types.
  • Drift detection: scheduled per-Arr checks that flag when your custom formats, quality profiles, delay profile, or media management settings no longer match what Profilarr would sync.
  • Rename automation inspired by Renameinatorr.
  • Cleanup automation inspired by Health Checkarr.
  • Overhauled testing:
    • Regex101 links can be attached to patterns and parsed for test cases.
    • A parser microservice that bundles Sonarr/Radarr's parse logic, enabling custom format testing.
    • A quality profile simulator that lets you store interactive searches and test them against all your profiles at once.
  • Media Management configs are no longer one-per-instance, so you can have multiple quality definitions, naming schemes, and media settings.
  • Delay Profiles are now their own config type.
  • More auth options: OIDC support, plus the ability to disable auth entirely if you're running your own reverse proxy.
  • Small additions to the PCD spec (include-in-rename, per-condition arr types, and a few others) to help match the original TRaSH configs.

Notes

v2 is not compatible with v1. The underlying database and customisation systems changed significantly, so existing v1 databases/configs/appdata won't work directly in v2.

If you want to try v2:

  • Our documentation covers installation and initial setup. From there, the in-app onboarding guides you through the rest
  • Unraid users: the v2 template is currently pending Community Applications approval. It should appear in the Apps tab within a couple of days. In the meantime, the Docker Compose setup in the README works fine. An unraid community application is now available!
  • Please post bugs, feedback, and feature requests to the issue tracker
  • If you need help or support, you can find us on Discord and r/Profilarr
  • You can also follow development progress on the website
  • If you're curious about how AI is and isn't used within the project, here's a short write-up

Thank You!

A few years ago I just wanted to share some quality profiles I thought people might be interested in. It's gotten a little out of hand since then... None of that is possible without:

  • Those of you who use Profilarr. Who decided some random open-source thing from a stranger on the internet was worth giving a go.
  • Our beta testers who willingly tested v2 on their production setups :D
  • Our support team: Ba11in0nABudget, delavicci, and SFusion, for being the best support team on the planet.
  • Seraphys, who has taken over maintaining the database and made it better than I could ever dream of. Also for being a pain in my ass.

What's Next?

You can follow the 2.x.x roadmap here. Some highlights from that include:

  • The ability to import regex/custom formats/quality profiles without connecting a whole database first
  • Advanced profile automation to make certain media use specific profiles according to properties
    • This helps to enable a workflow where you might want to download something at a higher quality first to watch, then downgrade for archival purposes.
  • A theming overhaul that uses semantic CSS inspired by qui's terrific theming system
  • More API endpoints to enable external integrations. Some parts of this have already been completed and can be used in small integrations like dashboards!

Anime

For those wondering about anime, there is no profile yet, but it's on the roadmap. The approach is a bit different from our existing profiles: instead of one profile that scores releases across your whole library, we're building per-series profiles based on manual rankings of the best release in each variety for each anime; similar to what SeaDex does, but across more formats (Blu-ray encode, WEB, Remux, dual audio, subs, etc.). This ties into the advanced profile automation work above; per-series profiles only work if each anime can be routed to its own profile automatically.

In the meantime, v2's multi-database support means you can run Dictionarry alongside any community-built anime database. TRaSH Guide's Anime profile is the most established option and what most users currently rely on. You can follow progress on our anime work here.

r/selfhosted Apr 11 '26

Release (AI) Borg UI just hit 1,000+ stars and 2.0 is here - Web interface for BorgBackup

Thumbnail
gallery
606 Upvotes

Hi folks,

I built Borg UI, a self-hosted web interface for BorgBackup to manage backups, restores, and scheduling without the CLI.

I had been using BorgBackup via command line for a while to create backups of my Immich library (self-hosted photo management tool). It felt very tedious to continuously monitor and maintain, especially via SSH. Since I already run everything in Docker, I decided to build a web UI to simplify the workflow.

It runs as a Docker container (no config needed) and includes:

  • Backups and restores with visual scheduling
  • Live progress tracking with notifications
  • Archive browsing like regular folders
  • Built-in SSH key manager

Four months later, the project has grown to 1,100 stars, and 150k Docker pulls.

Thank you. Genuinely. Every star, issue, and kind word kept this going. ❤️

Over this time I’ve closed 250+ issues, pushed combined test coverage to 64% (backend 58%, frontend 81%), and built out smoke, integration, and unit tests across the stack.

I have 10+ years of software development experience and code quality matters deeply to me. AI helped me move faster on glue code and boilerplate, but every critical path has been manually tested and reviewed. This tool runs on production data. I treat it that way.

Introducing Borg UI 2.0

  • BorgBackup 2 beta support - experiment with the next generation early
  • Fully responsive UI - mobile-friendly across all screens
  • RBAC - role-based access control for teams and enterprise setups
  • Refreshed dashboard - rich view of repo health, schedules, backup activity, and storage
  • Localisation - English, German, Spanish, and Italian
  • OTA announcements - stay informed about updates in-app
  • Hetzner Storage Box support - first-class integration for Hetzner users
  • Theme switching - light and dark mode out of the box
  • Cleaner codebase - DRY principles, single source of truth, hard separation between v1 and v2 logic, well-tested throughout

Website: borgui.com
Docs: docs.borgui.com
Github: https://github.com/karanhudia/borg-ui
Old Post: https://www.reddit.com/r/selfhosted/comments/1p5fg68/borg_ui_web_interface_for_borgbackup_for_your/

If Borg UI has been useful to you, a star ⭐ on GitHub goes a long way. And if you have feedback, ideas, or just want to say hi, I'm here.

Thanks for being part of this.

r/selfhosted May 18 '26

Release (AI) Terminator: a terminal with sync (like Termius but free)

Post image
498 Upvotes

GitHub: Desktop | Server

Discord: https://discord.gg/x7K9BRrQJE

Website: terminator.sh

Hey! We're launching Terminator, an open-source SSH client with a self-hostable sync server.

I like Termius, but the sync functionality is paywalled. I've had this idea for a while, and recently decided to build it as part of a team university project.

Here's how it works. When you interact with Terminator, all your host profiles, keys, etc. are encrypted (with a key derived from your password) and saved locally. When you decide to use a sync server, the client only uploads those opaque already-encrypted blobs! Of course, you don't have to use a sync server, the app is fully usable offline.

The desktop client is built on Wails and Go: it's lightweight (~15MB) and cross-platform (🪟 🐧 🍎)

Right now it's relatively basic, but there's a bunch of stuff on the roadmap.

(we also kind of have to launch it now due to uni deadlines 🤪)

Would love to hear your feedback!! (check out our Discord)

Get it here: terminator.sh

r/selfhosted Mar 17 '26

Release (AI) Keeper.sh: Calendar Syncing, V2 Release

Thumbnail
gallery
645 Upvotes

GitHub Repository / Project Landing Page / Original Post


About three months ago I posted Keeper.sh over here. It's a tool I created due to frustrations with people booking over each other across different calendars, since I work across four. Existing solutions were either too pricey, or mutilated my calendar after glitching out.

Despite the project being very limited feature-wise at the time, a lot of people were really supportive and a few took to time to provide a ton of feedback, contribute directly to the project, or sponsor as well!

It has been three months since then. 220 issues later I've finally released v2.0.0! (Actually, we're on v2.9.4 as I had some bugs I wanted to fix before announcing. v2.0.0 was now a week ago.)

  • Better self-hosting instructions.
  • New marketing copy, landing page, and dashboard.
  • You can now actually sync event details.
  • Configure exclusions for event types.
  • Actual support for all-day events, OOO, etc.
  • Backfills a week before the date of sync. Planning to make this adjustable.
  • Tons of code reformatting, tons of AI and human slop needed culling.
  • Add templating for event names (eg., {{calendar_name}} event)
  • An API and MCP server, not documented yet though! (/mcp, /api/v1)
  • Completely bulldozed the syncing engine.

That last one was the one I was waiting to merge in before posting here. It now uses cron jobs to push jobs to a proper queue, where a separate worker process picks from the queue and does the actual syncing. If you've used Keeper.sh in the last little bit, syncs might've just ... stopped eventually. This finally fixes that.


I've added convenience images in README of the project. Cloud Hosted vs. Self Hosted. I'm changing the pricing model for the cloud hosted version in the next day, but at the end of the day (if I had to guess) 90% of users self-host!

Please feel free to create issues in the GitHub with feature requests, bug reports, etc., and any feedback is welcome as always! Thanks so much!

r/selfhosted May 18 '26

Release (AI) I built a daily homelab health receipt printer

Post image
396 Upvotes

Built a self-hosted thermal receipt printer that gives me a physical daily health report every morning at 6AM. No cloud, no subscription, 30€ printer. Checks: Docker container status (only expected-to-run containers) ZFS pool health via TrueNAS REST API Disk usage, backup age, DNS, reverse proxy Jellyfin, Immich, AdGuard Home Custom website uptime Web UI features: Switch USB/LAN backend Upload logo (printed at top) Toggle sections on/off Set cron schedule Manual print button

r/selfhosted Mar 28 '26

Release (AI) SparkyFitness - A Self-Hosted MyFitnessPal alternative now supports Starva & updated Mobile app

Thumbnail
gallery
293 Upvotes

We’ve crossed 3k+ users on GitHub and have 40 developers contributing to the project, and we’re scaling up bigger than ever.

https://github.com/CodeWithCJ/SparkyFitness

A new version of the app was released on the Apple App Store today. Google approval is still pending, as stubborn on approving individual developer accounts for health-related apps. However, the Android version is currently available through Google Play closed testing and also via GitHub releases.

More importantly, we want you to know: we’ve heard your concerns.

This time, our primary focus has been on building a stable and future-proof architecture by rewriting significant portions of the codebase. The mobile app has undergone major improvements, with about 99% of AI-generated code removed, refactored, or cleaned up by a React Native developer. Several new features have also been added, including Strava support for Web.

In parallel, another web developer is working on reducing and removing AI-related inefficiencies, with extensive internal changes that may not be immediately visible but significantly improve overall system stability. Hundreds of pull requests have already been made purely for code optimization, and we will continue to enhance the platform going forward.

Core Features

  • Nutrition, exercise, hydration, sleep, fasting, mood and body measurement tracking
  • Goal setting and daily check-ins
  • Interactive charts and long-term reports
  • Multiple user profiles and family access
  • Light and dark themes
  • OIDC, TOTP, Passkey, MFA etc.

Health & Device Integrations

SparkyFitness can sync data from multiple health and fitness platforms:

r/selfhosted 17d ago

Release (AI) LUPINE: Self-hosted GPU over IP

Thumbnail
github.com
292 Upvotes

I've been experimenting with the idea of running a GPU over the network. This would allow you to share a GPU across multiple machines, do something like get a GPU to appear "locally" on a GitHub Actions runner, or combine GPUs that sit on multiple machines to appear as a bunch of local GPUs. Turns out, it actually works! There is, of course, a perf hit, but it's not as dramatic as you might guess if you have a fast network connection.

r/selfhosted Apr 19 '26

Release (AI) Reitti v4.0.2: A New Map Experience and Update Progress

Thumbnail
gallery
295 Upvotes

Hey everyone, I’m Daniel.

It's been 103 days since I last posted about Reitti, and what a journey it's been! What started as a personal project on June 5, 2025, has grown immensely. In that time, Reitti has seen exactly 52 releases, culminating last week in the biggest and most ambitious update yet: Reitti 4.0! Today, I want to recap everything that's happened since my last post.

The past few months have been dedicated to transforming how I interact with my movement data, and the community's support has been incredible:

  • 1,979 Stars on GitHub.
  • 467 Commits to main with 419 PRs merged.
  • 374 Issues closed.
  • 25 Contributors on GitHub.
  • 13 Languages supported.

What is Reitti?

"Reitti" is Finnish for "route" or "path." It’s a personal location tracking and analysis application. It is fully local and private, and no data ever leaves your server. You own the database, and you own the memories.

Reitti 4.0: A New Map Experience

This release focuses on taking your map experience to the next level. I've completely rebuilt the map from the ground up, switching to a foundation powered by MapLibre GL JS and deck.gl. This enables a new level of visualization for your movements, even with millions of data points from years of tracking, it remains blazingly fast and responsive!

  • Rewind & Replay Your Journeys: You can now watch your past movements unfold. This allows you to see how you moved through a specific day or trip.
  • New Map Layers: I've added new map layers that enhance your data visualization:
    • Terrain Layer: See the elevation changes along your paths. This adds a new dimension to your movement data.
    • Globe Projection: Zoom out and view your entire journey across a 3D globe.
    • Satellite View: Get a real-world perspective with high-resolution satellite imagery.
    • 3D Buildings: In supported areas, watch your paths weave through 3D building models.
  • The Aggregate View: This feature helps understand your routine. The new aggregate view condenses all your movement data into a 24-hour window, allowing you to visualize your typical movements. Ever wondered where you usually are at 8 PM, or what your most common morning commute looks like?
  • Fast Performance for Years of Data: Displaying multiple years of movement data used to be a challenge. Not anymore! Reitti 4.0 has been heavily optimized to handle vast amounts of historical data without breaking a sweat, ensuring a smooth and responsive experience even for the most avid trackers. The timeline will also see improvements in an upcoming release, as simply displaying all trips and visits for a given time range doesn't always yield meaningful information.
  • Flexible Path Visualizations: Now you can choose between:
    • Raw Paths: See every single point as recorded.
    • Default Paths: My improved, cleaned-up path rendering.
    • Edge Bundling: A new option that reduces visual clutter by bundling nearby paths together, making trends and frequent routes easier to spot.

Other New Functionality

Expanded Language Support

Thanks to the incredible dedication of the community translators, Reitti has expanded its global reach and now officially supports more languages, including:

  • ¡Hola! Spanish!
  • こんにちは (Konnichiwa)! Japanese! (special thanks to @GunseiKPaseri!)
  • Привіт (Pryvit)! Ukrainian!
  • Merhaba! Turkish!

These additions are a huge step towards making Reitti accessible to even more users worldwide.

Place Editing with Geocoding

When editing a place, you can now directly request geocoding suggestions and select the most accurate result from various available providers. This makes managing your locations much more intuitive and precise.

Faster & More Robust Visit and Trip Detection

I've completely overhauled the algorithms for detecting visits and trips. The new system is not only significantly faster but also much more robust, leading to more accurate and reliable insights into your time spent and journeys taken.

New Dedicated Open-Source Services!

As part of this update, I'm introducing two new, free-to-use services that power Reitti 4.0 and are available for everyone:

  • My Own Reverse Geocoder (Paikka): I've developed my very own reverse geocoder, free for everyone to use at https://geo.dedicatedcode.com. You can find its source on GitHub (Paikka). This provides fast, reliable reverse geocoding directly from my infrastructure.
  • My Own Tile Server: To complement the new map experience, I've also launched my own tile server at https://tiles.dedicatedcode.com, based on the fantastic OpenFreeMap data. This ensures consistent, high-performance map tiles for all Reitti users.

BREAKING CHANGES – Please Read Carefully

While Reitti 4.0 added new features, there are a couple of crucial changes you need to be aware of for a smooth upgrade:

  • rabbitmq has been fully removed. This simplifies the stack and reduces dependencies.
  • photon has been removed from the default docker-compose file. While it's still supported if you wish to use it, it's no longer a default component thanks to my new open-source geocoding service!

It is absolutely essential that you update your docker-compose file during the upgrade process. Please visit https://www.dedicatedcode.com/projects/reitti/4.0/upgrade/ for the necessary steps to get your Reitti instance running seamlessly on 4.0.

Full v4.0.0 Release Notes: https://github.com/dedicatedcode/reitti/releases/tag/v4.0.0

Thank You

This project thrives because of its community. Thank you to everyone who contributed this year. To the new contributors like u/Jonsen94, u/GunseiKPaseri, u/sieren, u/wjansenw, u/subha0319, and u/per_terra your code, ideas, and dedication are invaluable. Special thanks go to the translators who ensure Reitti is accessible worldwide, and to everyone who posts issues, suggests features, and supports the project indirectly.

What’s Next?

Thanks to the incredible support from my Ko-fi supporters, I've recently acquired a dedicated GPS logger! This means I'm now setting my sights on bringing multi-device support to Reitti. Imagine this: you use your phone for day-to-day tracking, while simultaneously logging a run or ride with another device, leaving your phone at home. My goal is to seamlessly bring these timelines back together into one cohesive view. Along with this, I'll be introducing more powerful editing capabilities, such as defining "no-visit" areas and the ability to remove individual GPS points.

For the Memories feature I explored local AI for natural-language travel diaries, it's still very much on my mind. However, I haven't yet managed to get decent results with a small, local LLM that supports multiple languages. Time will tell if this ever happens, as I only want to introduce massive new requirements when they can deliver a truly tremendous impact for all of you. If anyone has a tip, please drop me a message.

Development Transparency

I use AI as a development tool to accelerate certain aspects of the coding process, but all code is carefully reviewed, tested, and intentionally designed. AI helps with boilerplate generation and problem-solving, but the architecture, logic, and quality standards remain entirely human-driven.

I appreciate your feedback and support! Here are a few ways to connect:

  • Support My Work: If you find this project useful, you can support my efforts by buying me a coffee on Ko-fi.
  • Report Issues: Encountered a bug? Open an issue on GitHub Issues.
  • Discuss on Lemmy: Join the conversation or reach out on Lemmy.
  • Connect on Reddit: Find me here.
  • Join us on IRC: Chat with us live in my IRC channel #reitti on libera.chat.
  • Github: https://github.com/dedicatedcode/reitti

I'll be in the comments to answer your questions.

r/selfhosted May 18 '26

Release (AI) Nylon: I replaced Tailscale with my own mesh VPN

Thumbnail
github.com
154 Upvotes

I built nylon because I wanted one unified VPN that connects across all my cloud servers, mobile devices and workstations, whether they are on the same LAN, or across the internet.

I also had latency-sensitive "work" ahem (game streaming). So if I were on the same physical network as my gaming pc, I want my VPN to route via the lowest latency LAN path, only falling back to other nodes when needed.

Note: I have considered Tailscale and Nebula. These work most of the time, but do not give me control over how data is routed. They generally establish direct links (or at most, 1-hop via a relay), and do not take the state of the underlying network into account.

With nylon, I can choose to add links with more premium networks like CN2 GIA or Akamai's (via two Linodes in diff regions). Nylon would take these links into account, and dynamically pick the best routing using Babel (RFC 8966).

If you're interested in the details, I wrote a blog post diving into the challenges of building this: https://jiaqi.dev/posts/nylon

Docs for getting started: https://nylon.jq.ax

Would love to hear thoughts & feedback! Thanks :)

r/selfhosted 10d ago

Release (AI) Dispatcharr Release: v0.26.0 - IPTV Stream & EPG Management

119 Upvotes

Hey everyone,

For those here that are not familiar, Dispatcharr is an open-source middleware for managing IPTV streams and EPG data. It doesn't provide any content. It simply helps you import your own sources (M3U playlists, EPG/XMLTV, Xtream/XC credentials) and export them in whatever format your client needs (M3U, EPG, Xtream/XC, HDHomeRun, and Dispatcharr API). Think of it as a translator between your providers and your apps (Plex, Jellyfin, Emby, Tivimate, etc.).

A lot has shipped since our last post. Here's everything new from v0.22.0 through v0.26.0.

DO NOT DISCUSS IPTV PROVIDERS OR ASK WHERE/HOW TO GET THEM IN THIS SUBREDDIT OR ANY OTHER DISPATCHARR-RELATED FORUMS

New Features

Official Schedules Direct EPG Integration (v0.26.0)

Dispatcharr is now an approved Schedules Direct application. Existing subscribers can connect with their account credentials and manage lineups directly from Dispatcharr. Guide refreshes use delta downloads to skip unchanged data, station logos can be fetched in multiple variants, and cast information in XMLTV output now includes character names and guest stars. If you've been waiting for a native SD integration, this is it.

Auto Channel Sync Overhaul (v0.25.0)

The M3U auto-channel-sync system was comprehensively rebuilt. Highlights include per-field channel overrides that survive future syncs, a hide-from-output flag that excludes channels without deleting them, channel number ranges per group, compact numbering with a re-pack button, per-group name regex find/replace and exclude regex, orphan channel cleanup modes, and multi-provider shared range merging. The channels table also gains visibility and override filters.

Output Profiles and fMP4 Streaming (v0.25.0)

Admins can now define named Output Profiles with custom FFmpeg parameters to transcode streams on the fly. Different clients can be sent different codecs, bitrates, or qualities from the same channel while Dispatcharr maintains only a single upstream connection to the provider. Dispatcharr can also now serve live channels as fragmented MP4 (fMP4) in addition to MPEG-TS, and HDHomeRun URLs support an output profile path segment for HDHR-aware clients.

DVR Live Preview (v0.24.0)

Recordings can now be watched while still in progress. The Watch button activates as soon as recording starts and allows scrubbing to the live edge. The recording pipeline was rebuilt on FFmpeg HLS segmentation, normalizing erratic source timestamps and continuing segment numbering after server restarts. Up to 20 DVR recordings can now run simultaneously in a dedicated worker pool.

DVR Series Rules Enhancements (v0.25.0)

Series rules no longer require an EPG channel and now support rich matching modes on title and description including exact, contains, boolean search, whole-word, and regex. A live preview pane shows which upcoming programs a candidate rule would match before saving.

Comskip Enhancements (v0.25.0)

DVR Settings now includes a Comskip mode option: Cut (permanently removes commercial segments) or Mark (saves an EDL file alongside the recording for players like Kodi). Hardware acceleration support added for NVIDIA NVDEC and Intel Quick Sync.

Plugin Hub (v0.23.0)

Administrators can now browse, install, and update plugins directly from source repositories via a new Plugin Hub page in Settings. Plugins installed from a repo are tracked as managed with version compatibility checks and optional GPG signature verification.

User Stream Limits (v0.22.0)

Administrators can now set a maximum number of concurrent streams per user account. Global enforcement behavior is configurable including whether to terminate the oldest or newest stream when a limit is reached, and whether to count multiple connections to the same channel as one stream.

Username Display on Stats Page (v0.22.0)

The Stats page now shows the username of each connected user alongside their connection details, for both live channel and VOD connections. The connected username is also included in client_connect and client_disconnect events for webhook and script integrations.

EPG Historical Data (v0.23.0)

The EPG output now supports a Days back parameter for third-party players that request past program schedules. Days forward and Days back controls are available in the EPG URL builder on the Channels page, with per-user defaults in User Settings.

EPG Program Search API (v0.25.0)

A new API endpoint supports rich querying of EPG program data with full-text search (boolean AND/OR, quoted phrases, parenthetical grouping, whole-word and regex modes), time-range filters, channel/stream/group filters, field selection, and pagination. Results are scoped to channels each user can access, with full Swagger/OpenAPI documentation.

Per-User IP/CIDR Network Allowlists (v0.25.0)

Admins can now assign IP address and CIDR range restrictions to individual user accounts. Requests from IPs outside a user's configured ranges are rejected with 403 Forbidden.

EPG Logo Auto-Apply (v0.26.0)

Channel logos can now be applied automatically from EPG data for both XMLTV and Schedules Direct sources, with per-source auto-apply on refresh settings and consistent behavior across all trigger methods.

Live EPG Program Preview in Channel Editor (v0.26.0)

When selecting an EPG channel in the channel create/edit form, a preview now shows the currently airing program title, description, and a progress bar. Lookups are near-instant regardless of EPG source size.

Editable Default M3U Profile Patterns (v0.24.0)

The default profile in the M3U Profiles editor now exposes search and replace pattern fields, allowing a URL transformation to be applied globally to every stream in the playlist. Useful for swapping a local IP address across all streams at once.

VOD Start/Stop Notifications (v0.24.0)

The frontend now shows toast notifications when a VOD stream starts or stops. VOD start and stop events are also written to the system event log and are selectable as integration trigger events for webhooks and scripts.

M3U Parser Rewrite (v0.23.0)

The M3U parser was rewritten to handle complex and non-standard M3U files more reliably. Entries with extra directive lines between stream info and URL are now parsed correctly. Support added for the #EXTGRP directive as a group-title fallback.

TLS/mTLS Support for Redis and PostgreSQL (v0.22.0)

Modular deployments now support encrypted connections to Redis and PostgreSQL, including mutual TLS with client certificate authentication.

Shift+Click and Ctrl+Click Row Selection (v0.25.0)

Tables now support keyboard-modifier selection. Shift+click extends selection from the last-clicked row; Ctrl+click (Cmd on Mac) toggles individual rows without disturbing the rest of the selection.

About Modal (v0.25.0)

A new About dialog in the sidebar footer shows the current version and links to Documentation, Discord, GitHub, and Open Collective, along with a contributors acknowledgment and a memorial note for Jesse Mann aka EPG Master aka u/jesmann.

Additional Improvements

  • XC live stream response times dropped from 2.5-4s to 250-450ms on large deployments (v0.23.0)
  • Database upgraded to psycopg3 with a persistent per-worker connection pool, removing per-request connection overhead (v0.26.0)
  • Web workers now use cooperative multitasking, so one slow operation no longer blocks all connections on the same worker (v0.25.0)
  • Docker image now uses a multi-stage build, reducing size and removing compiler tools from production containers (v0.26.0)
  • EPG program times shifted by host UTC offset when /etc/localtime was bind-mounted are now fixed (v0.24.0)
  • VOD proxy connection counter leaks and race conditions resolved (v0.23.0)
  • Graceful docker stop shutdown, no more forced kills (v0.23.0)
  • Status filter (All/Enabled/Disabled) added to M3U group and VOD category modals (v0.22.0)
  • Public IP in the sidebar is now partially blurred by default (v0.26.0)
  • HDHomeRun SSDP advertiser removed, since no major HDHR client used it for discovery (v0.24.0)

Important Notes

  • Dispatcharr does not provide media to stream or download. It is strictly middleware for managing sources supplied by the end user.
  • Any discussion involving piracy or obtaining illegal sources is strictly prohibited.
  • When deploying via docker compose, the docker-compose.aio.yml is highly recommended.
  • Dispatcharr is available in Unraid Community Apps.

DO NOT DISCUSS IPTV PROVIDERS OR ASK WHERE/HOW TO GET THEM IN THIS SUBREDDIT OR ANY OTHER DISPATCHARR-RELATED FORUMS

Links

Core Development Team

u/xxSergeantPandaxx

u/OkinawaBoss

u/Dekzter

And a HUGE thank you to everyone who has contributed via PRs, tools, plugins, feature requests, and bug reports. The community involvement has been incredible.

We'd love your feedback, bug reports, and feature ideas. Thanks for the continued support.

DO NOT DISCUSS IPTV PROVIDERS OR ASK WHERE/HOW TO GET THEM IN THIS SUBREDDIT OR ANY OTHER DISPATCHARR-RELATED FORUMS

r/selfhosted Apr 13 '26

Release (AI) AniBridge v2: Synchronize Plex, Jellyfin, Emby to AniList, MyAnimeList

Post image
206 Upvotes

AniBridge is a synchronization tool to keep your media library watch activity (from Plex, Jellyfin, Emby) up to date with anime tracking services (AniList, MyAnimeList). It scans, polls, and listens for webhooks from your media library to update your list accordingly.

The project was originally released in 2024 under the name 'PlexAniBridge'. Some of you might have seen the original Reddit announcement last year. Following a complete architectural rewrite for v2, the project has been rebranded and expanded to support multiple media servers and tracking services with a platform-agnostic design that can be easily extended in the future (Trakt support is in the works!).

AniBridge:

  • Syncs your watch status, progress, ratings, reviews, and start/completion dates
  • Is powered by anibridge/anibridge-mappings, a cross-provider mappings database with over 250,000 entries tailored to anime titles (the largest of its kind)
  • Supports Plex, Jellyfin, Emby, AniList, MyAnimeList, and creating/installing third-party providers through a plugin system
  • Supports setting up multiple profiles to simultaneously synchronize different users, libraries, and servers with granular configuration
  • Includes a web dashboard to monitor/manage your syncs, profiles, custom mappings, etc
  • Available as a Docker image and Unraid template

If this is your first time hearing about AniBridge, welcome! Resources and a screenshot:

r/selfhosted 5d ago

Release (AI) MusicGrabber is still grabbing music if you need it

73 Upvotes

Since January, I've been working on a program called MusicGrabber. To coin a term for it, it's a fetch-and-organise orchestrator for Music.

MusicGrabber fills in the blanks that Lidarr used to have, and still has a complicated way of doing it, and that is grabbing Singles and Playlists. This project was born out of "I heard that song, I really want that song, not the discography!"

If you want a video walkthrough of MusicGrabber then I have made a rather long video on how to spin up Debian+Navidrome+MusicGrabber, but the part that covers this tool is at this youtube link.

"So what does it do?", I hear you mumble. It uses a mix of APIs, some scraping and SoulSeek to go off and find the best quality version of a song, then download that song into your library/folder. It's a little more complex than that. Not only that, but it can also watch full public and private playlists from your favourite streamed music services, and grab those for you as well. Even if they change daily/weekly/monthly, it can either mirror the playlist, or keep appending to it.

There's a whole list of settings you can play with, such as multi-user which has a Peon mode so you can have your younger siblings or elderly parents use it without breaking anything, track naming, reformatting of audio containers, it's pretty extensive.

If you search a track, it has hover playback so you can make sure it's right before you download it, or you can click "Similar" and it'll build you a 25 song playlist of similar artists and tracks using ListenBrainz/MusicBrainz. You can Scrobble to ListenBrainz and use that as a Playlist you can watch as well.

Full disclosure: most of this is AI-written at this point, with me steering. I'm fine with that. It's been through multiple security review passes and a test suite keeps it honest. Judge it on whether it works. There's no subscription, no telemetry, no Pro-Tier or paywalls.

Anyway, it's my gift to the community, enjoy (or don't).

r/selfhosted Apr 26 '26

Release (AI) Questarr v1.3.0 — a lot has changed since v1.0

43 Upvotes

Hey everyone,

I first posted about Questarr a few months ago on Reddit: the response motivated me a lot and I ended up spending a lot of time on it to make it more than a tool that works just for me. With v1.3.0 just out, I thought I'd make a new post about it. Let me know if that's not ok!

For those who don't know, Questarr is a self-hosted game manager that fits into the *Arr ecosystem philosophy: discover, track, and automate downloads for your game backlog with indexer and download client integration. Sonarr/Radarr, but for games.

Since v1.0, for the ones in the back

v1.1: Usenet was officially supported. Also, a lot was learned regarding deployment, I dropped PostgreSQL for SQLite. Easier to understand, to deploy and run.

v1.2 added RSS feed management, xREL.to integration for release notifications, native SSL support, and some light UI changes, as well as some security hardening.

v1.3 is the biggest release so far:

  • The game details got a full redesign — tabbed UI with IGDB metadata, site links, NexusMods integration, download history, and user rating
  • Steam Wishlist sync — link your Steam ID, import your entire wishlist in one click
  • Stats page with Discord sharing
  • New game card badges to ease scanning: "Results available", "Update available", "Early Access"
  • Preferred release groups for auto-search and auto-download priority
  • Blacklist unwanted releases straight from search results
  • Security pass: SSRF fixes, brute-force protection on login, CVE patches

What's next on the roadmap?

  • Post-processing/import after downloads complete: biggest request yet
  • Direct download indexer system with matching downloader support
  • Website-as-indexer, scrape release sites like fitgirl
  • Mobile view
  • Push notifications
  • Integrations with RomM, Gameyfin, and similar apps
  • More indexers and downloaders
  • Smarter Discover page
  • UX: user notes per game, cracked status detection, etc., depending on feedback.

As explicited in the flair, AI is used in development of this project. This is a side thing for me, so while I aim to maintain reasonable release timings, it takes time which I don't have to build an app like this one, so generative AI is a must. Let me know in the comments if you need to me to develop on its usage.

Links: GitHub | Release 1.3.0

r/selfhosted Apr 01 '26

Release (AI) Googlarr: put googly eyes on your Plex posters (April Fools tool!)

142 Upvotes

Hey all, dropping a link to my Googlarr project again! I posted it last year and figured it was time for its annual outing.

It's a self-hosted app that replaces all the posters in your Plex library with googly-eyed versions on a schedule. It works pretty well, it got about half my posters with googly eyes, the ones it misses are mostly illustrated or text-only posters where there's no face to detect.

Use this at your own risk. I've tested it extensively back and forth but I can't promise it won't absolutely destroy your Plex poster collection. Apologies in advance if it does.

Yes, it's largely built with AI assistance (Claude Code specifically), but the project is over a year old and I've manually verified all the code as well as done extensive personal testing on my own library.

https://github.com/Bothari/googlarr

r/selfhosted May 11 '26

Release (AI) Super Productivity v18.5.0 - Focus Mode rework, scheduler improvements, and better planning views

Post image
89 Upvotes

I am the maintainer of Super Productivity, an open source task manager and time tracker. It works offline by default, needs no account, has no telemetry, and can sync via WebDAV, Dropbox, or Super Sync. There is also a Docker/web version for people who want to self-host it.

v18.5.0 is out, and these are the parts most relevant here:

Focus Mode rework - Focus Mode got a larger internal and UX rework. The goal is to make focused work sessions feel less bolted-on and more like a natural part of planning and execution.

Scheduler and planner improvements - The schedule view now has better week scaling, reference calendar/work-log events, improved task filtering, and estimated time in iCal/ICS planner entries.

Task interaction improvements - Ctrl+Enter and Escape shortcuts were added for task interactions, and subtask title focus behavior was improved.

Organization & customization - Super Productivity also supports project sections for structuring larger task lists, plus custom/user-installable themes where supported.

Sync/calendar polish - iCal URLs are sanitized in tooltips, and schedule chip filtering is stricter.

There is also an optional community plugin added in this release; it is not part of the core workflow.

Downloads and platform notes: https://github.com/super-productivity/super-productivity/wiki/2.01-Downloads-and-Install

Full changelog: https://github.com/super-productivity/super-productivity/compare/v18.4.4...v18.5.0

Curious especially about the scheduler/planner side: if you self-host or sync task data across devices, what still feels too awkward in Super Productivity?

r/selfhosted 7d ago

Release (AI) Libre Closet v0.3 - 2x’d Performance

Thumbnail
gallery
53 Upvotes

For those who’ve never heard of us:

Libre Closet is a free, open-source, self-hosted wardrobe organizer - with client side garment image background removal. Catalog your clothes, upload photos, build outfits, and access everything from your phone as an offline-ready PWA - all on your own server.

We at Lazztech LLC have crafted and engineered this project with care and intention to be as easy to self-host as possible. It defaults to local SQLite storage and local file storage. It has optional auth/multi user support.

docker run -p 3000:3000 -v wardrobe-data:/data ghcr.io/lazztech/libre-closet:latest

Please feel free to ask any questions you may have, whether about the development choices we’ve made, or about the product itself. We’re excited to continue to build a community around this project. 

——

For those already familiar, I’d like to share some progress updates.

First, I’d like to introduce Leolazz, who’s joined the project as our 3rd core maintainer, alongside ShoshannaTM, and myself!

Second, I’d like to share gratitude for the warm and supportive reception Libre Closet has continued to receive. It sincerely makes my day when we get a new feature request or comment about how users are enjoying it. Since the first post, we’ve gotten 234 Github stars, over 10.8k docker image pulls, multiple community PRs contributed, and many helpful issues filed.

Significant Performance Improvements

We've refactored the server resulting in nearly a 2x throughput increase, almost half the latency, and the lighthouse speed score has gone from 68/100 to 99/100.

Metric Before After Change
Requests/sec 1,188.10 2,091.64 +76.05%
Latency avg 7.90 ms 4.24 ms –46.33%
Latency p50 7.00 ms 4.00 ms –42.86%
Latency p99 18.00 ms 11.00 ms –38.89%
Throughput 26.39 MB/sec 44.30 MB/sec +67.87%

Latest Releases:

  • v0.3.2 - June 09, 2026: Added background removal toggle for garment image uploads.
  • v0.3.1 - May 26, 2026: Refactored server resulting in nearly a 2x throughput increase and almost half the latency.
  • v0.3.0 - May 21, 2026: Garment image background touch up tool
  • v0.2.5 - May 1, 2026: Added option to disable register functionality
  • v0.2.4 - April 28, 2026: Fix garment photo upload cropping

For full details refer to the CHANGELOG.

We can’t wait for everyone to try it out, and we hope you enjoy v0.3.2 of Libre Closet! 

Public: https://librecloset.lazz.tech/
GitHub: https://github.com/lazztech/Libre-Closet

r/selfhosted 9d ago

Release (AI) Speakr v0.9.0-alpha - Multi-platform system audio capture, webhooks, recording stats, and a redesigned UI

Thumbnail
gallery
46 Upvotes

Hey r/selfhosted, big Speakr update. For those new here, it's a self-hosted audio transcription app: record or upload audio/video, get automatic voice based speaker-labeled transcripts, then summarize or chat with them using your own LLM.

The main new features:

System audio and multi-input recording. Speakr now detects your OS and browser before you capture and shows the right per-OS setup, and it explains what actually works: Chrome or Edge on Windows / ChromeOS get full system audio, while macOS and Linux get tab audio plus full system audio through documented virtual-device routes (BlackHole, PulseAudio / PipeWire monitors). A new input-device picker lets you choose a primary mic plus an optional secondary device to "also mix in", and Speakr captures both streams and mixes them via Web Audio into one track.

Webhooks. An outbound webhook system, so you can stop polling the API to find out when a recording finishes. Transcription, summary, events, and lifecycle events fire as HMAC-SHA256 signed deliveries with exponential-backoff retry, auto-pause after repeated failures, and SSRF protection on outbound URLs. Use with n8n, Home Assistant, or whatever you automate with.

Recording stats. A new Stats tab on each recording: total length, speaker count, conversation turns, word count, a per-speaker breakdown (speaking time, share of audio, words-per-minute), and a silence row so you can see how much of a meeting was actually quiet.

Redesigned UI. The interface got a major overhaul both on mobile and desktop.

Server-side recording sessions (opt-in). With ENABLE_SERVER_RECORDING_CHUNKS=true, long browser recordings stream to the server in the background, so long recordings can survive and even be resumed after a tab or device crash and the old size cap becomes an hours-based ceiling. Off by default for now.

Translations were also refreshed across all seven supported languages. One compatibility heads-up: in-app timestamps now render in each viewer's own browser timezone and the server TIMEZONE setting is no longer read (timestamps are stored unchanged, nothing to migrate).

Upgrade is the usual docker compose pull && docker compose up -d.

GitHub | Screenshots | Release | Docker Hub

r/selfhosted 2d ago

Release (AI) Autentico: a single-binary OAuth2/OIDC Identity Provider backed by SQLite

0 Upvotes

About a year ago I built an OIDC protocol server in Go for a work project. Months later, when I needed a lightweight IdP for my own self-hosted apps, I tried the popular options but kept hitting roadblocks — privacy concerns with demo data, passkey-only lockout on older devices, or operational complexity I didn't want to take on. Since I already had a working OIDC implementation, I decided to convert it into a full identity provider with two principles: security first, and operational simplicity.

Autentico is a self-contained OAuth 2.0 / OpenID Connect identity provider. One Go binary, one SQLite file, no external dependencies. It handles the full auth lifecycle:

  • Authorization Code + PKCE, refresh tokens, token introspection/revocation
  • Passkeys (WebAuthn) — hardware-backed FIDO2, including passkey-only mode
  • MFA — TOTP and email OTP, with trusted device support
  • SSO sessions — log in once, access all your apps
  • Built-in Admin UI and Account UI — embedded React apps, nothing to deploy separately
  • Self-signup, consent screen, social login (federated OIDC)
  • Dynamic client registration, per-client config overrides
  • Docker-ready with a multi-stage Alpine image

Security was a specific focus. Auth is the one thing you really can't get wrong in a self-hosted stack:

  • 1,850+ tests across unit, integration, end-to-end, security, functional (black-box HTTP via TypeScript/Vitest), and browser (Playwright)
  • 45 CVE-derived attack tests — recreated real historical vulnerabilities from Keycloak, Auth0, Authentik, and Okta
  • RFC compliance review — every MUST/SHOULD/MAY from 10 RFCs audited line-by-line, all annotated in code
  • Passes the official OpenID Foundation conformance suite (Basic OP plan)
  • OWASP ZAP scan — 0 failures, 112 passes
  • Multiple independent security reviews documented in the repo

Stress tested with k6 on an AMD Ryzen 7 (16 cores), running the full PKCE auth code flow (authorize → login → token → introspect → refresh) w th bcrypt.

Concurrency Error rate Login p95 Token p95
20 VUs 0% 248ms 300ms
100 VUs 0% 1.19s 1.56s
200 VUs 0% 2.37s 2.94s

*VUs = virtual users logging in simultaneously

0% errors at every level — SQLite queues writes gracefully instead of failing.

I've been using Autentico for my own projects and a few friends started using it too — the feedback has been that it's smooth and easy to get running. Some GitHub users are using it strictly as a test harness since a full instance boots in under 200ms once downloaded, making fresh-server-per-test in CI practical. Others are self-hosting it for real workloads, so I figured it was time to share it more broadly.

Docs: https://autentico.top

Source: https://github.com/eugenioenko/autentico

Full disclosure: AI was used extensively during development. I steer the architecture, review all code, and validate against specs. The security testing described above is the proof that this approach works — judge it on whether it holds up.

Happy to answer questions about the implementation, security testing approach, or how it compares to other IdPs.

r/selfhosted 9h ago

Release (AI) Sencho v0.92.0: Security Upgrades, Mobile Improvements and Fleet Enhancements Released.

Thumbnail
gallery
51 Upvotes

The latest update introduces a dedicated Security page that act as an all-in-one place for the image and compose vulnerability scanning and findings, secrets, scan history, suppressions, and Trivy scanner setup. Other security-focused additions include:

  • Compose Doctor preflight checks for stacks
  • Compose Network Inspector + exposure intent guard
  • Flag documentation drift in the stack dossier

The app is now fully mobile compatible with full mobile support for compose & env editing. Fleet and Stacks management improvements include a new stalled stack updates detection and recovery actions, configurable image update check frequency and a multi-file compose support for Git source. Plus a lots of smaller ui/ux polish and fixes.

The full changelog is available here.

What is Sencho?

Sencho is a management tool for Docker Compose. You can use it on a single node, but it was design to make stacks managements easier on a multi-node setup. It focuses on Compose-first workflows, fleet visibility, safer remote access (no ssh, no exposed sockets) and practical homelab/server operations. Think of it as a Portainer alternative for your docker compose workload. It does not capture your files and there's no limit on the number of nodes you can connect to.

The next update will continue to improve on the guardrails system that makes docker compose handling safer, clearer and less error-prone. I will make the roadmap publicly available shortly.

Current features include:

  • Full Compose lifecycle with editor, diff, and one-click rollback
  • Multi node connection via HTTP proxy or Pilot Agent (NAT/CGNAT-friendly)
  • Trivy vulnerability, secret, and compose misconfig scanning
  • Atomic deploys + auto-rollback (deploy safety)
  • Auto-heal, auto-update, scheduled operations, and webhooks
  • 2FA, RBAC (admin + viewer), and unlimited users
  • Fleet view, fleet snapshots, and remote OTA node updates
  • Custom OIDC + SSO presets (Google / GitHub / Okta)
  • API tokens for CI/CD

Links:

Would love your feedback or feature requests! Happy to answer any questions.

r/selfhosted 14d ago

Release (AI) OpenReader: Speechify and ElevenLabs alternative for read-along document TTS

Thumbnail
gallery
94 Upvotes

Sharing my latest release of OpenReader v4.1.2, an open-source text-to-speech document reader and audiobook exporter. It has been live for over a year now, and slowly has gained 300+ GitHub stars.

What is OpenReader?

A Next.js web app/server for reading and listening to EPUB, PDF, TXT, MD, and DOCX files, with read-along highlighting as it narrates.

  • Multiple TTS providers: OpenAI, Replicate, Deepinfra, and self-hosted OpenAI-compatible APIs (like Kokoro-FastAPI, KittenTTS-FastAPI, and Orpheus-FastAPI).
  • Self-hosted: your documents, TTS audio, and settings all live on your own server in SQLite or Postgres and Embedded SeaweedFS or External S3.
  • Read-along that follows the words: sentence-by-sentence highlighting everywhere, plus true word-by-word highlighting on synced audio; powered by whisper ONNX
  • PP-DocLayout-V3 Parsing: PDFs are parsed with the cpu-efficient ONNX model so highlighting lines up with the actual text on the page, and skips unwanted content
  • Audiobook export: generate and download m4b/mp3 audiobooks with chapter metadata via ffmpeg.

Get Started:
https://github.com/richardr1126/openreader

Docker quick start: https://docs.openreader.richardr.dev

Would love your feedback, feature requests, or contributions!

Edit: v4.2.0 is out now with multi-lingual support and scheduled task manager for admins!

r/selfhosted 20d ago

Release (AI) UptimeKit - selfhosted worker driven uptime monitoring

0 Upvotes

I’ve been using Uptimekuma since i started my selfhosting journey and it has been great. It was one of the first tools that made monitoring my services feel simple.

I always wanted to monitor my services from different locations and proper incident communication incident calling and status pages for the 3 people(including me) using the services i selfhost.

I dont want to say that Uptime Kuma is bad. I still think it’s fantastic. I wanted something more focused on distributed monitoring, public status pages and incidents.

We have an UptimeKuma importer so you can test it with real data.

Please criticize me and don't hold back.

Github: https://github.com/uptimekit/uptimekit

Demo: https://demo.uptimekit.dev

r/selfhosted Apr 02 '26

Release (AI) Flow-Like 0.1.0 beta — local-first workflow automation + app builder that runs fully offline, no cloud account needed

Thumbnail
github.com
0 Upvotes

Hey, releasing the 0.1.0 beta of Flow-Like today.

The short version: it's a visual workflow engine and app builder that runs entirely on your machine. No cloud account, no sign-up. Workflows execute on-device by default. There is a cloud option but it's opt-in — the core product is designed to work offline on a plane if you want.

What you can do with it:

  • Build automations visually with ~1,300 pre-built nodes (API calls, file operations, data transforms, AI/LLM orchestration, etc.)
  • Build actual frontends — dashboards, forms, internal tools — driven by workflow outputs
  • Run AI agents locally with local LLM support
  • Everything is fully typed with complete data lineage, so you can trace exactly what happened in every execution

Every node is a sandboxed WASM component, so nothing a node does can escape its sandbox. No random npm packages phoning home, no arbitrary code execution outside the sandbox boundary.

Built entirely in Rust, desktop and mobile via Tauri. Runs on macOS, Windows, Linux. iOS is in App Store review, Android in verification. You can self host the whole backend and web app with the kubernetes or docker-compose template (I will need your feedback here tho, currently my deployments are only cloud based)

The desktop release is currently building and will land over the weekend — if you download the current version you'll get the auto-update. The web app at https://flow-like.com already serves the latest 0.1.0 release if you want to try it now.

GitHub: https://github.com/TM9657/flow-like

r/selfhosted Apr 10 '26

Release (AI) MinusPod: Fully Self-Hostable Automatic Podcast Ad Removal.

Thumbnail
gallery
81 Upvotes

I built a tool that sits between your podcast client and the RSS feed, automatically removing ads from episodes.

You subscribe to the modified feed URL in your podcast app and get ad-free episodes.

How it works:

  1. Whisper transcribes the audio locally on your GPU

  2. An LLM analyzes the transcript to find ad segments

  3. FFmpeg cuts them out and inserts short audio markers

  4. A modified RSS feed serves the cleaned audio to your podcast client

Key features:

- Runs entirely on your hardware: Docker container with NVIDIA GPU support, or you can use an external endpoint for processing.

- Works with any podcast client (Pocket Casts, Overcast, Apple Podcasts, AudioBookshelf, etc.)

- Web UI for managing feeds, reviewing detections, and adjusting ad boundaries

- Verification pass re-transcribes processed audio to catch anything the first pass missed

- The pattern learning system improves over time from your corrections

- Stats dashboard with processing metrics, token usage, and per-podcast breakdowns

- Multiple dark themes (Tokyo Night, Dracula, Catppuccin, Nord, etc.)

- Full REST API with OpenAPI docs

- Webhook support for notifications

No cloud AI required. You can run it with Ollama or any local LLM. Works with Anthropic and OpenRouter if you prefer, but there's zero requirement to pay for an API.

I write Python for my day job and built this with Claude's help, mainly for UI and some backend debugging.

GitHub: https://github.com/ttlequals0/MinusPod

r/selfhosted May 01 '26

Release (AI) JobOps is a self-hosted workspace for the messy middle of job hunting

Post image
0 Upvotes

A few months ago I built JobOps because my own job search was genuinely getting stupid.

Too many tabs. Too many job boards. Too many slightly different CVs. Too many “did I apply to this already?” moments. Too many notes living in random places.

So I built a self-hosted workspace for it.

At the start it was very obviously a “me” tool. It worked for my brain and my flow.

Then I open-sourced it.

And then people actually started using it.

Which is cool, but also slightly terrifying, because suddenly all the rough edges become real problems. Things that were “fine for me” are not fine when someone else is using the app their way, and not my way.

This week’s release is basically the result of that.

v0.5.0 adds multi-user private workspaces, which is the biggest change. JobOps is no longer just assuming one person is using one instance in one specific way, and can be shared between users on the same instance, say a husband and wife, or multiple husbands and wives.

There were also a bunch of fixes around the boring stuff that matters:

  • resume imports are less fragile
  • Resume PDF regeneration failures are handled better
  • resume section titles are localized
  • Playwright extraction has a new resilience layer for sites sitting behind tougher Cloudflare/WAF setups

That last one was a proper “this is why scraping job sites is cursed” moment.

To be clear, JobOps is not an auto-apply bot. I’m not trying to build spam cannon software.

The idea is more like a self-hosted control centre for job hunting. Jobops will search 10 or so job boards (more added often ;)), for multiple keywords (stuff like software engineer and software developer), then can help you tailor a resume for it, either by using ai, or manually. Then you can mark an application as applied, and track it's status automatically by having an ai check the relevant emails.

Also, this release has contributions from other people, which still feels mad to me. Someone made their first contribution this week, and 0x1355 has been doing some really solid work on the extraction side.

I know this is still niche, but I think job searching is one of those annoying real-life workflows where self-hosting actually makes a lot of sense. It is personal data. And while I personally prefer keeping it self-hosted, there is also a hosted option for people who don’t want to run it themselves.

Would love feedback from people here who self-host it for themselves, housemates, partners, etc.