PeerTube
The fediverse's answer to YouTube comes from French non-profit Framasoft: PeerTube is a TypeScript/Angular video platform where hundreds of independently operated instances federate over ActivityPub into one network. Videos you publish are discoverable across the whole video fediverse, and viewers can follow your channels from Mastodon or any ActivityPub platform - or plain RSS - without needing an account on your instance. The namesake innovation attacks video hosting's core cost problem: alongside HLS delivery, an optional WebRTC-based P2P layer lets concurrent viewers' browsers share video segments with each other, so a video going viral distributes its own bandwidth demand instead of crushing your server; instance redundancy extends this by letting friendly instances cache each other's videos. Livestreaming is first-class - stream via OBS or any RTMP software, host permanent streams, enable replays, and interact through live chat. Creators get channels, playlists, analytics, built-in video editing (trim, watermark), and an embeddable player for any website. There are no ads, no data mining, and no recommendation algorithm engineered for watch-time - the project's explicit design stance. Admins control federation policy, P2P settings, and theming; a plugin system extends the rest. AGPL-licensed, 300+ contributors, in active development since 2015.
Planka
Trello's board model on your own server: Planka is an open-source Kanban project management tool. Boards organize into projects with lists, cards, labels, due dates, checklists, file attachments, and per-card stopwatch time tracking, all managed through drag-and-drop. Updates propagate over WebSockets, so a teammate moving a card or adding a comment appears instantly for everyone without a refresh - a genuine differentiator among self-hosted boards. Card descriptions use a full Markdown editor, custom fields adapt cards to your workflow, and views switch between Kanban, grid, and list layouts. Authentication supports OpenID Connect single sign-on with Google, Azure AD, Okta, or any OIDC provider - a feature Trello reserves for enterprise plans - and notifications reach 100+ channels including Slack, Discord, Telegram, and SMTP via Apprise. A REST API with 50+ webhook events supports custom integrations, and one-click board import eases migration. Built with React and Node.js on PostgreSQL, translated into 35+ languages, deployed via Docker.
Plausible
Built as a direct rejection of the adtech model, Plausible is the best-known privacy-first web analytics tool - lightweight, cookie-free, and open-source. It sets no cookies and stores no personal data: unique visitors are counted via a hash of IP plus User-Agent that rotates every 24 hours and is never stored raw, so no consent banner is required and GDPR compliance is structural rather than contractual. The tracking script is under 1 KB - orders of magnitude lighter than GA - and the dashboard is a deliberate contrast to GA4's sprawl: one fast-loading page with visitors, sources, top pages, countries, devices, and UTM breakdowns, filterable by any dimension. Custom events and goals track signups and clicks, Google Search Console integration pulls in search queries, scheduled email reports keep stakeholders updated, and the Stats API (v2) plus CSV export feed data anywhere. This is the AGPL-licensed Community Edition, the same Elixir codebase that powers Plausible's cloud service, running as three containers: the web app, PostgreSQL for accounts, and ClickHouse for event storage - which means self-hosters get direct SQL access to raw analytics data the cloud version never exposes. Traffic data stays entirely on your server, with no visitor caps or per-pageview pricing.
PocketBase
An entire backend in a single Go executable: PocketBase embeds SQLite with realtime subscriptions, authentication and user management, file storage, and an admin dashboard, all behind a REST-ish API. SQLite runs in WAL mode, which outperforms client-server databases for the read-heavy workloads typical of small and mid-sized apps. Authentication supports email/password, one-time passwords, and 15+ OAuth2 providers including Google, Apple, and GitHub, with stateless tokens. Clients subscribe to record changes over server-sent events, and official JavaScript and Dart SDKs cover web, mobile, and Flutter frontends. Collections, rules, and API access permissions are managed visually in the admin UI. When you need custom logic, extend it with JavaScript hooks running in the embedded JS VM of the prebuilt binary, or import PocketBase as a Go library and compile custom business logic into your own single-file backend. File storage attaches uploads to records with thumbnail generation for images and optional S3-compatible external storage. All state lives in one pb_data directory, so backup is a directory copy and upgrade is replacing a binary - one of the lowest-maintenance backends you can run. The contrast with Firebase is the point: where usage-based pricing scales with reads, writes, and bandwidth, PocketBase runs the entire backend at flat hosting cost, and the data is a plain SQLite file you can copy anywhere. MIT-licensed.
PowerDNS-Admin
Raw zone files and API calls become something a whole team can operate safely once PowerDNS-Admin puts its web interface in front of a PowerDNS authoritative server. It's a Python/Flask application covering full forward and reverse zone management, with the touches that matter in daily DNS work: zone templates for stamping out consistent new domains, easy IPv6 PTR record editing (reverse zones by hand are misery), full IDN/Punycode support for internationalized domains, and DynDNS 2 protocol support so routers and scripts can update records the way they would against a commercial dynamic-DNS service. Access control is enterprise-grade: local users, LDAP against OpenLDAP or Active Directory, SAML, and OAuth via Google, GitHub, Azure, or OpenID Connect, hardened with TOTP two-factor authentication. Role-based permissions extend to zone-specific access control - hand a developer their project's zone without exposing the rest of your namespace - and activity logging records who changed which record when, the audit trail bare PowerDNS never gives you. The dashboard monitors PDNS service configuration and statistics, and its own API exposes zone and record management for automation on top of the UI. Runs against MySQL/MariaDB or PostgreSQL, talking to PowerDNS through its REST API. MIT-licensed.
Prowlarr
Configure each indexer once, not five times: Prowlarr is the indexer hub of the *arr stack, removing the most tedious duplication in a media automation setup. Instead of configuring the same torrent trackers and Usenet indexers separately in Sonarr, Radarr, Lidarr, Readarr, and Mylar3, you add each one once in Prowlarr and it syncs them to every connected app automatically, complete with category mappings; with Full Sync enabled, adding or removing an indexer propagates everywhere, and a tracker URL change is a one-place fix. Coverage is the deepest available: 500+ torrent trackers with definitions added constantly, 24 native Usenet indexers, generic Newznab and Torznab support for anything else, and custom Cardigann YML definitions with JSON and XML parsing for obscure sources. Built on the same .NET/React base as its siblings, it also earns a place as a search tool in its own right: unified manual search queries every indexer simultaneously at a category level, and you can push multiple releases straight to your download clients without touching Sonarr or Radarr. Health checks and status notifications flag failing indexers, per-indexer statistics track success rates and response times so you can cull unreliable sources, and per-indexer proxy support (SOCKS4/5, HTTP, FlareSolverr) handles trackers behind Cloudflare.
Rallly
What Doodle did before ads and paywalls took over: Rallly (three L's) lets you propose a few dates, share a link, and watch an availability grid fill in - no email threads, no forced accounts, no "$6.95/month to remove ads." The availability grid makes the winning slot obvious at a glance, comments on each poll keep the "I can do Tuesday if we start late" discussion attached to the decision instead of buried in chat, and email notifications fire as votes and comments arrive. When consensus lands, finalize the winning option and everyone gets notified. The stack is modern TypeScript - Next.js, tRPC, Prisma over PostgreSQL, Tailwind - with a clean, genuinely mobile-friendly UI, dark mode, and community translations in 10+ languages. Self-hosting means unlimited polls and unlimited participants with meeting data on your server rather than a scheduling SaaS. It pairs naturally with Cal.com: Rallly answers "which time works for everyone?", Cal.com handles "book a slot on my calendar." AGPL-licensed.
Roundcube
Two decades of continuous development made Roundcube the standard-bearer of open-source webmail - a PHP IMAP client that gives any mail server a polished, application-like interface in the browser. It connects to whatever IMAP/SMTP stack you run - Dovecot, Postfix, a hosted mailbox - and delivers the full desktop-client experience: drag-and-drop message management, threaded conversation views, full MIME and HTML mail handling, find-as-you-type address book with groups and LDAP connectors, multiple sender identities, full-text search, and spell checking in dozens of languages. The default Elastic skin is genuinely responsive, working as well on a phone as a desktop, and the entire UI is skinnable. The plugin API is where deployments get shaped: managesieve exposes server-side filter management in the UI, enigma brings PGP encryption and signing via GnuPG, markasjunk trains spam filters, zipdownload batches attachments, password lets users change credentials, and attachment_reminder catches the classic forgotten-attachment email - among hundreds of community plugins. Built-in caching keeps large mailboxes fast, IMAP ACLs and shared folders support team setups, and XSS protection is engineered into the rendering pipeline. It scales from a single personal mailbox to unlimited users, backed by MySQL, MariaDB, PostgreSQL, or SQLite. GPL-licensed with regular security releases.
SearXNG
Up to 280 search services - Google, Bing, DuckDuckGo, Brave, Qwant, Startpage - aggregated without tracking or profiling: SearXNG is a privacy-respecting metasearch engine (AGPL-3.0, successor to Searx). Your instance queries the upstream engines on your behalf: your IP address, cookies, and search history never reach them, tracker parameters are stripped from result URLs, and an optional image proxy fetches thumbnails server-side so result pages leak nothing. It can even route outbound queries through Tor for full anonymity. Search is organized into categories - general, images, videos, news, maps, music, IT, science, files - with bang shortcuts for targeting specific engines, and every source can be enabled, disabled, or weighted per category in settings.yml. A plugin system adds calculators, hash tools, tracker removal, and unit conversions inline, and preferences (themes, safe search, languages, engine selection) persist in cookies rather than server-side accounts. The real argument for running your own instance rather than trusting a public one is control: you decide the logging policy (none), the engine mix, rate limiting, and who gets access - making it the default search backend for browsers, families, and teams that want Google-quality results without the profile.
SerpBear
Unlimited domains, unlimited keywords, daily Google position checks with stored history and trend charts: SerpBear is an open-source search engine rank tracker. Retrieval works through your choice of third-party SERP APIs - ScrapingAnt, ScrapingRobot, SerpApi, SearchApi, HasData - or your own proxy IP pool, and a flexible scrape-strategy system (Basic, Custom, or Smart, set globally or per domain) works around Google's removal of the 100-results-per-page parameter by choosing how many pages to check per keyword. Google Search Console integration adds real visit counts, impressions, and click-through rates per tracked keyword and surfaces top-performing pages and countries; Google Ads integration supplies monthly search volumes and auto-generates keyword ideas from your site's content. Email notifications report position changes daily, weekly, or monthly, a built-in REST API feeds dashboards and reporting tools, and data exports to CSV. Built with Next.js on SQLite, deployed via Docker, installable as a PWA on mobile - with no per-keyword or monthly SaaS fees.
Silicon Notes
"Somewhat lightweight, low-friction" is how Silicon Notes' author describes the personal knowledge base - written after DokuWiki's editor "drove me mad" and no existing wiki quite fit. The philosophy is that small frequent annoyances compound into cognitive load with no return, so everything here is optimized for frictionless daily use. Notes are written in plaintext Markdown and rendered as clean HTML with Pygments syntax highlighting for code blocks; pages get bi-directional relationships (backlinks), so the knowledge base becomes a connected web rather than a folder tree; and full-text plus title search retrieves anything fast. A table of contents lives in the left sidebar - "where it belongs" - editable while you read without scrolling away. Page history tracks revisions for auditing and rollback, JSON export/import keeps everything portable, and the mobile layout is genuinely usable. The stack is deliberately minimal: Python and Flask with Mistune for Markdown and SQLite for storage - no big frameworks, just a few small dependencies. One honest caveat: there is no built-in authentication, so deploy it behind a VPN, private network, or reverse-proxy auth layer. For a solo engineer's brain, it is exactly enough.
Sonarr
Add a series once, set a quality profile, and everything downstream is automated: Sonarr is the smart PVR for Usenet and BitTorrent users. It monitors RSS feeds from your indexers, detects new episodes the moment they release, sends matching grabs to SABnzbd, NZBGet, qBittorrent, Deluge, or another download client, then renames files with fully configurable templates, sorts them into consistent folder structures, and notifies Plex, Kodi, or Jellyfin to update the library. Quality profiles define what's acceptable (HDTV, WEB-DL, Blu-ray, up to 4K) and an upgrade cutoff - when a better release appears, Sonarr replaces the existing file automatically, stepping from HDTV to WEB-DL to Blu-ray until the cutoff is met. Custom formats add weighted scoring for finer-grained release selection, with community-maintained TRaSH Guides presets as the widely accepted defaults. Failed downloads are handled without intervention: Sonarr retries with another release, and manual search shows every candidate with the reasons any was rejected. It scans existing libraries for missing episodes, fully supports specials, multi-episode files, and daily and anime series types, and a calendar view shows upcoming episodes across every tracked show. Runs on Linux, Windows, macOS, and Raspberry Pi, and pairs naturally with Prowlarr for centralized indexer management.
Statping-ng
A status page and uptime monitor in one Go binary: Statping-ng - the actively maintained fork of Statping - replaces the UptimeRobot-plus-Statuspage combo with a ~20 MB Docker image using under 50 MB of RAM. It checks services over HTTP, TCP, UDP, ICMP ping, and gRPC health checks on configurable intervals, with per-service timeouts, expected status codes, POST requests with custom JSON bodies, SSL verification, and failure thresholds before alerting. The public status page is the differentiator against plain monitors: visitors see live status, uptime percentages, and latency charts grouped into service categories, with incident announcements and scheduled-maintenance messages you publish from the dashboard - and Sass-based custom styling matches the page to your brand rather than a vendor template. When something fails, notifiers fire immediately: Slack, Discord, Telegram, SMTP email, PagerDuty, Twilio SMS, Pushover, and custom webhooks, each testable before saving. Because notifiers are single Go files, the plugin system makes new channels straightforward. A RESTful API manages services and reads uptime data programmatically, and the free Statping mobile app connects to your server via QR code for on-the-go monitoring. Data persists to SQLite, MySQL, or PostgreSQL. Point it at internal services too - anything the container can reach is monitorable.
Substreamer
A free, polished web client for Subsonic-compatible music servers: Substreamer is the browser-based frontend you point at your existing streaming backend to play your own library from anywhere. It speaks the Subsonic API (v1.13 and higher), which makes it compatible with the whole ecosystem that has grown around that protocol: the original Subsonic server, its forks Airsonic and Madsonic, and modern implementations like Navidrome and Ampache. That decoupling is the point - your music files, transcoding, and library indexing live on whichever server you prefer, while Substreamer provides the listening experience: browse by artist, album, and genre, build and manage playlists, search your collection, and stream on demand. This RepoCloud deployment runs the containerized web edition, so the same interface is available from any browser without installing a native app, and it pairs with the Substreamer mobile apps that made the client popular. For anyone assembling a self-hosted Spotify replacement - typically Navidrome for the backend plus a good client - Substreamer fills the client half with a clean, familiar player UI. Because it is a stateless client, the container is lightweight and low-maintenance: connect it to your server's URL and credentials, and your entire collection is streaming in minutes, with no subscription and no catalog that can disappear.
TavernAI
Character-based chat and storywriting with large language models: TavernAI is the open-source frontend that leaves model choice to you. It generates no text itself; it connects to the backend of your choice - OpenAI (including GPT-4), Anthropic Claude, KoboldAI and KoboldCpp, Oobabooga's Text Generation Web UI, NovelAI, Ollama, and the crowdsourced Horde - so cost, model quality, and content policy are decided by your backend, not the interface. Characters are defined by portable card files in PNG or JSON format with personality, scenario, and example dialogue, and tens of thousands of community-made cards from sites like Chub.ai import directly. Conversations support group chats with multiple characters, a story mode for long-form writing, message swiping to branch between alternative responses, and full editing of any message. World Info injects lore into context when keywords trigger, keeping long roleplays consistent. Themes, custom backgrounds, and configurable generation settings round out the interface. It runs on Node.js, and the SillyTavern project began as a fork of it.
The Lounge
"Forget about bouncers" became a real sentence because of The Lounge: a Node.js web IRC client that holds persistent connections to your networks 24/7, logging everything while you sleep, so closing the browser tab never means missing a message or losing your place in a channel. Open it again from any device - desktop, phone, tablet - and you resume exactly where you left off, with full history synchronized. Because it combines bouncer and client in one process, the experience feels like a modern chat app rather than 1990s infrastructure: push notifications for highlights and private messages (with self-generated VAPID keys, so even Web Push needs no third-party service), automatic link previews, inline file and image uploads, and full IRCv3 protocol support. It installs as a progressive web app from any modern browser, so phones get a native-feel client without an app store. Multi-user support means one instance serves your whole team or community, each user with their own networks and history, and LDAP integration ties into existing authentication. A public mode alternatively serves as an open, registration-free web chat for events or support channels. MIT-licensed, born as a fork of Shout, and a fixture of self-hosting stacks since.
Thumbor
Born at Brazilian media giant Globo.com, Thumbor answers imaging CDNs like Imgix and Cloudinary with an HTTP service where every image variant is just a URL. Ask for /300x200/smart/your-image.jpg and Thumbor fetches the original, crops and resizes on demand, and caches the result - one source file, unlimited renditions, no batch pre-generation pipeline. The "smart" in the URL is the signature feature: OpenCV-based face detection finds people in the frame and crops around them (no more thumbnails with severed heads), and when no faces exist, feature detection finds visually important corners and computes a weighted center of mass as the focal point. Beyond cropping, a chainable filter pipeline handles brightness, contrast, grayscale, blur, red-eye removal, rounded corners, rotation, watermarks, and format conversion with quality control - applied in order via URL segments. All common image formats work out of the box, and every layer is pluggable: loaders (HTTP, local, S3), storages and result storages (local, S3, Ceph, and community backends), engines, optimizers, filters, and even custom detectors, with the awesome-thumbor list cataloging the ecosystem. URL signing prevents abuse of your processing capacity. Integrations exist for Django, Rails, Node, WordPress, and most frameworks. MIT-licensed, battle- tested for over a decade.
ToolJet
Retool's job, self-hosted: ToolJet is an open-source low-code platform for building internal tools, dashboards, and admin panels. Apps are assembled in a drag-and-drop visual builder with 60+ responsive components, including tables, charts, forms, and lists, and connected to 80+ data sources: PostgreSQL, MySQL, MongoDB, REST and GraphQL APIs, cloud storage, and common SaaS tools. When visual configuration is not enough, you can run JavaScript or Python inline for queries and transformations. A built-in no-code database (ToolJet Database) covers apps that need their own tables without provisioning an external database, Workflows add node-based automation for background jobs with dedicated worker containers and a Redis-backed queue, and multi-page apps with multiplayer editing, inline comments, and mentions support team development. Security is designed for internal data: credentials are AES-256-GCM encrypted, data flows proxy-only through your server so database contents never reach a third-party cloud, and granular per-app access control plus SSO gate each tool. Where Retool-style platforms bill per builder and sometimes per end user, the self-hosted Community Edition serves unlimited builders and users at hosting cost, and full source availability means the platform itself can be forked, audited, and extended. The stack is Node.js and React on PostgreSQL, deployed via Docker.