Appwrite 2.0 Update: Native Database Engines and S3 Compatibility
Appwrite 2.0 introduces native PostgreSQL and MySQL support, an S3-compatible storage API, and a standards-compliant OAuth 2.1 identity provider.
Appwrite 2.0 introduces a shift toward native database protocols and standardized infrastructure APIs.
- Appwrite 2.0 shifts toward industry-standard protocols, offering native PostgreSQL and MySQL engines alongside an S3-compatible storage API.
- The update includes a rebuilt Console IV with integrated terminal and API explorer tools for developers.
- New identity features transform Appwrite projects into OAuth 2.1 and OpenID Connect providers for third-party integrations.
Evolution of the Appwrite Platform
Appwrite has officially released version 2.0, representing a technical shift in the platform's architectural philosophy. According to the announcement by founder Eldad Fux, the second generation of the platform aims to remove what the company calls the "abstraction tax." Historically, backend-as-a-service platforms required developers to use proprietary SDKs and APIs, which often complicated portability. Appwrite 2.0 addresses this by supporting the native protocols that developers already use in standard infrastructure environments.
This update introduces a new core engine, a rebuilt management console, and expanded database options. Critically, existing projects on the platform will continue to function without requiring manual migrations, as the underlying changes are designed to be backwards compatible with the previous generation.
Native Database Support: PostgreSQL and MySQL
One of the primary features of Appwrite 2.0 is the introduction of native PostgreSQL and MySQL engines. Unlike previous versions where database interactions were strictly managed through an Appwrite-specific abstraction layer, version 2.0 provisions real database engines within a project's specific region. These databases are exposed via dedicated hostnames secured with TLS, allowing developers to connect directly using standard tools like psql or the mysql client.
The PostgreSQL implementation defaults to version 18, with version 17 also available. It operates on the standard port 5432 and supports extensions such as PostGIS, pgvector, and pg_trgm. For MySQL users, the platform supports versions 8.4 and 8.0 on port 3306. These native engines include operational features such as point-in-time recovery, high availability with automatic failover, and connection pooling with read/write splitting. Pricing for these compute resources starts at $10 per month, with the ability to resize tiers without downtime.
Specialized Data Models: VectorsDB and DocumentsDB
In addition to relational engines, Appwrite 2.0 provides specialized databases for modern application needs. VectorsDB is designed to handle embeddings for AI-driven applications. It uses an HNSW index to maintain fast similarity searches as collections grow. Developers can choose between cosine, dot product, or Euclidean distance metrics. The system also includes built-in embedding models to convert text into vectors natively.
For workloads requiring more flexibility, DocumentsDB offers a schemaless JSON environment. In this model, two documents within the same collection can contain different fields, and adding new fields does not require a database migration. Despite this flexibility, the system maintains standard Appwrite features such as document-level permissions and realtime query updates.
S3 Compatibility and Standardized Auth
Appwrite Storage has been updated to expose an S3-compatible API. This allows developers to use the AWS CLI, AWS SDKs, and other S3-aware tools like rclone to interact with Appwrite buckets. The system authenticates using AWS Signature Version 4. A notable feature of this implementation is that buckets remain dual-addressable; a file uploaded via the S3 API is immediately visible in the Appwrite Console and accessible via the native Appwrite Storage API.
The authentication layer has also seen a significant upgrade to become a standards-compliant OAuth 2.1 and OpenID Connect provider. This transition allows Appwrite projects to act as identity providers for third-party applications. The implementation supports modern security standards including Proof Key for Code Exchange (PKCE), JSON Web Token (JWT) access tokens, and pushed authorization requests. Developers can now implement "Sign in with [Your App]" functionality, hosting their own consent screens to maintain brand consistency.
Console IV and Infrastructure Controls
The management interface, Console IV, has been rebuilt using the TanStack framework. This new interface merges the platform's documentation, blog, and project management into a single application. Two new tools are integrated directly into the console: Appwrite Terminal, which provides an authenticated CLI environment in the browser, and Appwrite Explorer, which uses OpenAPI specifications to generate guided forms for testing live API calls.
Network-level controls have been expanded through the new Appwrite Firewall. This feature allows for project-level traffic management for APIs, Functions, and Sites. Developers can create rules based on resource scope, IP address, hostname, or location, and assign actions such as rate limiting, challenging, or denying traffic. These rules are processed based on priority, ensuring that security policies are applied before traffic reaches the application code.
Enjoyed this?
Get more posts like this delivered to your inbox.