Appwrite is an open-source backend-as-a-service (BaaS) platform that provides a comprehensive set of APIs for authentication, databases, storage, serverless functions, messaging, realtime, and more. The codebase is a hybrid monolithic-microservice architecture: a central PHP application (using the Swoole coroutine-based HTTP server) handles REST, GraphQL, and WebSocket requests, while background workers (over 20 types) process asynchronous tasks such as email delivery, function execution, database migrations, and usage analytics. The platform supports multiple database backends (MariaDB, MongoDB, PostgreSQL, ClickHouse) and a variety of messaging providers (SMS, email, push). It is designed for multi-tenant deployments with per-project isolation, OAuth2 social login, and extensive API versioning. The repository also contains a large collection of reusable PHP packages (the Utopia framework) that provide caching, queueing, query building, DNS resolution, NATS messaging, HTTP client, PSR-7 implementation, and more. These packages are independently published and can be extracted for use in other projects.
This repository is a curated list of free software network services and web applications that can be self-hosted. It is maintained by the community and contains hundreds of entries organized by category, along with links, licenses, and deployment methods. It does not contain any executable code; it is purely a documentation and reference resource. The list is actively maintained and used as a directory for discovering self-hosted alternatives to various SaaS services.