Twenty
Salesforce's core workflow, open-source and on your own server: Twenty is a modern CRM built as exactly that alternative. It ships the standard CRM objects out of the box: people, companies, opportunities, notes, and tasks, displayed in table and kanban views with drag-and-drop and real-time updates. Its defining technical feature is a metadata-driven data model: you define custom objects and fields in the UI, and the backend regenerates its GraphQL schema at runtime, so a new object gets working queries, mutations, filters, and sorting within seconds, with no migrations to run - adapting the CRM to your sales process never requires code changes. A REST API is auto-generated from the same schema, GraphQL subscriptions push real-time updates, and webhooks fire on record changes for external integration. A visual workflow builder automates actions like notifications and field updates, TypeScript-based apps extend the platform with custom logic and frontend components, and email and calendar sync pulls Gmail messages and meetings onto contact timelines so communication history sits next to the record. The stack is NestJS with TypeORM, PostgreSQL, Redis, and BullMQ on the backend, React with Jotai on the frontend. Self-hosting on RepoCloud means unlimited users with no per-seat licensing - the pricing model that penalizes growing teams on commercial CRMs - and your pipeline, contacts, and deal history live in your own PostgreSQL database rather than a vendor's.
EspoCRM
Teams tired of paying Salesforce or HubSpot per seat run EspoCRM: an AGPL-licensed PHP application with a fast single-page frontend over a REST API, covering sales, support, and marketing in one uncluttered interface. The sales core is complete - leads, contacts, accounts, opportunities with customizable pipeline stages, kanban views, calendars, meetings, and calls. Email is deeply integrated rather than bolted on: IMAP sync links messages to CRM records automatically, and mass email campaigns run with reusable templates, tracking, and Web-to-Lead forms feeding the funnel. Support teams get case management and a customer portal where clients track their own tickets and access a knowledge base. The real differentiator is the Entity Manager: create custom entities, fields, relationships, and layouts from the admin UI without code, with dynamic logic showing or hiding fields conditionally - EspoCRM is as much a business-application platform as a CRM. Formula scripting handles calculated fields and record automation in the free core; the optional Advanced Pack adds visual BPM process design and workflow rules. Role-based permissions with team and territory scoping, full-text search, reports, and a straightforward REST API for n8n or custom integrations round it out. Runs on PHP 8.3+ with MySQL, MariaDB, or PostgreSQL - unlimited users, zero per-seat fees.
Weblate
Over 2,500 open-source projects and companies in more than 165 countries localize with Weblate - the libre continuous localization platform and the standard self-hosted answer to Crowdin and Lokalise. Its defining trait is that translations live in the same version control as your code: Weblate talks directly to Git and Mercurial, pulls new source strings automatically via webhooks, and pushes finished translations back either as direct commits or as pull/merge requests on GitHub, GitLab, Gitea, Bitbucket, Azure DevOps, Gerrit, or Pagure. Every translator is properly credited in the commit history. For translators, it is a full computer-aided translation tool: translation memory, glossaries, customizable quality checks that catch placeholder and formatting mistakes, propagation of identical strings across components, and automatic suggestions from machine translation services - DeepL, Amazon Translate, LibreTranslate, and others, with per-service priorities and support for custom Python engines. It handles the format zoo (gettext PO, JSON, YAML, Android XML, iOS strings, and dozens more) and supports crowdsourced workflows with granular access control, workspaces, two-factor authentication, and reviewer approval steps. A REST API, CLI client, and add-on system automate everything else. Built on Python/Django, GPL-licensed, with no per-string or per-seat pricing when self-hosted.
Focalboard
From the Mattermost team comes Focalboard, an open-source, MIT-licensed project board tool - a self-hosted alternative to Trello, Asana, and Notion databases, written in Go with a React frontend. Every board renders the same card data four ways: Kanban with drag-and-drop columns, a spreadsheet-style table, an image-forward gallery, and a calendar. Cards carry unlimited custom properties - dates, dropdowns, checkboxes, people, URLs - and boards can be grouped, filtered, and sorted by any property combination, with unlimited saved filtered views for quick access. Built-in templates cover the common workflows (meeting agendas, content calendars, project tasks, roadmaps, sprint planning), or you can build fully custom boards from scratch. Collaboration is real: card comments with @mentions, per-board permissions for teams or individuals, file attachments stored on your own infrastructure, and archiving with backup snapshots. Migration tooling imports existing boards from Trello (JSON export), Asana, and Notion, so switching does not mean starting over. It ships in 20+ languages and runs as a lightweight multi-user personal server. Worth knowing before deploying: Mattermost has shifted primary development to the integrated Mattermost Boards plugin, so the standalone edition is community-maintained - stable and functional, but evolving slowly. For teams wanting a free, private Trello without per-user fees, it remains a solid pick.
Matomo
Several EU data protection authorities have ruled Google Analytics deployments unlawful; Matomo (formerly Piwik) is the most complete open-source replacement - a full analytics platform with 30+ report types across visitors, actions, referrers, goals, and ecommerce. The self-hosted PHP/MySQL edition is free and keeps every byte of visitor data on your infrastructure, which matters more each year: several EU data protection authorities have ruled Google Analytics deployments unlawful, while Matomo configured for cookieless tracking is approved by France's CNIL for use without a consent banner. All reporting runs on 100% unsampled data - no extrapolation at high traffic volumes. The GDPR Manager handles data subject requests and deletion, with IP anonymization, retention controls, and Do Not Track support built in. A dedicated importer pulls your historical Google Analytics data so years of trends survive the migration. Core analytics cover campaigns, custom variables and dimensions, entry/exit pages, downloads, site search, and full ecommerce tracking with a comprehensive HTTP API for reporting and ingestion. Premium plugins extend the platform into Hotjar-class behavioral tooling - click and scroll heatmaps, session recordings, conversion funnels, form analytics, A/B testing - plus a tag manager and SAML SSO. For teams that need GA-equivalent depth with actual data ownership, Matomo is the realistic drop-in replacement.
Tolgee
Hold Alt/Option, click any string in your running app, and edit the translation in place: Tolgee is an open-source localization platform built the way developers wish translation worked - changes save straight to the platform with no hunting through JSON or PO files. In-context editing works even in production via the Tolgee Tools browser extension, which injects credentials without touching source code, so a client or colleague with zero coding skills can translate the product inside the product. The SDKs (React, Angular, Vue, Svelte, plus iOS and Android) extract context from each UI element and capture one-click screenshots, giving both human translators and machines the surrounding meaning that raw string files lose. Autonomous translation uses that context: new keys are instantly filled from translation memory or machine translation (DeepL, Google Translate, AWS Translate), with optional human review afterward - shipping no longer waits on a translation agency. A CLI handles import/export, a REST API covers automation, a Figma plugin bridges design, and an MCP server lets AI coding assistants search keys, create translations, and trigger machine translation without leaving the editor. Self-hosting this Crowdin/Phrase/Lokalise alternative keeps every string, screenshot, and API key on your infrastructure.
Mautic
A campaign engine wrapped around a contact database: Mautic, the largest open-source marketing automation platform, replaces HubSpot or Marketo without per-contact pricing. Contacts arrive through forms, landing pages, imports, or the REST API and flow into segments: dynamic filters that update automatically from behavior, custom profile fields, or point scores. Segments decide who qualifies; campaigns decide what happens. The drag-and-drop Campaign Builder composes multi-step workflows from actions, positive/negative decision trees, and conditions (field values, tags, device type, segment membership, point thresholds), with static or relative delays, a Jump-to-Step action for moving contacts between branches, and handoffs that push contacts into CRMs or entirely different campaigns. Messaging covers email, SMS, and web/app push out of the box, with A/B testing and a drag-and-drop email builder; dynamic website content swaps page sections per known contact. Lead scoring assigns points for clicks and visits with decay for inactivity, while stages track funnel position. Native integrations cover Salesforce, HubSpot, Zoho, and Dynamics, plus a full REST API for custom sync. It runs on PHP and MySQL with cron jobs processing campaigns and segment rebuilds - self-hosting keeps your entire contact database and behavioral history under your control.
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.
Octobox
What Gmail did for email, Octobox does for GitHub notifications: an ephemeral, unmanageable stream becomes an inbox you can actually triage. GitHub marks notifications read the moment you glance at them and lets old ones vanish days later; heavy maintainers end up building elaborate Gmail filter systems just to cope. Octobox - a Ruby on Rails app over PostgreSQL - syncs your notifications into a persistent inbox with an explicit archived state: mark a thread done, and if the issue or PR sees new activity, it pops back automatically, so nothing silently falls through. Triage is keyboard-driven with Gmail-style shortcuts (j/k to navigate, e to archive, m to mute, s to star), and multi-select clears noisy repositories in bulk. Filtering is where it earns its keep: slice by repository, organization, type, action, state, reason, CI status, labels, author, assignee, or bot origin, combine prefix search filters, and pin favorite searches to the sidebar. The optional GitHub App enriches entries with live PR/CI status and labels so you can decide without clicking through. Auto-archive rules clear merged PRs and closed issues; muting and snoozing silence the rest. A REST API supports integrations. Self-hosting keeps your notification metadata - a map of everything you work on - on your own server.
Etherpad
In continuous open-source development since 2009, Etherpad is the original really-real-time collaborative editor - used by Wikimedia, governments, EU public-sector institutions, and tens of thousands of self-hosters. Its core idea is visible authorship: every keystroke is attributed with author colors, every revision preserved, and the timeslider lets you scrub through a document's entire history character by character. Multiple people type into the same pad and see each other's changes instantly - it scales to thousands of simultaneous editors per pad. The base install is deliberately lightweight; capability comes from roughly 290 plugins installable from the admin web UI: comments, images, tables, drawing, video chat via WebRTC, math rendering, code highlighting, and authentication via OAuth, LDAP, or OpenID. AI is pointedly a plugin, not a default - you choose the model and infrastructure, or never turn it on. There is no telemetry. For integrators, an HTTP API (with OpenAPI definitions at /api/openapi.json) manages pads, users, and groups for embedding in your own applications, and the ueberDB abstraction layer supports PostgreSQL, MySQL, Redis, MongoDB, and SQLite backends. Full data export is built in, the format is open, it is translated into 105 languages, and it runs on anything from a Raspberry Pi to a server farm. Apache 2.0 licensed, Node.js based.
Open-Meteo
High-resolution weather forecasts became a free commodity because of Open-Meteo - and this deployment puts the whole open-source engine on your own infrastructure. The public open-meteo.com service aggregates national weather models (NOAA GFS, DWD ICON, ECMWF, Meteo-France, and others) into one consistent JSON interface; self-hosting gives you that same API without rate limits, third-party dependency, or usage metering. The architecture is two cooperating services: the API server exposes forecast endpoints fully compatible with Open-Meteo query parameters - latitude, longitude, hourly and daily variables like temperature, precipitation, wind, and radiation - while a background sync worker downloads fresh weather model data on a configurable interval into a shared persistent volume at /app/data, so forecasts stay current and survive restarts without re-downloading. You control which weather models to mirror, which variables to store, how much historical depth to keep, and how often to refresh - meaning a lean deployment can sync only the model and region you actually query. Responses are plain HTTP/JSON, so integration with dashboards, Home Assistant-style automations, agricultural monitoring, IoT fleets, or any application takes minutes. For anyone making thousands of forecast calls a day, replacing a metered weather API with your own instance turns a recurring bill into a flat infrastructure cost.
Journiv
A Day One alternative that keeps your most personal writing on your own server: Journiv is journaling purpose-built for self-hosters. The FastAPI backend runs on SQLite by default with optional PostgreSQL, Redis, and Celery for background work, behind a clean, minimal web UI. Unlike general note-taking apps, it ships the features journaling actually needs: customizable moods and mood groups, activity tracking, goals with automated progress from logged activities, and daily writing prompts filterable by category and difficulty so a blank page never stalls you. Quick Log captures a moment in seconds and expands into a full entry later; "On This Day" resurfaces entries from past weeks, months, and years. Multiple journals separate work, gratitude, and personal writing, with tags and full-text search across everything, plus media uploads with automatic thumbnails and an Immich integration for linking photo-library memories. Analytics chart mood trends and writing patterns over time. Data portability is taken seriously: native import of Day One exports, JSON/Markdown/HTML export, and a standalone HTML viewer that opens your archive in any browser with no server running. OIDC single sign-on works with Authentik or Keycloak, and multi-arch images cover amd64 and arm64.
Mealie
A recipe manager that feels like a consumer product rather than a homelab experiment: Mealie pairs a FastAPI backend with a reactive Vue frontend for the most polished self-hosted meal planning around. The killer feature is the recipe scraper: paste a URL from hundreds of supported cooking sites and Mealie imports the ingredients, steps, times, and photos automatically. Structured HTML/JSON paste, a Markdown-capable manual editor, and imports from other recipe apps (like Tandoor) cover everything else. Meal planning uses a drag-and-drop calendar with breakfast, lunch, dinner, and snack slots, plus rule-based random recipe insertion - constrain the pool by tags or categories per meal type or weekday. Shopping lists link recipes so all ingredients land in one place, organized into supermarket sections, and update in real time for everyone in the household. The multi-tenancy model is genuinely thought through: isolated Groups can host multiple tenants, and Households within a group share recipes and organizers while keeping meal plans and shopping lists private. Cookbooks group recipes by your own criteria, a cooking mode stays readable on a phone propped against the backsplash, and 35+ language translations ship built-in. A fully documented REST API and scheduled webhooks (e.g., today's meal plan to Home Assistant) make it automatable, with SQLite or PostgreSQL storage and automatic backups.
Bookstack
Most wikis die of flat page-and-tag sprawl; BookStack's defining decision is enforced structure - an MIT-licensed PHP/Laravel platform (over MySQL) where content lives in a hierarchy of shelves, books, chapters, and pages, the way a physical library works. A shelf maps to a department, a book to "Engineering Runbooks," a chapter to "Database Procedures," a page to the actual document. That opinionation removes the "where does this go?" friction and keeps knowledge bases tidy as they grow. Editing works both ways: a clean WYSIWYG editor for most users, a Markdown editor with live preview for those who prefer it - switchable per page. Full-text search spans all books or scopes to one, with direct links to individual paragraphs, and include tags let you embed one page's content inside another so shared blocks update everywhere at once. Every edit creates a diffable, revertible revision. Page templates standardize recurring formats, tags add cross-cutting categorization, and built-in diagrams.net integration draws architecture diagrams in place. Authentication covers email/password plus OIDC, SAML2, LDAP, and social login; a full role and permission system locks content down per shelf, book, or page. Pages and books export to PDF, HTML, plain text, and Markdown, a REST API automates content, and the whole thing runs happily on the cheapest VPS you can find.
LubeLogger
Vehicle maintenance records shouldn't live in a homemade spreadsheet and a shoebox of receipts - LubeLogger exists because of exactly that. It's a self-hosted .NET web application (from Hargata Softworks) that gives every vehicle in your garage a complete digital history: service, repair, and upgrade records categorized and searchable, with invoices and receipts attached as documents; fuel fill-ups that compute economy in MPG, UK MPG, L/100KM, or KM/L without spreadsheet tedium; taxes, odometer logs, inspections, equipment, and supplies inventory for tracking the parts and fluids on your shelf. The reminder system is what saves engines: recurring reminders trigger by date, odometer reading, or whichever comes first - exactly how real service intervals work - so oil changes and timing belts stop relying on memory. A dashboard summarizes expenses by year, month, and category, a planner tracks to-dos by type, priority, and progress, and professional vehicle reports print a full history - genuinely useful when selling a car. Collaboration is built in: invite household members as collaborators on shared vehicles, with single sign-on support. Custom fields adapt records to your needs, CSV import/export moves data freely, an API enables automation, and the mobile-tested UI installs as a PWA on iOS and Android. MIT-licensed.
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.
Countly
Mixpanel, OneSignal, and Crashlytics in one self-hosted stack - Countly is an all-in-one product analytics and engagement platform where every byte of first-party data stays on your server. A Node.js application over MongoDB, it collects through ten battle-tested SDKs spanning iOS, Android, web JavaScript, React Native, Flutter, Unity, and desktop (plus a data write API for anything else), and has powered tens of thousands of mobile, web, and desktop apps since 2012. The analytics core covers sessions, custom events, views, user profiles, and real-time dashboards, with exploration tools built for product managers as much as analysts. What separates Countly from pure analytics tools is acting on the data without third parties: built-in push notifications send automated, transactional, and personalized messages to iOS (APNs), Android (Firebase), and Huawei devices, with the SDK handling token retrieval and permission flows automatically; crash reporting captures symbolicated native crashes on iOS and Android plus JavaScript errors, correlated with the same user and session data. Email reports keep stakeholders updated, and the plugin-based architecture means features load as modules. For GDPR-sensitive products, engagement without piping user data to advertising companies is the entire point. AGPL-licensed server, installable in minutes.
Unleash
Deployment decoupled from release: Unleash, the most popular open-source feature management platform on GitHub, is a Node.js server backed by PostgreSQL. Ship code dark, then control who sees it through activation strategies: gradual percentage rollouts, targeting by user ID, IP, hostname, or application name, custom constraints against your own context fields, and scheduled or time-limited releases. Strategies stack - a flag activates if any strategy matches - and strategy variants layer A/B versions on top of the on/off decision. Each flag carries per-environment configurations, so a feature can run at 100% in staging while canarying at 5% in production. Backend SDKs (Node.js, Java, Go, Python, Ruby, .NET, PHP, Rust, and more) fetch configuration and evaluate flags locally, so a flag check adds zero network latency to request paths; frontend SDKs for React, Vue, Svelte, iOS, Android, and Flutter evaluate through a proxy layer. Flag hygiene is built in: flags are typed (release, experiment, operational, kill-switch, permission) with expected lifetimes, and Unleash marks overdue flags as potentially stale and surfaces unknown flags your SDKs request but that don't exist. Self-hosting via Docker keeps flag data, targeting rules, and evaluation infrastructure entirely on your side.