Docs
Skip to content

Terraform provider

Terraform provider_

Manage Appwrite infrastructure as code with the official Terraform provider. Works with Appwrite Cloud and Community Edition.

3 min read

Raw

The Terraform provider for Appwrite lets you declare TablesDB (databases, tables, columns, indexes, rows), Storage (buckets and files), Auth (users and teams), Functions (functions and variables), Sites (sites and variables), Messaging (providers, topics, subscribers), webhooks, backup policies, and more in .tf files, and apply those changes through HashiCorp Terraform. It is the official way to automate Appwrite project configuration alongside the rest of your stack.

Resources

Resource types use the appwrite_ prefix and match the Terraform Registry documentation.

AreaResources
TablesDBappwrite_tablesdb, appwrite_tablesdb_table, appwrite_tablesdb_column, appwrite_tablesdb_index, appwrite_tablesdb_row
Storageappwrite_storage_bucket, appwrite_storage_file
Authappwrite_auth_user, appwrite_auth_team
Functionsappwrite_function, appwrite_function_variable, appwrite_function_deployment
Sitesappwrite_site, appwrite_site_variable, appwrite_site_deployment
Messagingappwrite_messaging_provider, appwrite_messaging_topic, appwrite_messaging_subscriber
Webhooksappwrite_webhook
Backupsappwrite_backup_policy

Data sources

Data sources read resources that already exist instead of creating them. Use them to reference identifiers or attributes from resources created outside Terraform or in another state.

NameDescription
appwrite_tablesdbLook up a database by ID
appwrite_storage_bucketLook up a storage bucket by ID
appwrite_auth_userLook up a user by ID
appwrite_auth_teamLook up a team by ID
appwrite_functionLook up a function by ID
appwrite_siteLook up a site by ID
appwrite_messaging_topicLook up a messaging topic by ID
appwrite_webhookLook up a webhook by ID

What is Terraform?

Terraform is an infrastructure-as-code tool. You write configuration in a declarative language (HCL) that describes what should exist; Terraform figures out how to create or update it.

If you are new to the idea:

  • Provider: A plugin that teaches Terraform how to talk to a specific API (here, Appwrite).
  • Resource: Something Terraform should create and manage (for example an Appwrite database or table).
  • State: Terraform remembers what it already created so the next run can update or destroy only what changed.
  • Plan / apply: You run terraform plan to preview changes, then terraform apply to execute them.

You still use the Appwrite Console and SDKs for day-to-day app development; the provider is for repeatable, version-controlled setup of project resources across environments.

Official repository and registry

Source code, issues, and contribution guidelines:

The provider works with Appwrite Cloud and Community Edition (self-hosted Appwrite). You point it at your API endpoint and authenticate with a project API key.

Next steps

Was this page helpful?

Share what worked or what we should fix. Once approved, our agents automatically apply suggested updates to the docs.