519 apps Self-Hosted
HedgeDoc screenshot thumbnail

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.

Deploy
Jirafeau screenshot thumbnail

Jirafeau

Upload a file, get a unique download link and a separate delete link - Jirafeau has done exactly this one thing since 2008. It is plain PHP with no database, no mail server, no JavaScript framework, and no external dependencies - files and metadata live on the filesystem, which is why it runs on nearly anything and why it has outlasted most of its imitators. Uploads use the HTML5 file API, so PHP's post_max_size ceiling does not constrain file size, with live progress showing speed, percentage, and time remaining. Every upload takes options: expiration from one minute to a year to unlimited, self-destruct after first download, and password protection with configurable policy - passwords can be optional, required, or server-generated with complexity rules. Server-side encryption (modern builds use XChaCha20-Poly1305) stores files encrypted at rest with the decrypt key embedded only in the download URL, never on the server, so a compromised host cannot read the contents. Unencrypted deployments get file-level deduplication - identical files stored once with multiple links. Upload access can be gated by password lists or IP allowlists, a small admin panel manages stored files, and a CLI cleanup script handles expired files via cron. Recipients can preview supported files in-browser.

Deploy
Manager.io screenshot thumbnail

Manager.io

Full double-entry accounting on your own server: Manager.io Server Edition runs the same engine as the free desktop edition as a web server, so unlimited users work in unlimited businesses concurrently, with all books on infrastructure you control. The module coverage is genuinely comprehensive - general ledger with a customizable chart of accounts, sales and purchase invoices, quotes and orders, bank and cash account reconciliation, inventory with stock tracking, fixed assets with depreciation, payroll, multi-currency with exchange gains and losses, tax codes for VAT and GST regimes, and the complete reporting stack: balance sheet, profit and loss, trial balance, aged receivables and payables, and cash flow statements. The interface is translated into more than seventy languages, reflecting a genuinely global user base. The licensing model is the refreshing part: a server license is a one-time perpetual purchase, not a subscription - twelve months of updates included, optional renewals after, no per-user tiers, no data limits, and you can downgrade to the free desktop edition anytime, so your books are never hostage. Businesses wanting collaborative accounting behind their own firewall, with data sovereignty and no monthly fees, get exactly that.

Deploy
Ntfy screenshot thumbnail

Ntfy

ntfy sends push notifications to your phone or desktop with a single curl command: publish a message to any topic and every subscriber receives it instantly, no signup or API key required. Over 31,000 GitHub stars and 106 releases since 2021 back a server supporting five priority levels mapped to distinct notification sounds and vibration patterns, emoji tags for visual classification, click actions that open URLs when tapped, and up to three action buttons per notification for view, HTTP callback, broadcast, or clipboard copy operations. File attachments push images from surveillance cameras, documents, or any binary payload directly to mobile devices. Subscriptions work through JSON streams, Server-Sent Events, WebSockets, or raw text, with server-side filtering by priority, tags, and message ID. Authentication enforces topic-level access control through Basic Auth, Bearer tokens, or query parameters, with a built-in user and ACL management system. UnifiedPush compatibility lets ntfy serve as a push distributor for Mastodon, Matrix, and other federated services. Web Push via VAPID keys delivers browser notifications without the mobile app. The server ships as a single statically linked Go binary or Docker image supporting amd64, armv7, and arm64 architectures, consuming 30-50 MB RAM at idle with SQLite-backed message caching. Integrations include Grafana, Prometheus Alertmanager, Uptime Kuma, Home Assistant, and Ansible Semaphore. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. Apache 2.0 / GPLv2 dual-licensed.

Deploy
Rachoon screenshot thumbnail

Rachoon

Named after the Bosnian word for invoice (račun) with a raccoon twist, Rachoon provides a clean self-hosted invoicing platform that handles the complete billing cycle from quotation to payment reconciliation without touching a third-party SaaS subscription. The Nuxt.js frontend serves a dashboard that surfaces revenue totals, pending balances, overdue items, and client statistics at a glance, while the AdonisJS backend manages all business logic against a PostgreSQL 16 database with TypeScript throughout the full stack. Invoice templates use Nunjucks with full HTML and CSS control—including conditional logic, loops, and custom formatting—so the rendered PDFs actually match your design intent. This is possible because Rachoon delegates PDF generation to Gotenberg, which renders invoices through headless Chrome rather than a restricted drawing API, producing output that faithfully preserves complex layouts, web fonts, and CSS grid. Client records stay organized and searchable, each linked to their invoice and quotation history with payment status tracking across pending, paid, and overdue states. Multi-currency billing with flexible tax configuration supports international operations, and all data remains on your own infrastructure. The monorepo is managed by Turborepo with a CI pipeline covering linting, PostgreSQL integration tests, build verification, and multi-platform Docker image creation for both amd64 and arm64 architectures. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. AGPL-3.0 licensed.

Deploy
Zusam screenshot thumbnail

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?

Deploy
Nanote screenshot thumbnail

Nanote

100% portability is Nanote's one non-negotiable principle as a self-hosted note-taking app. There is no database - notebooks are plain folders and notes are plain Markdown files on your filesystem, so the same notes remain fully manageable from a terminal, Notepad, or any other editor, and walking away from Nanote costs nothing because your data was never in a proprietary format to begin with. Built with Nuxt and TypeScript around the Milkdown editor, it layers modern conveniences on that plain-file foundation: fast content search across all notes using OS-optimized tooling (ugrep), native Markdown rendering, image and file attachments, and a mobile-friendly layout for reading and editing on a phone. Clever remark directives make plain text interactive - typing ::file inserts an inline upload picker, while ::today, ::now, and ::tomorrow expand to live dates and times. A fully typed REST API with validation covers automation, and access is protected by a configurable secret key. Deployment is one container with three env vars: paths for notes, uploads, and config, all bind-mountable so your Markdown lives wherever you want it - including inside an existing sync setup. AGPL-licensed and actively daily-driven by its author.

Deploy
Silicon Notes screenshot thumbnail

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.

Deploy
Lenpaste screenshot thumbnail

Lenpaste

Share code snippets, logs, configs, and notes without registration, tracking, or ads: Lenpaste is a minimal, self-hosted, anonymous alternative to pastebin.com. It is deliberately spartan in the right ways: no accounts, no JavaScript required (the entire site works in text browsers and hardened setups), and cookies used solely to store display preferences. Pastes support syntax highlighting across a long list of languages (from ApacheConf and Arduino to mainstream stacks), configurable expiration from minutes to unlimited, one-use "burn after reading" pastes that self-delete on first view, optional author attribution, and iframe embedding for dropping pastes into other pages. The form-encoded HTTP API covers everything the UI does - create pastes with title, syntax, expiration, and line-ending normalization, fetch them by ID, and query server capabilities - making it trivial to pipe command output to your paste server from shell scripts. Server operators control maximum title and body lengths, maximum paste lifetime, rate limits for viewing and creation, search-engine indexing policy, and can lock private instances behind HTTP Basic authentication. It deploys as a single lightweight Docker container, giving your team a snippet-sharing endpoint where the content never touches a third-party service.

Deploy
Commento++ screenshot thumbnail

Commento++

When Commento's original maintainer went quiet, Commento++ bundled the community's bug fixes and stalled merge requests into a batteries-included release of the beloved Go-based Disqus alternative - and kept building. The core promise is unchanged: an embeddable comments box that is orders of magnitude lighter and faster than Disqus, with no ads, tracking, or data sales - two lines of HTML and a PostgreSQL database. On top of Markdown comments, voting, Disqus import, OAuth login (Google, GitHub, Twitter) plus SSO, sticky comments, thread locking, and email notifications, the fork's additions are substantial: WebSocket-powered live comment updates with permalinks and highlight animations for new arrivals, guest commenting with a name, a cross-domain moderation dashboard for approving and deleting comments in one place, MathJax rendering support, wildcard domain matching, a reInit hook that makes single-page-application integration clean, and Perspective API spam scoring alongside the existing Akismet integration. Optional page-view logging graphs traffic on the dashboard, native SSL termination works without a proxy, and script-tag data attributes control fonts, CSS overrides, deleted-comment visibility, and polling-versus-WebSocket behavior.

Deploy
Substreamer screenshot thumbnail

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.

Deploy
Githome screenshot thumbnail

Githome

Point the gh CLI at your private Githome server and it works identically to github.com, because every REST v3 and GraphQL v4 endpoint returns byte-for-byte compatible JSON shapes, headers, Link pagination, and ETag caching. A single compiled Go binary serves the REST API under /api/v3, GraphQL under /api/graphql, git smart-HTTP transport, and a server-rendered web UI implementing the GitHub Primer design system with full functionality when JavaScript is disabled. The web interface provides repository browsing with Markdown rendering and syntax highlighting, issue tracking, pull requests with unified diffs and inline code review threads, full-text search, user profiles, and a notifications inbox. Authentication supports personal access tokens with prefix-based identification, OAuth device and web flows, and scoped permissions on every response header with only token hashes stored. The pull request system implements the complete lifecycle including async mergeable state computation, squash, merge, and rebase strategies, commit statuses, check runs, and statusCheckRollup fields. Webhooks deliver events with X-Hub-Signature-256 verification, SSRF protection, and at-least-once retry semantics. Storage supports SQLite for single-node deployments or PostgreSQL for production configurations. Performance optimizations include batch loaders replacing N+1 queries, keyset pagination, FTS-backed search, and GraphQL dataloaders. Docker deployment pulls the official multi-arch container image from GitHub Container Registry. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. Apache-2.0 licensed.

Deploy
Gray Duck Mail screenshot thumbnail

Gray Duck Mail

Email discussion lists - the venerable listserv pattern where one address relays to a whole group - without the notorious setup pain of Mailman or Sympa: that is Gray Duck Mail. Its architectural trick is requiring no mail server of your own: the C#/ASP.NET Core app monitors a POP3 inbox at any external email host supporting POP3/SMTP and aliasing, relays each incoming message to all list members via SMTP, and archives it for browsing in the web interface. Replies route back to the entire group automatically. The tedious parts of list management are handled by convention: dedicated aliases process join requests, subscription confirmations, and unsubscribes, while a bounce alias in the return-path catches delivery failures so dead addresses get handled instead of silently rotting. The web administration interface creates and removes lists, manages contacts, browses message archives, and imports or exports the local database for backup. GPLv3-licensed, Docker-distributed, and fully code-documented, it targets exactly the groups email still serves best - neighborhoods, schools, congregations, workplaces, and families - where one message keeping everyone in the loop beats yet another app nobody wants to install.

Deploy
Oxigen screenshot thumbnail

Oxigen

The social preview cards shown when links hit Twitter, LinkedIn, Slack, or Discord, generated on the fly: Oxigen is a small Go service for dynamic Open Graph images, no designer required per page. Instead of exporting static images per page, you compose a card once and drive it with parameters: title, author, website, logo, background image, and background dimming all arrive as URL query arguments, so your og:image meta tag simply points at the Oxigen endpoint with the page's own values substituted in. Every blog post, product page, and doc gets a branded, correctly sized preview generated on the fly. A built-in web UI covers interactive composition - tweak the text and imagery, watch the preview update, copy the resulting URL - while the same rendering path serves programmatic API use from static site generators, CMS templates, or build pipelines. Rendering is pure Go using the gg 2D graphics library, freetype fonts, and the imaging package, built on the kyoto framework by that project's author. Deployment is one stateless container on port 80 with no database and no external dependencies, so instances scale and restart freely.

Deploy
GlitchTip screenshot thumbnail

GlitchTip

GlitchTip speaks Sentry's protocol without Sentry's operational weight - open-source error tracking that your existing SDKs already understand. The pitch is pragmatic: instrument your application with the official Sentry SDKs you already know - any language they cover - and point the DSN at your own GlitchTip instance instead. Errors, exceptions, log messages, and Content Security Policy violations flow into one place for triage, grouped into issues with stack traces, with alerts delivered by email or webhook the moment things break. Where self-hosted Sentry has ballooned into a docker-compose stack of twenty-plus containers, GlitchTip is a deliberately lean Django and PostgreSQL application a small team can actually run. Beyond errors, it bundles three more monitoring concerns: performance monitoring takes a works-out-of-the-box approach - no dashboard building, just your slowest web requests, database queries, and transactions surfaced automatically; uptime monitoring pings your sites and alerts on failures, or runs in reverse as a dead-man's-switch heartbeat for cron jobs that must check in on schedule; and log search puts application logs alongside errors for faster debugging. Unlimited projects and team members, MIT-licensed, built by Burke Software - your event volume is limited only by your own hardware.

Deploy