Redmine
Nearly two decades running engineering organizations: Redmine is the veteran open-source project management and issue tracker, a Ruby on Rails application (GPLv2) still in active development. Its core strength is configurability: define your own trackers (bug, feature, task, or anything else), issue statuses, and role-based workflows that control exactly which transitions each role may perform, then extend records with custom fields of every type. Issues support subtasks, relations (blocks, precedes, duplicates), watchers, categories, and full journaled history, with saved custom queries and cross-project filtering for slicing the backlog any way you need. Around the tracker sit Gantt charts and calendars, a roadmap driven by versions, per-project wikis, forums, news, and document repositories, plus time tracking with estimated versus spent hours and activity-based reporting. Multi-project support runs deep - subprojects, per-project modules, and granular role-based permissions - and repository integration (Git, Subversion, Mercurial) links commits to issues automatically. Email notifications, inbound email-to-issue creation, LDAP authentication, a REST API, and a large plugin and theme ecosystem round it out. Recent 6.x releases brought substantial query and rendering optimizations. Self-hosting keeps your entire project history in your own database, free of per-seat licensing.
Wally
Started as an ExpenseOwl-inspired project, Wally grew into a lightweight, self-hosted expense tracker more capable in every direction its author touched. The backend is Python FastAPI over SQLite, which means every deployment ships a full REST API with interactive documentation at /api/docs - automating imports or wiring in external tools requires no reverse engineering, and when the optional login page is enabled you can mint scoped API keys from the Settings page for token-based integrations. The transactions view is built on AG Grid, bringing real search, column sorting, and per-column filtering to your ledger, with a footer totaling rows, income, and expenses for whatever slice you have filtered. Dashboards go beyond the usual monthly doughnut: a Change button swaps in year-scale line graphs so you can track a single category - restaurants, say - across time. Recurring transactions edit intelligently, letting you apply changes to all instances or only future ones. CSV import and export use a simple six-column format handled from Settings, the refined dark theme is genuinely easy on the eyes, and the interface is translated into more than ten languages. The whole thing runs from one small container with a single data volume.
ChatChat
One clean interface in front of Anthropic, OpenAI, Google Gemini, Cohere, and more: Chat Chat is a Next.js front door to the major AI providers, ending the juggling of separate subscriptions, tabs, and UIs per model. Bring your own API keys, pick a provider and model per conversation, and switch between them as the task demands: Claude for long-form reasoning, GPT for code, Gemini for multimodal work - the interface stays identical. Beyond configured presets, custom providers plug in with their own API endpoints and keys, which covers OpenAI-compatible gateways and local inference servers. The design splits into two dedicated modes: a chat interface for conversational work with customizable system prompts, and a search interface that pairs AI processing with query handling for research-style questions. The stack is modern and hackable - Next.js 14, Tailwind CSS, shadcn/ui on Radix primitives, Jotai for state - with full internationalization including English, Chinese, and Japanese. Self-hosting means your conversation history and API keys live on your instance rather than a third-party wrapper service, and pay-per-token API pricing typically beats stacking multiple monthly chat subscriptions. AGPL-licensed and deliberately simple to deploy: one container, environment variables for keys, done.
Moocup
Drop your screenshot, a base style is applied, style it however you wish, and export - "that's basically it," says Moocup's own author, and the description holds. The workflow is genuinely seconds long. Drag an image in and it lands on an attractive backdrop immediately; from there you adjust backgrounds, gradients, padding, borders, shadows, and framing with live preview until it matches your taste, then export a high-quality image ready for a portfolio page, README, blog post, tweet, or slide deck. There are no accounts, no watermarks, and no upload to anyone's cloud - as a self-hosted static app, your screenshots never leave your infrastructure, which matters when the screenshot shows a proprietary dashboard or unreleased product. It runs entirely in the browser from a tiny nginx container, works on any device, and requires zero design skill: the smart defaults do the heavy lifting, and everything else is optional tinkering.
ClassicPress
WordPress without Gutenberg: ClassicPress, the community-led fork, keeps the TinyMCE classic editor as the default and strips the block editor and Full Site Editing out of core entirely. The result is roughly half WordPress's size - obsolete libraries like jQueryUI, Thickbox, and Flash support are gone, replaced by native HTML5 elements and modern alternatives like SortableJS - which translates to a measurably faster admin and a leaner attack surface. Forked from WordPress 6.2, it remains compatible with the vast plugin and theme ecosystem targeting that lineage (anything not requiring blocks generally works, helped by a blocks-compatibility mode), and the PHP-first WordPress API developers have used for over a decade works unchanged - no React required to extend your CMS. The fork adds its own improvements: built-in media categories and tags with bulk editing, revision management that lets you prune database bloat, native HTML5 dialogs for accessible touch-friendly menus, and recent releases bring APCu object-cache support, vanilla-JS core widgets, and performant translations. Governance is democratic and community-driven rather than corporate. For content sites, business sites, and blogs where the classic editing workflow is the feature, ClassicPress is stability as a philosophy.
Freshrss
Where Miniflux strips reading down, FreshRSS gives you knobs - the feature-rich pole of self-hosted RSS, comfortable with thousands of feeds. It's a multi-user PHP aggregator (host family and friends on one instance, with an anonymous reading mode) with the reading workflow refined over a decade: favorites, custom tags, powerful filter and search queries, three reading views, and statistics that reveal each site's publishing frequency - useful for pruning subscriptions. Two properties make it the standard choice. First, the Google Reader-compatible API (plus a Fever API) syncs with virtually every serious RSS client - Reeder, NetNewsWire, ReadYou, FeedMe, Fluent Reader - so your phone reads from your server. Second, native WebSub support means compatible sources (WordPress, Blogger, Medium, Friendica) push new articles instantly instead of waiting for polling. A 50+ extension ecosystem adds what truncated feeds omit - full-text content fetching, reading-time estimates, trending views, auto-unsubscribe for dead feeds - alongside community themes and custom CSS. OPML import/export keeps subscriptions portable, a CLI handles administration, and article sharing posts to many services. AGPL-licensed, running on SQLite, MySQL, or PostgreSQL. Feedly Pro's feature set, minus Feedly's subscription and its algorithms.
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.
Cockpit
Built by an agency in 2011 and refined by real client work since, Cockpit is a headless CMS whose pragmatism is earned. It's a pure content backend: model your data, let editors manage it, and fetch it over REST or GraphQL from any frontend - React, Vue, Flutter, a static site generator, or an IoT dashboard. Content modeling covers three shapes: Collections for repeatable items (posts, products, events), Singletons for one-off content (settings, about pages), and Trees for hierarchies (navigation, categories), all assembled from 20+ field types including relationships. The API layer is unusually capable: MongoDB-style query filtering, field selection to trim payloads, automatic image optimization through the assets API, and built-in caching. Localization is first-class with per-field multi-language content and fallback support; user management includes roles, granular permissions, two-factor authentication, and API tokens; and webhooks push changes into external workflows. Agencies get multi-tenant Spaces - several sites or clients from one installation. The operational footprint is refreshingly small: PHP plus either SQLite or MongoDB, no build steps, no toolchain, extensible through hooks, events, and addons (pages/SEO, forms, full-text search, layout components). Where enterprise headless platforms bill per seat and per locale, Cockpit is MIT-licensed and simply yours.
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.
Tiddlywiki
The entire wiki - content, code, and interface - is built from "tiddlers," small addressable units of information that link, transclude, tag, and filter into each other: TiddlyWiki is a non-linear personal notebook with a design philosophy unlike anything else in this catalog. Instead of pages in a hierarchy, you compose views by pulling tiddlers together on demand, which is why researchers, zettelkasten practitioners, and GTD devotees have sworn by it for two decades. The whole application is JavaScript, and the UI itself is written in hackable WikiText - customization goes as deep as rewriting the interface from inside the wiki. Self-hosting runs the Node.js version, which upgrades the classic single-HTML-file architecture in the ways that matter for a server: every tiddler is stored as an individual text file (Git-friendly, organizable), edits save through the HTTP API from any modern browser including phones, and one installation can serve multiple wikis blending shared and unique content. The plugin ecosystem covers graph visualizations, themes, languages, and hundreds of community extensions, declared per-wiki in a simple tiddlywiki.info file; the newer MultiWikiServer plugin adds multi-user accounts and tiddler sharing. Your notes stay usable for decades, independent of any corporation - the project's founding promise. BSD-licensed.
Hiccup
"Get to your most important links, FAST" - Hiccup's README states its whole mission in that one line, and the static start page delivers it. It is a client-side React single-page app - no backend, no database, no accounts - driven entirely by a config.json that defines featured link cards, categorized sections, and search providers. The search bar is the power feature: it queries your own links by name, URL, and tag while simultaneously offering external providers like Google, DuckDuckGo, and Amazon (plus custom URL-template providers you define), with arrow-key navigation and Enter to launch, so muscle memory replaces mousing. Editing happens in the browser - drag and drop links and background images, tweak cards in edit mode - with changes persisting to localStorage; a built-in config manager exports the JSON for hosting, and remote profile loading pulls a shared config across every browser and device you use. Multiple profiles keep home-server, work, and dev-tool link sets separate. PWA support installs it on a phone home screen, caching strategies keep it fast offline, read-only mode suits kiosk displays, and Cmd/Ctrl+/ reveals the full hotkey reference. Serve it from any static host and point your new tab at it.
DumbBudget
"Stupid simple software" is the entire philosophy at DumbWare.io, and DumbBudget delivers it: no over-engineering, no complexity, no accounts, no bank connections - just a clean, modern ledger for money in and money out. Log income and expenses, assign categories, and watch real-time balance calculations update as you type. Finding transactions is quick: filter by type, narrow by date range, sort by date or amount. When tax season or spreadsheet analysis calls, everything exports to CSV. Access control matches the philosophy - a single PIN (set via one environment variable) gates the app, backed by real security engineering: rate limiting on PIN attempts, temporary lockout after failures, secure session handling, and no sensitive data in browser storage. Multi-currency support covers the ISO codes, and a SITE_TITLE variable names each instance - deliberately useful, because running separate instances per account or family member is the intended pattern for multi-user needs. The responsive UI ships light and dark themes and installs as a PWA on phones, where expense logging actually happens. Configuration is five environment variables; data persists in one folder. If Actual Budget and Firefly III feel like accounting software, this is the notepad that gets used. GPL-licensed.
Zusam
From the German "zusammen," together: Zusam is a private social space for a group of friends - a self-hosted alternative to the family WhatsApp group or the friends Facebook group, with no ads, algorithms, or data harvesting in between. The AGPLv3 project is deliberately modest in scope and stack: a Symfony PHP backend exposing a REST API over SQLite, with a lightweight Preact single-page frontend, designed for a low server footprint that runs comfortably on small hardware. Groups post messages into shared feeds that handle real life well: video and image uploads (with FFmpeg processing), photo albums for trips and events, and rich link previews with inline embeds for YouTube, Vimeo, Imgur, SoundCloud, Twitch, and Bandcamp - so sharing a song or a clip looks the way it should. When something needs to leave the circle, public link generation exposes a single message to non-members without opening the group. The interface is fully responsive and mobile-friendly, targeting Firefox ESR and recent Chrome. It is the small-web answer to a real question: where does a group chat's shared history live when you want it owned by the group instead of a platform?
Astuto
Feature requests, bug reports, upvotes, and a public roadmap: Astuto (Ruby on Rails backend, React frontend) gives users a Canny-style feedback portal so product decisions rest on visible demand rather than the loudest voice in the room. Feedback organizes into as many boards as you want (features, bugs, integrations), each post carrying a custom status you define - "planned," "in progress," "shipped," or whatever matches your process - and those statuses feed a public roadmap view showing users what is actually being worked on. Participation friction is adjustable at both ends: sign-in works with plain email or any OAuth2 provider, anonymous feedback can be enabled for unregistered users, and a moderation queue lets you approve posts before they appear when spam is a concern. Integration hooks are practical rather than sprawling - webhooks fire on events to connect Jira, Trello, or Slack, and a REST API manages the whole feedback space programmatically. Brand customization, an invitation system, private-site settings, and recap emails for administrators complete a deliberately minimal tool: it collects, organizes, and prioritizes feedback well, for free, forever.
Cusdis
Comments for small sites without Disqus's baggage: Cusdis is a lightweight, privacy-first, open-source comment system for embedding under blog posts and articles. The embedded JavaScript SDK is about 5 KB gzipped (Disqus is roughly 24 KB), sets no cookies, runs no tracking, and does not require readers to create an account or sign in before commenting. Integration is two lines: a container div with your app ID and an async script tag, with ready-made adapters for common frameworks and static site generators. Moderation is approval-based - new comments stay hidden until you approve them from the dashboard, and email notifications include a Quick Approve link that approves or replies to a comment from your phone without logging in. A webhook fires on every new comment for integrations like Telegram notifications. The widget ships with built-in i18n and dark mode. The stack is TypeScript and Next.js with a Prisma data layer, deployable via Docker with PostgreSQL. Deliberately minimalist: no ads, no reader profiling, and your comment data lives in your own database.
Nzbget
Written in optimized C++ where competitors use Python or Java, NZBGet saturates fast connections while idling on CPU and RAM - which is why the performance-obsessed Usenet downloader has long been the client of choice for NAS boxes, Raspberry Pis, and routers as much as full servers. The engineering shows in the recovery pipeline. Instead of shelling out to par2cmdline, NZBGet integrates the par2 source directly and exploits its knowledge of exactly which articles failed - quick par-verification checks only what needs checking, and its own multicore repair implementation runs 2-3x faster than the external tool on the same hardware. Fast par-rename deobfuscates scrambled filenames in seconds without a full verification pass, and rar-rename recovers names for multivolume archives even when no par2 files exist. DirectWrite assembles articles straight into sparse destination files, skipping temporary-file churn entirely, with an article cache and queue-pausing options to eliminate disk contention. Automation is complete: a remote web interface, full JSON-RPC API, RSS feeds with duplicate detection, scheduling and prioritization, and an extension manager for Python and Bash scripts triggered by download events. Sonarr, Radarr, and every major indexer integrate natively.
Motor Admin
Stop building internal tools and ship your actual product - Motor Admin exists for exactly that. Point this Ruby/Vue application at a PostgreSQL, MySQL, MariaDB, or SQL Server database and it generates a complete CRUD admin panel from your schema in under a minute - search, filters, create, update, delete, all through a polished UI, with every customization done through in-app settings rather than a DSL or boilerplate code. What elevates it beyond CRUD generators is the business-intelligence half: write SQL queries (with variables) and render results as tables, numbers, line/bar/ pie charts, funnels, or markdown; organize reports into shared dashboards; and attach queries and dashboards directly to resource pages as tabs, so an order record shows its revenue history in place. Operations beyond CRUD are covered by custom actions and a WYSIWYG forms builder that posts to your existing REST or GraphQL APIs - send a refund, trigger an email, whatever your backend exposes. Email alerts deliver scheduled reports, Slack sends personalized report alerts, and intelligence search spans all resources. Governance is included: role-based permissions with row- and column-level control (CanCanCan), an audit log of admin activity, multiple database connections, and configuration sync between staging and production. Mobile-optimized, AGPL-licensed, also available as a Rails engine.
Documize
Enterprise documentation discipline without enterprise infrastructure: Documize Community is the Confluence alternative built on exactly that trade. The entire platform - Go backend, Ember.js frontend - compiles to a single executable binary for Linux, Windows, and macOS with zero runtime dependencies: no Elasticsearch, no Redis, no JVM. Point it at PostgreSQL, MySQL, MariaDB, Percona, or Microsoft SQL Server (rare in open source, decisive in Microsoft shops), and schema migrations run on launch with native full-text search on whichever engine you chose. Content organization rejects nested-folder sprawl for Spaces, categories, and labels, and the section-based composable editor mixes rich text, Markdown, code blocks, PDFs, diagrams, and embedded Jira or Trello content in one document, with reusable blocks and templates so teams start from standards rather than blank pages. It deliberately unifies internal team docs and customer-facing documentation in one system with granular space-, document-, and action-level permissions deciding who sees what. Where wikis stop, Documize continues: content approval workflows (draft, review, approve, publish), version management, lifecycle control, feedback capture, PDF export, analytics showing what gets read and ignored, activity streams, and audit logs. Keycloak, LDAP, and SSO integrate for enterprise auth. AGPL-licensed.