AnythingLLM is a full-stack, self-hosted AI chat platform designed for Retrieval-Augmented Generation (RAG) over private documents. It provides a web interface where users create workspaces, upload documents (PDF, DOCX, images with OCR, audio, etc.), which are then chunked, embedded, and stored in a vector database (default LanceDB, with support for PGVector, Pinecone, Qdrant, and others). Chat queries retrieve relevant document chunks and feed them to an LLM of choice (supporting 30+ providers including OpenAI, Anthropic, Ollama, and local models via KoboldCPP). The platform also features an extensible agent system (aibitat) with plugins for file system operations, SQL databases, Gmail, Google Calendar, web scraping, image generation, and scheduled jobs. A separate 'collector' microservice handles document ingestion and format conversion, while the 'open-computer' subproject provides a QEMU-based virtual machine for autonomous browser automation. The frontend is a React SPA with multi-user support, role-based access, internationalization, embeddable chat widgets, and a community hub for sharing agent skills, system prompts, and slash commands. The architecture is a monolith (Express server) with the collector as an isolated service, and the open-computer as a standalone CLI/service. It relies on external AI APIs, vector databases, and local storage, making it suitable for both cloud and on-premises deployment.
Appsmith is a comprehensive low-code application development platform that enables users to build internal tools, dashboards, and admin panels via a visual editor. The architecture consists of a React/TypeScript frontend (SPA) for the IDE and a Java Spring Boot backend (WebFlux) for business logic and data persistence. It features a robust plugin system for connecting to diverse datasources (SQL, NoSQL, SaaS, AI) and deep Git integration for version control and CI/CD workflows. The system is containerized for deployment and supports both Community and Enterprise editions through feature-flagged code paths.
ToolJet is a comprehensive low-code/no-code application development platform designed for building internal tools, workflows, and AI agents. The system features a visual drag-and-drop editor (AppBuilder) that allows users to construct UIs using a library of widgets, connect to diverse data sources via a plugin architecture, and manage application logic through a backend NestJS service. It supports multi-tenancy, version control (Git), and enterprise-grade security features like SSO and RBAC. The architecture is a monorepo with a React-based frontend and a NestJS-based backend, utilizing PostgreSQL for persistence and Redis for caching.
Tabby is a self-hosted AI coding assistant that provides code completion, chat, and code search capabilities through multiple interfaces: a web dashboard (Next.js/React), IDE plugins (VS Code, IntelliJ, Eclipse, Vim), and a Language Server Protocol (LSP) agent. The backend is primarily written in Rust, using Axum for HTTP services, Tantivy for indexing, and llama.cpp for local model inference. It supports enterprise features like SSO (OAuth, LDAP), team management, access policies, and background job scheduling for repository indexing, web crawling, and third-party integration (GitHub/GitLab). The system is designed to be self-contained, running without external cloud dependencies, and can operate on consumer-grade GPUs. The architecture follows a monorepo pattern with Rust crates for core services (inference, indexing, git operations, download) and TypeScript/JavaScript for the agent and UI. The web dashboard uses GraphQL (Juniper) for API communication, while IDE plugins communicate via LSP. Data flows include: code completion requests from editors → agent → backend model server → response with postprocessing; chat queries → retrieval-augmented generation (RAG) pipeline using indexed code and documentation; and background jobs for syncing repositories, crawling web docs, and indexing commits/issues/PRs. External dependencies include SQLite (via SQLx), llama.cpp, tree-sitter, and various cloud provider APIs for OAuth. The codebase demonstrates strong engineering practices with modular design, extensive testing (unit tests, golden tests), and reusable patterns such as a background job abstraction, config merging system, and a postprocessing pipeline for code completions. However, the polyglot nature (Rust, TypeScript, Java, Kotlin) and multiple client implementations introduce maintenance complexity and potential drift. The repository is actively maintained with frequent releases and a large community (33k+ stars).
Kanboard is a self-hosted, open-source project management application implementing the Kanban methodology. It provides a full web interface for managing tasks, projects, columns, swimlanes, subtasks, comments, tags, and time tracking, with drag-and-drop board interaction, automatic actions triggered by events, and extensive filtering/search capabilities. The architecture follows a custom MVC pattern with PHP controllers, models, and templates, using Pimple for dependency injection, PicoDb for database abstraction (supporting SQLite, MySQL, PostgreSQL, and MSSQL), and Symfony EventDispatcher for event-driven workflows. It includes a JSON-RPC API, CLI console commands, a plugin system, multiple authentication backends (LDAP, OAuth2, reverse proxy, TOTP), email notifications via SwiftMailer, and analytics (burndown, cumulative flow, lead/cycle time). The frontend uses jQuery and custom JavaScript components with charting via C3.js/D3.js. The codebase is well-structured with clear separation of concerns, extensive unit and integration tests, and a modular design that allows plugins to extend functionality. However, it is explicitly in maintenance mode (no new features, only bug fixes and community contributions), and several vendored libraries (SwiftMailer, PicoDb, JSON-RPC, etc.) may become outdated. The JavaScript layer relies on older patterns (jQuery, global namespace) and lacks a modern build pipeline. Configuration uses global constants rather than environment variables, and some areas show technical debt (e.g., mixed coding styles, deprecated PHP annotations). Despite these issues, the core architecture is solid, and many components (filter system, plugin installer, OAuth2 client, LDAP client, queue manager) are well-designed and potentially reusable in other PHP projects.
xyOps is a self-hosted, multi-server job scheduler and monitoring platform written in Node.js (CommonJS) with a browser-based single-page application. It is the successor to Cronicle and provides cron-like event scheduling, distributed job execution via WebSocket satellite agents, visual workflow orchestration, real-time server monitoring, alerting, ticketing, secrets management, and a plugin marketplace. The backend is organized around a central engine class (`lib/engine.js`) that mixes in modules for scheduling, job lifecycle, monitoring, alerts, maintenance, SSO, and API handling; the frontend uses a custom page framework with jQuery, CodeMirror, and WebSocket-driven live updates. In production, events are defined with triggers (schedule, interval, single, catchup, range, blackout), jobs are launched locally or on remote satellites, and job output is streamed via SSE/WebSocket. Monitoring data (CPU, memory, disk, processes) flows from satellites to the master, where JEXL expressions evaluate alert conditions and store multi-resolution timelines. The system persists to SQLite/Postgres/Redis via a custom storage abstraction (unbase) and supports import/export, snapshots, activity logging, and a plugin marketplace. Maintenance is active: frequent releases, CI workflows, security patching, and a comprehensive integration test suite are present. The codebase shows some technical debt—large monolithic files, duplicated CRUD patterns, callback-heavy async, and a custom UI framework—but the core architecture is modular, well-documented, and backed by a real test suite.
Bugsink is a self-hosted, Sentry-compatible error tracking service built with Django. It ingests error events from any Sentry SDK (Python, JavaScript, PHP, Go, etc.), groups them into issues using multiple grouping mechanisms (v1/v2), and provides a full-featured web UI for triage, search, and alerting. The system includes a custom background task queue (Snappea) backed by SQLite, pluggable event and file storage backends, and integrations with Slack, Discord, Telegram, Mattermost, Microsoft Teams, and custom webhooks. It supports multi-tenant isolation via per-tenant SQLite databases (enterprise edition), quotas, retention policies, and sourcemap/minidump processing. The codebase is well-structured with extensive tests, CI/CD, and a Docker-based deployment model. While the architecture is solid, there are some maintenance risks from vendored Sentry code, a custom task queue that is Linux-specific, and a large number of migrations and management commands.
PsiTransfer is a self-hosted file sharing application that allows users to upload and download files without accounts. It uses the tus resumable upload protocol for reliable large file transfers, supports password protection, one-time downloads, and archive downloads (zip/tar.gz). The backend is built with Node.js and Express, with a Vue.js frontend. The architecture is a monolith with a clear separation of concerns: an Express server handles routing, a file store manages disk I/O with path traversal protection, an in-memory database tracks metadata with garbage collection, and a custom tus protocol implementation (tusboy) handles resumable uploads. The codebase demonstrates good security practices (argon2 password hashing, input validation, safe filename handling) and is actively maintained with CI/CD, Docker support, and comprehensive tests.
EasyInvoicePDF is a free, open-source, browser-based invoice generator that creates PDF invoices with live preview, no sign-up required, and no ads. Built with Next.js (App Router), React 19, TypeScript, Tailwind CSS, and shadcn/ui, it runs entirely client-side for the public editor—invoice data stays in localStorage and is never uploaded to a server. The application supports 10 languages, 120+ currencies, two PDF templates (default and Stripe-inspired), QR codes, multi-page PDFs, and shareable compressed URLs. A private server-side API (Bearer token + Upstash rate-limited) handles monthly recurring invoice generation via Trigger.dev cron, uploading PDFs to Google Drive, emailing via Resend, and sending Telegram notifications. The codebase also includes extensive SEO landing pages, a changelog, a founder page, and comprehensive testing (Vitest unit tests, Playwright e2e with PDF screenshot baselines). Architecture: The app uses two root layouts—unprefixed English-only routes (/) and locale-prefixed routes (/[locale]) for i18n via next-intl. The main invoice form is a large client component with react-hook-form and Zod validation, debounced autosave, and template/language switching. PDF rendering uses @react-pdf/renderer on the client for live preview and on the server for automation. External dependencies include Upstash Redis (rate limiting, queue), Resend (email), Google Drive (archive), Telegram (notifications), Sentry (error tracking), Umami (analytics), and Trigger.dev (scheduled tasks). The repository also contains a rich ecosystem of agent skills (Vercel React best practices, composition patterns, SEO audit, etc.) used in development workflows. Key data flows: User fills form → state stored in localStorage and optionally shared via compressed URL → PDF preview rendered client-side via @react-pdf/renderer → download or share. For monthly automation: Trigger.dev cron triggers server-side PDF generation → upload to Google Drive → email via Resend → Telegram notification. The backend API also supports a preview endpoint for sample PDFs and a Telegram webhook for on-demand generation.
OS1 (nokodo) is a full-stack AI-powered collaborative platform combining autonomous agents, deep research, real-time collaboration, and extensible tooling in a self-hostable workspace. The system features a modular architecture with FastAPI/Python backend, Svelte 5 frontend, and separate admin console, communicating via REST API, WebSocket, and Redis pub/sub. Core capabilities include AI agent construction with tool integration (web search, code execution, file operations), persistent memory system with vector search, real-time document editing, and comprehensive resource management (threads, notes, files, projects, calendars, reminders). The platform emphasizes extensibility through plugin systems for tools, filters, and hooks, with production-ready deployment via Docker Compose.
Gogs is a self-hosted Git service written in Go, providing a full-featured platform for hosting Git repositories with issue tracking, pull requests, wiki, webhooks, and Git LFS support. The backend is a monolithic Go application using a dual web framework (Macaron and Flamego) and dual ORM (XORM and GORM) during an ongoing migration. The frontend is a hybrid of legacy server-rendered templates and a modern React SPA built with TanStack Router, Radix UI, and Tailwind CSS. The system supports multiple authentication backends (LDAP, SMTP, PAM, GitHub OAuth), SSH and HTTP Git protocols, and extensive REST API. It is deployed via Docker with s6 supervisor and backup rotation scripts. The codebase demonstrates strong engineering practices with well-structured utility packages, security-conscious input validation, and comprehensive test coverage using golden files and mock stores. However, it carries technical debt from the framework migration, vendored outdated frontend plugins (CodeMirror 5.17.0), and a monolithic legacy JavaScript file.
SigNoz is a full-stack open-source observability platform that ingests OpenTelemetry data (traces, metrics, logs), stores it in ClickHouse, and provides a rich web UI for querying, dashboards, alerts, and infrastructure monitoring. The backend is written in Go with a modular architecture using factory/provider patterns, SQL migrations, and OpenFGA-based authorization. The frontend is a React/TypeScript SPA with Zustand state management, react-query, uPlot charts, and a comprehensive query builder supporting PromQL, ClickHouse SQL, and builder queries. The enterprise edition adds anomaly detection, RBAC, licensing, and usage metering. The codebase is actively maintained with extensive testing (unit, integration, e2e) and CI/CD, though some legacy API versions and deprecated clients indicate ongoing migration.
Wallos is a self-hosted PHP web application for tracking personal subscriptions, payments, and budgets. It provides a full CRUD interface for subscriptions with categories, currencies, payment methods, and household members. The backend is PHP 8.3 with SQLite, served via Nginx and PHP-FPM in a Docker container. It supports multi-user accounts, OIDC/OAuth login, TOTP two-factor authentication, and email/password reset flows. The application includes a rich set of notification channels (email, Discord, Telegram, Pushover, Gotify, ntfy, Web Push, webhooks, and more) triggered by cron jobs for upcoming payments and cancellations. A statistics dashboard aggregates costs, trends, and budget comparisons. The codebase is organized as a flat PHP application without a framework, using custom includes for shared logic and a simple API layer for external access. The architecture follows a page-based pattern where each PHP file serves as a route, with AJAX endpoints under `/endpoints/` for dynamic actions. The application demonstrates attention to security with CSRF tokens, prepared statements for all SQL queries, input validation, and a centralized SSRF protection module for outbound HTTP requests. A notable feature is the Web Push notification implementation that follows RFC 8290-8292 using VAPID and ECDH encryption. The currency conversion system uses a WeakMap-based cache per request to avoid repeated API calls. The codebase is actively maintained with frequent releases and a comprehensive migration system. However, the code exhibits significant repetition across notification channels and logo handling, with many nearly identical endpoint files. The i18n system is manually maintained across 20+ languages, leading to potential drift. The application lacks a formal testing framework beyond a custom test harness that checks security regressions and data integrity. The absence of a Composer dependency manager and reliance on vendored libraries (PHPMailer, Parsedown) adds maintenance overhead. Overall, Wallos is a functional, feature-rich self-hosted application with some well-crafted security components but suffers from code duplication and boilerplate typical of PHP applications without a framework.
MediaCMS is a production-grade, self-hosted video and media content management platform built as a Django monolith with a React frontend. In production it ingests video, audio, image, and PDF uploads via a chunked Fine Uploader flow, transcodes video through FFmpeg into multiple MP4/HLS renditions matched by configurable encoding profiles, streams them through a customized video.js player, and supports subtitles (manual upload and Whisper transcription), chapter markers, video trimming/editing, playlists, comments with mention notifications, likes, reports, and PostgreSQL full-text search. It ships a REST API under /api/v1/, an editor/manager admin UI, RSS feeds with Yahoo Media RSS extensions, and a small Click-based CLI. The backend is organized into Django apps (files, users, actions, rbac, lti, saml_auth, identity_providers, migrationservice, uploader) with DRF serializers/views, Celery workers for encoding and notifications, Redis as broker, and Nginx serving protected media through an auth_request subrequest. A significant portion is education/LMS-focused: an LTI 1.3 tool provider with deep linking, SAML authentication, RBAC groups mapped to categories, Moodle filter and TinyMCE plugins, and a migration service that imports media, captions, and users from Kaltura, Panopto, and YouTube with quiet-hours scheduling and encrypted credentials. This gives the repository a mild data-pipeline flavor through the migration service, but its dominant character is a full web application. Engineering quality is strong for an open-source Django project: extensive pytest coverage across API, permissions, LTI, SAML, RBAC, migration providers, and pipeline tasks; a large Jest suite for frontend components, hooks, and stores; semantic-release and pre-commit CI; and a clean provider abstraction for migration sources. Weaknesses include legacy webpack-built minified bundles checked into static/, a mix of JSX and TSX across the frontend, duplicated iOS player code between the video-editor and chapters-editor tools, several TODO/FIXME markers, and version-sensitive external dependencies (yt-dlp, Moodle, LTI). Overall it is an actively maintained codebase with several genuinely reusable components, though it carries moderate legacy debt in its frontend tooling.
PriceBuddy is a self-hosted price tracking application built with Laravel and Filament. It monitors product prices across multiple retailers, sends notifications for price changes and stock availability, and provides insights like deal scores and seasonality analysis. The system features a web interface, API, and CLI for interaction, with background jobs handling periodic price checks. AI-assisted scraping is available for difficult sites. The architecture follows Laravel conventions with Eloquent ORM, event-driven notifications, and a modular service layer. Docker deployment simplifies setup with separate containers for app, database, and scraper services.
Kurrier is a self-hosted unified communication platform designed to aggregate email, calendars, contacts, and cloud storage into a single workspace. It functions as a multi-tenant SaaS application, supporting various protocols including IMAP/SMTP for email, CalDAV/CardDAV for scheduling and contacts, and WebDAV/S3 for file storage. The system emphasizes data ownership and privacy, allowing users to manage multiple email identities and storage volumes within isolated workspaces. The architecture follows a monorepo structure with a clear separation of concerns. The frontend (`apps/web`) is built on Next.js 16 with React 19, utilizing Server Actions for business logic and a Nitro-based worker (`apps/worker`) for background jobs like IMAP sync and email delivery. Data persistence is handled by PostgreSQL with Drizzle ORM, while Redis manages job queues and caching. The platform integrates with external providers via a strategy pattern, supporting services like Google Workspace, AWS SES, and various SMTP providers. Key components include a robust provider abstraction layer for pluggable email and storage backends, a centralized encryption vault for sensitive credentials, and a standardized Server Action wrapper for consistent error handling. The codebase demonstrates high craftsmanship in its sync logic and multi-tenancy implementation, though it carries some technical debt related to type safety and complex DAV/IMAP state management.
Nextcloud News is an RSS/Atom feed reader app for Nextcloud. It provides a PHP backend (MVC with controllers, services, DB mappers) and a Vue 3 + TypeScript frontend. Users can subscribe to feeds, organize them into folders, read articles with read/unread/starred states, apply keyword filters, import/export OPML, and sync with mobile/desktop clients via REST APIs. Background cron jobs handle feed updates and cleanup. The architecture follows Nextcloud's app framework with scoped dependencies to avoid conflicts. Key entry points include the web UI (Vue SPA), CLI commands (`occ news:*`), and API endpoints (v1-2, v1-3, v2). External dependencies include feed-io for parsing, Guzzle/PSR-18 for HTTP, and Readability.php for full-text extraction. The codebase is well-tested with unit, integration, and BATS tests, and uses modern tooling (Vite, PHP 8.2+).
This repository provides deployment and configuration artifacts for Mend Renovate Self-Hosted, a commercial offering that wraps the open-source Renovate dependency update tool. It contains Helm charts for both Community and Enterprise editions, Docker Compose examples, environment variable references, TLS configuration templates, and OpenAPI specifications for the management API. The actual application code (server, worker, web UI) is distributed as pre-built Docker images and is not present in this repo. The system operates as a distributed job queue: a server schedules and enqueues dependency update jobs, workers execute Renovate CLI runs, and an optional web UI provides administrative dashboards. Enterprise features include worker queue isolation, Kafka event notifications, RBAC, and enhanced reporting (LibYears, pull request stats). The repository is well-documented with clear setup guides for GitHub, GitLab, and Bitbucket Data Center, and includes CI/CD workflows for linting and releasing Helm charts. While the repo contains no application source code, its deployment artifacts are professionally structured and follow best practices for extensibility (e.g., extra manifests, worker pool templates).
This repository is the official application store catalog for the 1Panel server management panel. It contains hundreds of versioned definitions for self-hosted software (databases, CMS, monitoring, AI tools, messaging, etc.), each packaged with a Docker Compose template, a structured data.yml metadata file defining installation form fields, and lifecycle scripts (init, upgrade, uninstall). The repository itself is not a running service; it is a curated, machine-readable configuration catalog consumed by the 1Panel platform to present one-click deployment options and manage application upgrades. The architecture follows a consistent pattern: apps/<name>/<version>/ with standardized docker-compose.yml files using external networks (1panel-network), PANEL_* environment variables, and labels createdBy: "Apps". The repo relies on external Docker images and the 1Panel runtime, and uses Renovate bots and CI workflows to track upstream version changes and enforce validation rules (e.g., OpenResty module catalog checks). It also bundles complex components like a WAF rule set for OpenResty and AI prompt templates for applications such as TrendRadar, showcasing cross-app reusability of configuration patterns.
Mosparo is a self-hosted, open-source spam protection system that replaces CAPTCHA on web forms. It is built as a monolithic Symfony 6.4 application (PHP 8.1+) with Doctrine ORM supporting MySQL, PostgreSQL, and SQLite. The system provides a multi-tenant architecture where each project (website) can define custom spam detection rules (field rules for words, emails, domains, IPs, user agents, etc. and submission rules like random value detection) and security measures (honeypot, minimum time, proof-of-work, request delaying, IP lockout, equal submission blocking). Integration is done via a frontend JavaScript widget that communicates with a verification API. The codebase also includes an administration panel for system settings, user management, GeoIP2 integration, rule package imports, statistics, and self-update capabilities. The architecture follows standard Symfony patterns with controllers, services (helpers), repositories, and Twig templates. The rule engine is extensible via interfaces and is reasonably well-tested at the unit level. The project is actively maintained with a robust CI/CD pipeline and Docker support.