Appwrite
appwrite.io · Backend platform
Open-source backend server with auth, databases, storage and functions.
44 items · 48 source threads · 2 source types · updated 2025-08
No items match these filters.
Pain points 21
| Item | Area | Severity | Support | Last seen |
|---|---|---|---|---|
| Function executor loses sync with actual runtime containers The executor's table of active runtimes can fall out of sync with the real containers, so executions fail with a curl error and the inactive runtime deletion fails in the logs. Affects: self-hosted function users |
Reliability & bugs | Blocks work | 3 sources | 2023-10 |
| ||||
| Fresh local setup rejects database connections on sign-up Right after setting up Appwrite locally, sign-up fails because MariaDB refuses the connecting container host. The reporter resolved it by creating a root user allowed from any host. Affects: new self-hosting user |
Setup & onboarding | Causes churn | 2 sources | 2022-04 |
| ||||
| SMS provider setting changed across versions and no longer sends via Twilio After upgrading from 0.15 to 1.0, the renamed SMS provider environment variable from the new docs is not sending requests to Twilio. Affects: self-hosting user upgrading versions |
Self-hosting & upgrades | Blocks work | 2 sources | 2023-08 |
| ||||
| SMTP credentials not validated when saving project SMTP settings The connection test does not enable SMTP authentication, so wrong usernames or passwords pass and the settings are saved successfully. Affects: project admin configuring email |
Reliability & bugs | Annoyance | 2 sources | 2024-12 |
| ||||
| Create-user endpoints return a vague server error for a null name Sending a null name to the user creation endpoints produces an unhelpful server error although the name is optional. The developer, who is building their own SDK, can work around it. Affects: developer building a custom SDK |
API & developer experience | Annoyance | 2 sources | 2024-10 |
| ||||
| Server freezes randomly for 15-20 minutes under frequent function calls Locked: summary and evidence are part of Sprint Pass and Pro |
Reliability & bugs | Causes churn | 1 source | 2022-11 |
| Docker stack stops starting after MariaDB data corruption Locked: summary and evidence are part of Sprint Pass and Pro |
Reliability & bugs | Causes churn | 1 source | 2022-04 |
| Dart SDK crashes listing documents with null type error Locked: summary and evidence are part of Sprint Pass and Pro |
API & developer experience | Blocks work | 1 source | 2025-08 |
| JWT remains valid after the session has expired Locked: summary and evidence are part of Sprint Pass and Pro |
Permissions & security | Blocks work | 1 source | 2024-04 |
| User update event payload differs depending on what was changed Locked: summary and evidence are part of Sprint Pass and Pro |
API & developer experience | Blocks work | 1 source | 2023-12 |
| Refreshing a Google OAuth session empties the provider access token Locked: summary and evidence are part of Sprint Pass and Pro |
Reliability & bugs | Blocks work | 1 source | 2023-08 |
| Adding a longer enum value to an attribute causes a server error Locked: summary and evidence are part of Sprint Pass and Pro |
Reliability & bugs | Blocks work | 1 source | 2023-05 |
| Low-level control and extensibility limited, risk of lock-in Locked: summary and evidence are part of Sprint Pass and Pro |
Customization | Blocks work | 1 source | 2022-08 |
| Large existing database can only be loaded through the SDK API Locked: summary and evidence are part of Sprint Pass and Pro |
Data export & migration | Blocks work | 1 source | 2022-05 |
| Newly created storage buckets return not found, only the default works Locked: summary and evidence are part of Sprint Pass and Pro |
Reliability & bugs | Blocks work | 1 source | 2022-03 |
| Account-created function trigger skipped for OAuth signups Locked: summary and evidence are part of Sprint Pass and Pro |
Reliability & bugs | Blocks work | 1 source | 2021-11 |
| Dart runtime functions produce no output Locked: summary and evidence are part of Sprint Pass and Pro |
Reliability & bugs | Blocks work | 1 source | 2021-10 |
| Google login session persists after logging out, auto-signing in again Locked: summary and evidence are part of Sprint Pass and Pro |
Permissions & security | Annoyance | 1 source | 2025-01 |
| Fragmented documentation with outdated code snippets Locked: summary and evidence are part of Sprint Pass and Pro |
Documentation | Annoyance | 1 source | 2024-04 |
| Console form pattern validation broken, causing server errors on invalid IDs Locked: summary and evidence are part of Sprint Pass and Pro |
UI & usability | Annoyance | 1 source | 2023-08 |
| No documentation for setting up an HTTPS endpoint on an existing SSL server Locked: summary and evidence are part of Sprint Pass and Pro |
Documentation | Annoyance | 1 source | 2021-12 |
Feature requests 18
| Item | Area | Severity | Support | Last seen |
|---|---|---|---|---|
| Delete a user's sessions when the user is blocked After blocking a user, their sessions persist and cause sign-in requests from a different user on the same device to be rejected with a user_blocked error. Affects: app admin blocking users |
Permissions & security | Blocks work | 1 source | 2023-08 |
| ||||
| Atomic increment and decrement for document fields The user needs atomic updates such as incrementing a counter, because doing it in server functions cannot prevent race conditions. Firestore offers field increments and transactions for this. Affects: developer building counters like likes |
API & developer experience | Blocks work | 1 source | 2022-09 |
| ||||
| Bulk document creation endpoint for large inserts Inserting 12,000 documents requires 12,000 separate API calls, which is inefficient. The user asks for an endpoint that accepts an array of documents. Affects: developer importing large datasets |
Performance | Blocks work | 1 source | 2022-04 |
| ||||
| No direct database access or ORM support blocks production use The user says Appwrite is hard to use in production because data cannot be written directly to the database without the API. They request a Prisma-style connector and an option to disable Redis caching. Affects: developer evaluating Appwrite for production |
Integrations | Blocks work | 1 source | 2022-03 |
| ||||
| Database transactions needed to roll back grouped operations The user wants to group related create, read, update and delete operations into one transaction so everything can be rolled back on failure. Without it data integrity is hard to maintain. Affects: developer needing data integrity |
API & developer experience | Blocks work | 1 source | 2022-02 |
| ||||
| Cannot query or filter for null values in collections Locked: summary and evidence are part of Sprint Pass and Pro |
API & developer experience | Blocks work | 1 source | 2022-01 |
| Allow the same function to run in parallel Locked: summary and evidence are part of Sprint Pass and Pro |
Performance | Blocks work | 1 source | 2021-07 |
| No raw SQL-style query interface in the console for inspecting data Locked: summary and evidence are part of Sprint Pass and Pro |
UI & usability | Annoyance | 1 source | 2024-04 |
| Make JWT expiration configurable Locked: summary and evidence are part of Sprint Pass and Pro |
Customization | Annoyance | 1 source | 2023-03 |
| Record which user or team created or updated a document Locked: summary and evidence are part of Sprint Pass and Pro |
Permissions & security | Annoyance | 1 source | 2022-07 |
| Support Cloudflare R2 as an S3-compatible storage backend Locked: summary and evidence are part of Sprint Pass and Pro |
Integrations | Annoyance | 1 source | 2022-06 |
| Missing offline persistence and optimistic updates compared with Firebase Locked: summary and evidence are part of Sprint Pass and Pro |
API & developer experience | Annoyance | 1 source | 2022-05 |
| Support Postgres as the database Locked: summary and evidence are part of Sprint Pass and Pro |
Integrations | Annoyance | 1 source | 2022-01 |
| Realtime listening to query results like Firestore Locked: summary and evidence are part of Sprint Pass and Pro |
API & developer experience | Annoyance | 1 source | 2021-12 |
| Single lightweight container to run Appwrite on low-end systems Locked: summary and evidence are part of Sprint Pass and Pro |
Self-hosting & upgrades | Annoyance | 1 source | 2020-09 |
| ARM platform support for installing Appwrite Locked: summary and evidence are part of Sprint Pass and Pro |
Self-hosting & upgrades | Annoyance | 1 source | 2020-07 |
| One-click Heroku deploy as an alternative to the Docker install Locked: summary and evidence are part of Sprint Pass and Pro |
Self-hosting & upgrades | Annoyance | 1 source | 2020-06 |
| Filter users and collections by geo coordinates Locked: summary and evidence are part of Sprint Pass and Pro |
API & developer experience | Annoyance | 1 source | 2020-06 |
Workarounds 4
| Item | Area | Severity | Support | Last seen |
|---|---|---|---|---|
| Global 60 requests per minute rate limit cannot be configured The fixed rate limit per IP cannot be adjusted, though some functions like OTP resending need different limits. The user built a proxy function to control limits manually, which is hard to manage. Affects: developer using functions for OTP resend |
Customization | Blocks work | 1 source | 2022-03 |
| ||||
| Cannot query an array attribute against an array of values The user wants an array-in-array comparison but the equal query returns nothing. The workaround is a function that explodes the array into a separate collection so an OR can be used, which creates a large collection. Affects: developer querying array attributes |
API & developer experience | Blocks work | 1 source | 2022-02 |
| ||||
| No logical OR in queries, forcing redundant overlapping downloads Without OR support the user fires multiple queries with cursors to simulate it while syncing a local database. Overlap between results can reach 100 percent, wasting time and server resources. Affects: developer syncing a local database |
API & developer experience | Blocks work | 1 source | 2022-02 |
| ||||
| Missing Map attribute forces JSON stringifying and a REST facade A long-time Firestore developer lacks nested Map attributes and has to stringify nested models, then build a REST API in front of Appwrite to reshape the data. This is complicated and takes time from client development. Affects: Flutter developer coming from Firebase |
API & developer experience | Blocks work | 1 source | 2022-02 |
| ||||
Switching reasons 1
| Item | Area | Severity | Support | Last seen |
|---|---|---|---|---|
| Essential features missing or paywalled, preferring a fully open alternative A commenter who tried several BaaS tools says Appwrite and Supabase either lack essential features or put them behind a subscription. They favor Parse, which is fully open source with a large feature set. Affects: developer evaluating BaaS options |
Pricing & plans | Blocks work | 1 source | 2022-08 |
| ||||