Isso
Named from the German "Ich schrei sonst" - roughly "or I'll scream" - Isso is a lightweight Python/JavaScript commenting server, a drop-in Disqus replacement for people who noticed what Disqus does to reader privacy and page load times. The design premise is printed right in the docs: comments are not Big Data. So the backend is a single SQLite file rather than a database cluster, and the entire client is one embeddable JavaScript file - 65 kB, 20 kB gzipped - that you drop into any static site, blog, or CMS. Commenters write in Markdown, need no account, and can edit or delete their own comments within a configurable window (15 minutes by default). Spam control comes from an optional moderation queue: held comments stay invisible until you activate them via an admin interface or email notification links. Migration is a first-class feature, with importers for Disqus and WordPress exports, so years of existing threads move over intact. Because everything is server-rendered from your own instance, no third party tracks your readers, and real-world switchers report smaller pages and faster loads than the Disqus embed. MIT-licensed, running since 2012.
Verdaccio
Private npm packages without shipping code to the public registry or paying for npm Enterprise: Verdaccio is the standard lightweight, zero-config private registry and caching proxy. It runs as a single Node.js process with its own tiny embedded database; no external database is required to start. Point npm, yarn, or pnpm at it and everything behaves as expected: install, publish, unpublish, dist-tags, and deprecation all work against the standard npm endpoints. The uplink system is where it earns its keep: packages not found locally are fetched from configured upstreams (npmjs.org, yarn, JFrog, Nexus, or another Verdaccio), cached as tarballs, and served locally thereafter - cutting CI latency and surviving registry outages. Multiple uplinks chain for failover, and per-package glob patterns in config.yaml route scopes to specific upstreams while controlling access, publish, and unpublish rights per group. You can even override a public package by publishing a patched version under the same name locally. A plugin architecture swaps in auth backends (htpasswd default, LDAP and others available), storage drivers (S3, Google Cloud Storage), middleware routes, and metadata filters. With official Docker images and a Kubernetes Helm chart, it slots into any pipeline in minutes.
PsiTransfer
Upload files, get a share link, let it expire: PsiTransfer is a self-hosted WeTransfer with no accounts, no logins, and no third-party cloud with size caps and metadata harvesting. The engineering focus is large files over imperfect networks. Uploads use the tus.io resumable protocol, so a dropped connection on a multi-gigabyte video resumes exactly where it stopped once you're back online; downloads support HTTP range headers for the same resilience, and everything streams, so file size is bounded by your disk rather than memory. Files organize into upload buckets with retention you control: expire after a set time (up to weeks) or after a one-time download, with automatic cleanup when links lapse. Recipients need nothing installed - they open the link, preview files in modal views, and grab everything as a zip or tar.gz archive with one click. Buckets can be password-protected (AES-encrypted download lists), and security-through-obscurity is done properly: bucket URLs use hashed UUID tokens and stored filenames are replaced with UUIDs. An optional admin page (enabled by setting an admin password) lists bucket information and storage. The Vue.js frontend ships under 100 KB gzipped and is fully responsive. Honest caveat from the author: no end-to-end payload encryption yet. BSD-licensed, Docker-ready.
Muse
"A highly-opinionated midwestern self-hosted Discord music bot that doesn't suck," per its own README - Muse is built for servers the size of you, your friends, and your friends' friends. It exists because the big public music bots kept getting shut down or paywalled, and self-hosting yours means nobody can take it away. Written in TypeScript on discord.js, it joins voice channels and plays audio resolved from YouTube via yt-dlp, and given optional Spotify API credentials it auto-converts Spotify tracks, albums, artists, and entire playlists to playable equivalents. The playback details show real care: seeking within songs and videos, livestream support, local caching so repeated plays start instantly, volume normalization across tracks, and configurable volume controls including optional ducking that lowers music when people speak. SponsorBlock integration can skip non-music segments automatically. Users save favorite queries as reusable shortcuts, and one Muse instance serves multiple guilds simultaneously - one deployment for all your communities. Configuration is three environment variables (Discord token, YouTube API key, optional Spotify pair) and the personality is free: there is no vote-to-skip, because "this is anarchy, not a democracy," and the bot remains a loyal Green Bay Packers fan. MIT-licensed and easily extendable.
Owncast
Twitch and YouTube Live, replaced by infrastructure you control: Owncast is a self-hosted live streaming and chat server. Point OBS, Streamlabs, or any RTMP-capable broadcaster at the server's ingest port, and Owncast transcodes the feed with FFmpeg into HLS with multiple quality variants, playing it in a built-in web page with a real-time chat beside it. Chat supports anonymous participation, custom emotes, and moderation tools - message removal, user bans and suspensions - with optional authentication via IndieAuth or a Fediverse account. ActivityPub integration puts the stream on the Fediverse: viewers on Mastodon and compatible services can follow a channel and get notified the moment it goes live. Video delivery can come straight off the server or offload HLS segments to S3-compatible object storage so a modest VPS handles thousands of concurrent viewers while only managing ingest and chat. The backend is a single Go binary with a React frontend - no accounts platform, no database server, no dependency stack - and the player embeds in any website. MIT-licensed, with roughly 9k GitHub stars, zero platform fees, and no algorithm or takedown policy between you and your audience.
mCaptcha
The CAPTCHA bargain - annoy your users and feed their behavior to Google - gets replaced with economics by mCaptcha. Instead of image puzzles, it uses SHA256 proof-of-work: every visitor's browser silently solves a small computational challenge (via a WebAssembly library) before submitting a form. Humans never notice the milliseconds; bots hammering your site must burn more compute sending requests than your server spends answering them, which makes attacks more expensive than defense - the property that also makes mCaptcha genuine DoS protection, not just bot filtering. Written in Rust, the system is fully automated: difficulty scales with traffic, so challenges stay trivial in normal conditions and harden under attack. The privacy and accessibility wins are structural rather than promised: no tracking, no profiling, no user-pattern data collection, and no visual puzzles that exclude users with visual or cognitive impairments - the design was published in Communications of the ACM. Rate limiting is IP-independent, so users behind NATs, VPNs, or Tor get the same experience instead of endless challenge loops, and proofs resist replay attacks, neutering captcha farms. Migration is deliberately easy: the API is compatible with reCAPTCHA and hCaptcha, making it a drop-in replacement. AGPL-licensed core with proprietary-friendly client libraries.
Kavita
Manga, comics, ebooks, and light novels get a streaming-service-style home in Kavita - a fast, cross-platform reading server for the DRM-free collection you share with family and friends. It natively serves CBZ, CBR, CB7, ZIP/RAR/7z archives, raw images, EPUB, and PDF, with hand-crafted web readers per format: webtoon scrolling, single and dual-page spreads with advanced caching for the comic reader, and a book reader with adjustable fonts, spacing, margins, color themes, and column modes. Reading progress tracks per user, so everyone resumes exactly where they stopped on any device. Metadata parses from filenames, ComicInfo.xml, and EPUB fields, feeding index-backed search, smart filters, collections, reading lists with CBL import, and Want to Read queues. Role-based user management covers age restrictions, per-library access, and OIDC authentication. An OPDS feed connects third-party clients - Panels on iOS, Librera on Android, KOReader on e-ink devices - and a comprehensive REST API supports custom integrations. EPUB annotation and highlight support, custom theming, and full localization round it out. Built with .NET and Angular, it handles 50,000+ file libraries without strain; optional Kavita+ adds AniList scrobbling, recommendations, and external metadata.
Shaarli
Personal, minimalist, database-free bookmarking - Shaarli is a philosophy as much as an app. Everything lives in a single compressed datastore file inside data/: no MySQL, no PostgreSQL, backup by copying one directory. That write-once/read-many file is usually served straight from OS disk caches, which is why a decade-old Shaarli instance with tens of thousands of links still responds instantly. Designed deliberately single-user, it saves URL, title, unlimited-length description, and tags (with autocomplete, renaming, and merging), marks entries public or private, and automatically strips utm_source and fb tracking parameters from saved URLs. That description field is why the community uses Shaarli as far more than bookmarks: a microblog, read-it-later queue, code-snippet base, pastebin, and shared clipboard between machines. Sharing is one click via bookmarklet or Android apps; consumption is per-tag RSS/Atom feeds plus a daily digest feed; search is full-text with tag filtering. A REST API opens it to any client, a plugin and theme system extends the PHP core (Markdown rendering, thumbnails), and import/export uses browser-standard Netscape HTML - your data enters and leaves freely. LDAP login is supported, no telemetry is sent anywhere, and the UI degrades gracefully without JavaScript. The anti-cloud Delicious.
Whiteboard
The drawing surface inside WebRTC conference tools like Meetzi and the LAMS online-learning platform is Whiteboard (by cracker0dks) - a lightweight Node.js collaborative sketchboard built to be embedded and customized, which also slots into Nextcloud via the External Sites app. Everyone opening the same whiteboardid URL parameter draws on the same board, with remote user cursors visible live, per-user undo/redo, and an indicator showing the smallest participating screen so nobody draws outside a colleague's view. Content handling goes beyond pen strokes: drag-and-drop or paste images and PDFs from any PC or browser, then resize, rotate, and draw over them on canvas or background; add text and sticky notes; hold Shift for angle-snapped lines and perfect squares. Every function has a keybinding - deliberately friendly to pen displays like Wacom and XP-Pen whose hardware buttons map to shortcuts. Boards save to image or JSON (with reload), export directly to Nextcloud via WebDAV, and persist across restarts with the file-database option. A REST API with bundled interactive docs allows full programmatic control, an optional access token locks down uploads, and YAML configuration tunes behavior and performance. MIT-licensed and reverse-proxy friendly.
HedgeDoc
Real-time collaborative Markdown behind your own firewall: HedgeDoc (formerly CodiMD, descended from HackMD's open-source edition) keeps team notes on team infrastructure. Share a note's URL and collaborators are editing together instantly - live cursors, changes appearing keystroke by keystroke - in a three-mode interface that toggles between raw Markdown, rendered preview, and side-by-side split. The Markdown dialect is extended where engineers need it: Mermaid, Graphviz, and Vega-Lite diagrams, MathJax for equations, syntax-highlighted code blocks, embedded content, and a presentation mode that turns a note into reveal.js slides with a single YAML header. A dropdown permission system controls each note - freely editable, limited to signed-in users, or locked read-only - and published notes become clean read-only pages for wider distribution. Revisions track every change with the ability to revert to any earlier version. The AGPL-3.0 codebase is light enough to run on a Raspberry Pi and deploys via Docker with PostgreSQL, MySQL, or SQLite. Authentication covers LDAP, SAML, OAuth2, and email. It deliberately stays a focused document editor - no page trees or kanban - and does that one job with excellent keyboard-first ergonomics for meeting notes, RFCs, runbooks, and shared scratchpads.
Vaultwarden
The Bitwarden server, reimplemented in Rust: Vaultwarden (formerly bitwarden_rs) is the unofficial lightweight edition. It speaks the same wire protocol as the official server, so every official Bitwarden client - browser extensions, iOS, Android, desktop, and the bw CLI - connects without modification, while the server itself runs as a single container against SQLite (or MySQL/MariaDB/PostgreSQL) instead of the official multi-container stack that wants gigabytes of RAM. Features Bitwarden gates behind paid tiers ship free: organizations with collections, groups, member roles, and policies; TOTP code storage; file attachments; Bitwarden Send; Emergency Access; event logs; and admin password reset. Two-factor options cover authenticator apps, email, FIDO2 WebAuthn, YubiKey, and Duo, and OIDC-based SSO landed natively in v1.35.0. Zero-knowledge encryption is unchanged - vault data is encrypted client-side and the master password never reaches the server. Attachments and Sends store on local disk or S3-compatible backends, an admin panel manages users and server settings, and backup is copying one data directory. Suited to individuals and teams up to roughly 50 users.
Monica
Take the tool sales teams use to never forget a client detail and point it at the people who actually matter - friends, family, the colleague whose kid's name you keep blanking on: Monica is a personal CRM. It's a Laravel/PHP application over MySQL where each contact accumulates the texture of a real relationship: how you met, family members and pets, work changes, addresses, notes from conversations, activities done together, gift ideas and gifts given, even debts owed in multiple currencies. Two features set it apart from every contact app. Reminders with staying power: set per-contact intervals (weekly through yearly), get notified at 30 days, 7 days, and day-of, with automatic birthday reminders and CalDAV sync to your calendar. And a journal linked to contacts: write about dinner with friends, tag each person, and build a timeline that's part diary, part relationship log - plus a daily "how was your day" rating. Monica is deliberately manual and deliberately private: no social network features, no AI, no email scraping, no ads, no analytics - a quiet database of what you know about people you love, on your own server. Multiple vaults and users, labels, custom activity types, and document/photo uploads round it out. AGPL-licensed.
Hasty Paste
Paste some text, hit save, share the link - Hasty Paste is a fast, minimal pastebin written in Python on the async Quart framework, named, by its author's own admission, "because you use it so fast without a care in the world." No accounts, no authentication, no friction - built for the everyday case of handing a debug log, config snippet, or stack trace to someone in tech support or a chat channel. Pastes get randomly generated IDs, with an optional "long" ID mode that makes brute-force URL guessing impractical, and expiry times ensure throwaway content actually gets thrown away. Optional Pygments syntax highlighting makes code readable, a dark theme spares your eyes, and the whole interface works without JavaScript - it renders in terminal browsers and under the strictest script blockers. Storage is a custom flat-file system (no database), caching runs internally or through Redis for busier instances, and a REST API plus the companion "Hastily Paste It" CLI script enable piping command output straight into a paste from the terminal. The Alpine-based Docker image is tiny, resource usage is minimal, and the license is AGPL.
Answer
Run a Stack Overflow of your own: Apache Answer brings the question-and-answer format in-house, maintained under the Apache Software Foundation with an Apache-2.0 license. You use it to run a community forum, product help center, or internal knowledge base where content lives as questions and answers rather than wiki pages. It ships the mechanics that make that format work: voting, accepted answers, a reputation system with privilege levels, tagging, full-text search with filters, revision history on every edit, and admin/moderator/user roles. Content is written in Markdown with real-time preview and code syntax highlighting. A plugin system covers OAuth login (Google, GitHub), S3 storage, external search backends like Algolia, and Akismet anti-spam, and a REST API exposes platform data for integration. The backend is Go, the frontend React, and it runs against SQLite, MySQL, or PostgreSQL. Self-hosting replaces per-seat tools like Stack Overflow for Teams with a flat-cost instance where you own all the content.
Gitea
With over 57,000 GitHub stars and deployment across thousands of organizations worldwide, Gitea is the most popular self-hosted Git service, delivering a complete software development platform in a single Go binary that runs on as little as 512MB of RAM. The platform provides full repository management with pull requests featuring inline code review, branch protection rules, merge strategies including squash, rebase, and merge commit, and automated status checks through Gitea Actions. The built-in CI/CD system uses the same YAML workflow syntax as GitHub Actions and can directly reuse over 20,000 existing Actions plugins, allowing teams to migrate from GitHub with minimal pipeline rewrites using the open-source act_runner executor. The integrated package registry supports over 20 formats including npm, PyPI, Maven, NuGet, Cargo, Helm, Composer, Conda, RubyGems, Pub, and an OCI-compatible Container registry for Docker images with no additional configuration required. Project management features include issue tracking with labels, milestones, dependencies, and time tracking, alongside kanban project boards for visual workflow management. Gitea supports LFS for large file storage, built-in wiki pages per repository, webhook integrations with Slack, Discord, Telegram, Microsoft Teams, and custom HTTP endpoints, and OAuth2 authentication with LDAP, SAML, and PAM backend support. Repository mirroring enables bidirectional synchronization with GitHub, GitLab, and Bitbucket, while the comprehensive REST and GraphQL APIs power external integrations and the official tea CLI tool. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.
Hasura
A PostgreSQL database becomes a production-grade GraphQL API the moment Hasura GraphQL Engine points at it: track tables and relationships - existing schemas included - and full query, mutation, and subscription types appear with where, order_by, limit, offset, and on_conflict arguments, no resolvers or boilerplate written. Its Haskell core compiles GraphQL to efficient SQL, and any query becomes a real-time live query with a single keyword, powering dashboards and collaborative UIs over standard GraphQL subscriptions. Authorization is where Hasura earns its enterprise reputation: role-based access control with row- and column-level permission policies driven by session variables from JWTs, auth webhooks, or headers - each role effectively sees its own GraphQL schema containing only what it may touch, integrating cleanly with Auth0, Firebase, or homegrown auth. Event triggers fire webhooks on inserts, updates, and deletes for asynchronous business logic; Actions extend the schema with custom REST handlers; remote schema stitching merges external GraphQL services into one endpoint; and auto-generated REST endpoints serve clients that skip GraphQL. A browser console handles data modeling and API exploration, the CLI manages migrations and metadata as code, and deployment is a single stateless Docker container beside Postgres.
NocoDB
Any existing relational database becomes a collaborative, Airtable-style smart spreadsheet under NocoDB. It connects to PostgreSQL, MySQL, MariaDB, SQL Server, or SQLite, introspects the schema - tables, relationships, indexes - and renders it as interactive Grid, Gallery, Kanban, Calendar, and Form views without migrating a single row. Your business data stays in your database; NocoDB keeps only its own metadata (view configs, permissions, webhooks) in a separate store. Every connected table automatically gets REST APIs with Swagger documentation, effectively turning legacy databases into modern backends. The spreadsheet layer adds 20+ field types including formulas, lookups, rollups, links, attachments, and currency, plus sorting, filtering, grouping, and multi-field editing. Views can be locked or shared publicly with password protection, role-based access control scopes permissions per user, and webhooks plus CSV, Excel, and Airtable import round out integration. An ERD view visualizes the schema. Built with Node.js and Vue, deployed via Docker, handling millions of rows.
Radarr
The movie half of the *arr stack: Radarr is a .NET collection manager that automates acquiring films for Usenet and BitTorrent users the way Sonarr does for TV. Add a movie once and Radarr handles the rest: it monitors indexers and RSS feeds, grabs a matching release the moment one appears, sends it to SABnzbd, NZBGet, qBittorrent, Deluge, Transmission, rTorrent, or another connected download client, then imports, sorts, and renames the file into your library structure. Quality profiles are the control surface - define allowed resolutions and a cutoff, and Radarr keeps upgrading files automatically, replacing a DVD rip when a Blu-ray release lands. Custom formats go further, scoring releases by codec, HDR metadata, release group, streaming source, or arbitrary regex so the copy you want always wins the pick. Failed downloads retry with another release automatically; a manual search shows every candidate and explains why one was skipped. Release parsing recognizes director's cuts, special editions, AKA titles, and hardcoded subs. Plex and Kodi integration handles notifications, library refreshes, and metadata like posters, trailers, and subtitles, and a calendar view tracks upcoming releases. It pairs naturally with Jellyseerr for request management and shares its API conventions with the whole *arr ecosystem.