Christy Jacob
Posted on February 16, 2021
Appwrite recently released v0.7, its biggest release yet, and with it comes the much-awaited Appwrite CLI. With the Appwrite CLI you can quickly interact with your Appwrite backend right from your terminal or CI server. The CLI is also cross-platform and offers the same experience on macOS, Windows, and Linux.
š Installation
The Appwrite CLI is a Node based command line tool to help you interact with the Appwrite API. The CLI is distributed both as an npm package
as well as pre built binaries for specific operating systems and architectures.
Install using NPM
If you have npm
installed, it's as easy as running
$ npm install -g appwrite-cli
Install prebuilt binaries
If you do not have npm
installed, you can always install the prebuilt binaries for your architecture and OS using our convenient installation scripts.
- Linux / MacOS
$ wget -q https://appwrite.io/cli/install.sh -O - | /bin/bash
- Windows
$ iwr -useb https://appwrite.io/cli/install.ps1 | iex
Once the installation is complete, you can verify the install using
$ appwrite -v
š Getting Started
Before you can use the CLI, you need to login to your Appwrite account.
$ appwrite login
? Enter your email test@test.com
? Enter your password ********
ā Success
This will also prompt you to enter your appwrite endpoint ( default: http://localhost/v1 )
Initialising your project
Once logged in, the CLI needs to be initialised before you can use it with your Appwrite project. You can do this with the appwrite init project
command.
$ appwrite init project
The following prompt will guide you through the setup process. The init
command also creates an appwrite.json
file representing your Appwrite project.
The appwrite.json
file does a lot of things.
- Provides context to the CLI
- Keeps track of all your cloud functions
- Keeps track of all your project's collections
- Helps you deploy your Appwrite project to production and more..
You can also fetch all the collections in your current project using
appwrite init collection
The CLI also comes with a convenient --all
flag to perform both these steps at once using
appwrite init --all
Creating and deploying cloud functions
The CLI makes it extremely easy to create and deploy Appwrite's cloud functions. Initialise your new function using
$ appwrite init function
? What would you like to name your function? My Awesome Function
? What runtime would you like to use? Node.js (node-15.5)
ā Success
This will create a new function My Awesome Function
in your current Appwrite project and also create a template function for you to get started.
$ tree My\ Awesome\ Function
My Awesome Function
āāā README.md
āāā index.js
āāā package-lock.json
āāā package.json
0 directories, 4 files
You can now deploy this function using
$ appwrite deploy function
? Which functions would you like to deploy? My Awesome Function (61d1a4c81dfcd95bc834)
ā¹ Info Deploying function My Awesome Function ( 61d1a4c81dfcd95bc834 )
? Enter the entrypoint command node index.js
ā Success Deployed My Awesome Function ( 61d1a4c81dfcd95bc834 )
Your function is now ready to be executed on your Appwrite server!
Deploying Collections
Similarly, you can deploy all your collections to your Appwrite server using
appwrite deploy collections
The deploy
command also comes with a convenient --all
flag to deploy all your functions and collections at once.
appwrite deploy --all
Note
By default, requests to domains with self signed SSL certificates (or no certificates) are disabled. If you trust the domain, you can bypass the certificate validation using
$ appwrite client --selfSigned true
š Usage
The Appwrite CLI follows the below general syntax.
$ appwrite [COMMAND] --[OPTIONS]
Let's consider some example usages of the CLI.
Create and List Users
Let's say you want to create a new user in your project. Prior to the CLI, you would have to get the Server/ Client SDK, setup you environment for the language you have chosen etc. With the CLI, you just do
$ appwrite users create --userId "unique()" --name "Hugh Jackman" --email hugh@jackman.com --password helloworld
And you can view your created users using
$ appwrite users list
At any point, if you would like to change your server endpoint, key or selfSigned preferences, you can make use of the client
command
$ appwrite client --endpoint http://192.168.1.6/v1
$ appwrite client --key 23f24gwrhSDgefaY
$ appwrite client -selfSigned true
š¤ Help
If you get stuck anywhere, you can always use the help
command to get the usage examples.
To get information about the different services available, you can use
$ appwrite help
To get information about a particular service and the commands available in a service you can use
$ appwrite users help
$ appwrite accounts help
To get information about a particular command and the parameters it accepts, you can use
$ appwrite users list --help
$ appwrite account get --help
If you have unanswered questions feel free to hop onto our Discord server. We have a super active community always waiting for your questions and feedback!
š References
Posted on February 16, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.