diff --git a/src/routes/blog/post/migrate-firebase-projects-to-appwrite/+page.markdoc b/src/routes/blog/post/migrate-firebase-projects-to-appwrite/+page.markdoc new file mode 100644 index 0000000000..fc732ae527 --- /dev/null +++ b/src/routes/blog/post/migrate-firebase-projects-to-appwrite/+page.markdoc @@ -0,0 +1,58 @@ +--- +layout: post +title: Migrate Firebase projects to Appwrite +description: Migrate your Firebase projects to Appwrite Cloud in just one click. +date: 2023-11-06 +cover: /images/blog/migrate-firebase-projects-to-appwrite/migrate-firebase-projects-to-appwrite.png +timeToRead: 10 +author: vincent-ge +category: migration +--- +If you’re ready to move from Firebase to Appwrite, or you just want to explore your BaaS options, we can give you a jump start with Appwrite Migrations. + +![Appwrite Console Migrations page](/images/blog/migrate-firebase-projects-to-appwrite/migrations-overview.png) + +Moving is frustrating. Packing, unpacking, renting a truck, wondering if your bed fits through the door. Moving data between cloud platforms feels much the same, so we built Migrations to help lighten the load. Migrations will help you move users, data, and files out of Firebase and into your Appwrite project. + +## Limitations + +Just like moving houses, not every piece of old furniture will suit your new house. You’ll need some creative rearranging or maybe some new furniture. Appwrite is different from Firebase in a similar sense. + +- Appwrite automatically moves user accounts or files, but documents and cloud functions will require some work to move. +- Nested documents will require some clever engineering to be transformed into Appwrite relationships. In a future version, they might be added automatically, but you will need to migrate them with a script for now. +- Appwrite Functions also use different syntax and deployment methods than Firebase’s Cloud Functions. These will need the most work to migrate and likely need to be partially rewritten. + +## Prepare for your move + +To help you with your move, Appwrite Migrations will require keys to your old home to access your project’s users, files, and data. This means Appwrite will need your Firebase service account’s API key. + +![Firebase key management screen.](/images/blog/migrate-firebase-projects-to-appwrite/firebase-key.png) + +The quickest way to get a key is to use your ****Firebase Admin SDK**** service account and key, found under ****Project settings > Service accounts > Generate private key****. + +If you want to use an API key with a more fine-grained permission scope, checkout the [Appwrite documentation on this topic](/docs/advanced/migrations/firebase). + +## Starting the migration + +The Migration process is simple. Give Appwrite your keys, and it’ll pack up and move everything for you. + +1. Create a new project and click on the **Migrations** tab in **Project Settings**. +2. Click on the **Create Migration** button and select **Firebase** as your source. +3. Paste your Firebase API key’s JSON contents into the account credentials box and click **Next.** +4. Select which resources you want Migrations to import and click ************Create************ to start the migration. + +Migrations will run in the background, get a cup of tea or coffee, and return in a few minutes. + +## Wrapping up the move + +After your migration is completed, you’ll need to do a few more things to wrap up your move to Appwrite. + +First, you register your existing web, mobile, and native apps as platforms. Follow one of these [quick starts](/docs/quick-starts) to learn how. + +Next, checkout our docs for [Database relationships](/docs/products/databases/relationships) and install one of Appwrite’s [Server SDKs](/docs/sdks#server) to migrate your nested data. + +Finally, learn about [Appwrite Functions](/docs/products/functions/quick-start) to migrate your Firebase functions. Appwrite’s functions support more runtimes, more flexible execution schemes, and follow patters found in HTTP controllers that you’re already familiar with. + +## Join the discussion + +We’re always having a blast on [Discord](/discord). With members in the community from all over the world, you’ll always find someone to support and share your Appwrite journey. \ No newline at end of file diff --git a/static/images/blog/migrate-firebase-projects-to-appwrite/firebase-key.png b/static/images/blog/migrate-firebase-projects-to-appwrite/firebase-key.png new file mode 100644 index 0000000000..78695b61ed Binary files /dev/null and b/static/images/blog/migrate-firebase-projects-to-appwrite/firebase-key.png differ diff --git a/static/images/blog/migrate-firebase-projects-to-appwrite/migrate-firebase-projects-to-appwrite.png b/static/images/blog/migrate-firebase-projects-to-appwrite/migrate-firebase-projects-to-appwrite.png new file mode 100644 index 0000000000..345036ea6d Binary files /dev/null and b/static/images/blog/migrate-firebase-projects-to-appwrite/migrate-firebase-projects-to-appwrite.png differ diff --git a/static/images/blog/migrate-firebase-projects-to-appwrite/migrations-overview.png b/static/images/blog/migrate-firebase-projects-to-appwrite/migrations-overview.png new file mode 100644 index 0000000000..cda5849920 Binary files /dev/null and b/static/images/blog/migrate-firebase-projects-to-appwrite/migrations-overview.png differ