Free and easy Cloud Functions in Dart with Appwrite — Part 1

How to develop, deploy and test using VScode and web console

Alfred Schilken
13 min readOct 19, 2022


What: Appwrite is a free alternative to Firebase, that can easily be hosted in every Docker environment. I host my instance in Docker on my own MacMini and make it publicly accessible via a DNS service.

Why: I registered a free Firebase account but never dared to go public with a Firebase backend. In the free plan, there are large limits on memory, cpu, and traffic but you can’t use cloud functions. To use them you must upgrade to the Spark plan and have the risk to shoot over your free limits without any price cap. There is a warning email when the limits are nearly reached but if you can’t react to this warning you have to pay. Also if a cloud function runs wild and writes endless documents or calls massive cloud functions you may have no chance to react quickly. With a self-hosted Appwrite instance there are no such risks. In the worst case, you fill up your disc space or drive the cpu load to the ceiling.

You should think about Appwrite as your backend, if

  • you want to run your backend without any financial risk caused by server usage.
  • you want to keep the backend simple and easy.
  • you want to use an API that needs a secret key but without storing the key in the app.
  • you don’t trust the privacy promises of Google.

How: Read this article :-)

Appwrite doesn’t have all the features of Firebase. There is no Crashlytics, Analytics, push notifications, and more — but you can use the free Firebase plan for these services and use Appwrite for your cloud functions, storage, and database.


  • Install Docker if you want to host Appwrite locally or sign up on a Docker cloud provider like DigitalOcean or Gitpod.
  • Install Appwrite in your Docker environment by copy-pasting a single Docker command as described at
  • Open the Appwrite console and set the admin user.
  • Install Appwrite CLI as described here: I tried the…



Alfred Schilken

Software Developer for more than 35 years, started with C and C++, after Java, Python, Groovy, Lua, Golang and Swift now focussing on Dart and Flutter