diff --git a/app/views/docs/index.phtml b/app/views/docs/index.phtml
index 11c8f4882..125f562c6 100644
--- a/app/views/docs/index.phtml
+++ b/app/views/docs/index.phtml
@@ -94,10 +94,13 @@ $cols = [
Functions
- Migration
+ Migrations
+ Firebase
+ Supabase
+ NHost
+ Cloud to Local
+ Local to Cloud
diff --git a/app/views/docs/migration-firebase.phtml b/app/views/docs/migration-firebase.phtml
deleted file mode 100644
index 4f811a0ea..000000000
--- a/app/views/docs/migration-firebase.phtml
+++ /dev/null
@@ -1,3 +0,0 @@
-
- [TODO: Bradley try to fill this in with necessary information + limitations]
-
\ No newline at end of file
diff --git a/app/views/docs/migration-nhost.phtml b/app/views/docs/migration-nhost.phtml
deleted file mode 100644
index e69de29bb..000000000
diff --git a/app/views/docs/migration-supabase.phtml b/app/views/docs/migration-supabase.phtml
deleted file mode 100644
index e69de29bb..000000000
diff --git a/app/views/docs/migration.phtml b/app/views/docs/migration.phtml
deleted file mode 100644
index 9757c6526..000000000
--- a/app/views/docs/migration.phtml
+++ /dev/null
@@ -1,60 +0,0 @@
-
- Moving your app from another platform to Appwrite?
- You can move your app from Firebase, Supabase, NHost, and even other Appwrite projects to another Appwrite project using Migrations.
- Migrations will automatically move accounts, database documents, and storage files from one source to another.
-
-
-
-
- You can transfer from these sources to an Appwrite project.
-
-
-
-
-
- |
- Source |
- |
-
-
-
-
- |
- [IMAGE]
- |
-
- Firebase
- |
-
- Migrate from Firebase
- |
-
-
- |
- [IMAGE]
- |
-
- Supabase
- |
-
- Migrate from Supabase
- |
-
-
- |
- [IMAGE]
- |
-
- NHost
- |
-
- Migrate from NHost
- |
-
-
-
-
-
-
- [TODO] @bradley help me out here. include performance, feature, all things annoying
-
\ No newline at end of file
diff --git a/app/views/docs/migrations-cloud-to-local.phtml b/app/views/docs/migrations-cloud-to-local.phtml
new file mode 100644
index 000000000..801d93c0e
--- /dev/null
+++ b/app/views/docs/migrations-cloud-to-local.phtml
@@ -0,0 +1,34 @@
+
+ Moving to a self-hosted instance? We've got you covered.
+ Migrations makes it as easy as a couple clicks to move all of your Appwrite Cloud project data to a self-hosted instance.
+
+
+
+
+
+ - Data transferred by migrations will reset `$createdAt` and `$updatedAt` timestamps to the date of the migration.
+ - Your self-hosted Appwrite project must be accessible from the internet for the migration to work.
+ - Migrations are non-destructive. No data will be deleted or lost in the source project.
+
+
+
+
+
+ To begin migrating to Appwrite Self-hosted, make sure to read the migrations overview
+ and things to keep in mind sections above.
+
+
+Steps on Your Cloud Project
+
+ - Navigate to your Appwrite Cloud Console and click on the Migrations tab.
+ - Click Export to Self-hosted, you will be prompted to input the URL of your self-hosted Appwrite project.
+ - Optionally, tell us about why you're moving to self-hosted.
+ - After clicking Continue, you'll be directed back to your self-hosted project to complete the process.
+
+
+Steps on Your Self-hosted Project
+
+ - Once redirected to your self-hosted project, you'll be prompted to select an organization and a project. You can migrate to an existing project or create a new one.
+ - Select the data you wish to migrate. You can choose among accounts, databases, documents, files, and functions.
+ - Click Start migration to start the migration process. You do not need to keep the Appwrite Console open through the process.
+
\ No newline at end of file
diff --git a/app/views/docs/migrations-firebase.phtml b/app/views/docs/migrations-firebase.phtml
new file mode 100644
index 000000000..f8c236ea3
--- /dev/null
+++ b/app/views/docs/migrations-firebase.phtml
@@ -0,0 +1,90 @@
+
+ Moving your project from Firebase to Appwrite?
+ Appwrite Migrations can help you streamline the process.
+
+ Here's what you need to know to get started.
+
+
+
+
+
+ - Appwrite will not incur usage charges during migrations, but Firebase may still incur service charges.
+ - Appwrite Migrations only supports Firestore as a database source. Realtime Database is currently not supported.
+ - At the moment only top level document migration is supported. Nested documents will not be transferred automatically.
+ - OAuth users will not be transferred. Users will need to re-authenticate with your OAuth provider after the migration is complete.
+
+
+
+
+
+
+ |
+ Users |
+ Databases |
+ Documents |
+ Files |
+ Functions |
+
+
+
+
+ | Firebase |
+ ✅ |
+ ✅ |
+ ✅ |
+ ✅ |
+ |
+
+
+
+
+
+
+ To begin migrating to Appwrite make sure to read the migration overview
+ and things to keep in mind sections above.
+
+
+
+ -
+ Create a new project and click on the Migrations tab.
+
+ -
+ Click on the Create Migration button and select Firebase as your source.
+
+ -
+ Depending on where your Appwrite project is hosted, you'll need to use different methods to authorize with Firebase.
+ See the Cloud and Self-hosting sections for details.
+
+ -
+ Finally, add the platforms for your Web, Flutter, Android, and iOS apps.
+
+
+
+
+
+ To simplify the migration process we have created an OAuth application that will allow you to sign in with Google and automatically
+ discover your Firebase projects. Simply select the source project and follow the migration wizard.
+
+
+
+
+ If you are self-hosting Appwrite you will need to create a service account in your Firebase project and download the JSON file.
+
+
+
+ -
+ Navigate to your Firebase console.
+
+ -
+ Click the gear icon to access your Project Settings.
+
+ -
+ Click Service Accounts, then Generate New Private Key. Don't share this key with anyone!
+
+ -
+ Once you've downloaded your private key, head back to Appwrite and click Manual Authentication.
+
+ -
+ Upload the JSON private key and follow the wizard.
+
+
diff --git a/app/views/docs/migrations-local-to-cloud.phtml b/app/views/docs/migrations-local-to-cloud.phtml
new file mode 100644
index 000000000..5cfee4cb8
--- /dev/null
+++ b/app/views/docs/migrations-local-to-cloud.phtml
@@ -0,0 +1,38 @@
+
+ Making the move to Appwrite Cloud? We've got your back.
+ Migrations makes it as easy as a couple clicks to move all of your self-hosted project data to a Cloud instance.
+
+
+
+
+
+ - Data transferred by migrations will reset
$createdAt and $updatedAt timestamps to the date of the migration.
+ - Your self-hosted Appwrite project must be accessible from the internet for the migration to work.
+ - Migrations are non-destructive. No data will be deleted or lost in the source project.
+
+
+
+
+ To begin migrating to self-hosted, make sure to read the migration overview
+ and things to keep in mind sections above.
+
+
+Steps on Your Self-hosted Project
+
+
+ - Navigate to your self-hosted project's console and click on the Migrations tab.
+ - Click Deploy to cloud, you will be redirected to Appwrite Cloud.
+ - You will complete the migration on Appwrite Cloud.
+
+
+Steps on Your Cloud Project
+
+ - Once redirected to Appwrite Cloud, you'll be prompted to select an organization and a project. You can migrate to an existing project or create a new one.
+ - Select the data you wish to migrate. You can choose among accounts, databases, documents, files, and functions.
+ - Click Start migration to start the migration process. You do not need to keep the Appwrite Console open through the process.
+
+
+
+
Keep in mind
+
Your Self-hosted instance will generate a API Key in the background to pass to Cloud. You can revoke this key after the migration process is complete.
+
\ No newline at end of file
diff --git a/app/views/docs/migrations-nhost.phtml b/app/views/docs/migrations-nhost.phtml
new file mode 100644
index 000000000..0d625eb67
--- /dev/null
+++ b/app/views/docs/migrations-nhost.phtml
@@ -0,0 +1,84 @@
+
+ Moving your project from NHost to Appwrite?
+ Appwrite Migrations can help you streamline the process.
+
+ Here's what you need to know to get started.
+
+
+
+
+
+ - Appwrite will not incur usage charges during migrations, but NHost may still incur service charges.
+ - Appwrite's Database doesn't support all the features of the postgreSQL database so more advanced postgres centric things things like advanced indexes, postgres functions and scheduling will not be migrated.
+ - OAuth users will not be transferred. You will need to re-authenticate with your OAuth provider after the migration is complete.
+
+
+
+
+
+
+ |
+ Users |
+ Databases |
+ Documents |
+ Files |
+ Functions |
+
+
+
+
+ | NHost |
+ ✅ |
+ ✅ |
+ ✅ |
+ ✅ |
+ |
+
+
+
+
+
+
+ To begin migrating to Appwrite make sure to read the migration overview
+ and things to keep in mind sections above.
+
+
+
+ -
+ Create a new project and click on the Migrations tab.
+
+ -
+ Click on the Create Migration button and select NHost as your source.
+
+ -
+ Enter the credentials following the instructions below and click Next.
+
+ -
+ Select the resources you want to migrate and finally click Start migration to begin the migration process.
+
+
+
+
+
+Enter all the following credentials from your NHost project.
+
+
+ -
+ Region - The region your NHost project is hosted in. This can be found in your NHost project environment variables as NHOST_REGION.
+
+ -
+ Subdomain - The subdomain of your NHost project. This can be found in your NHost project environment variables as NHOST_SUBDOMAIN.
+
+ -
+ Database - The name of your NHost database. This can be found in your NHost project Database settings.
+
+ -
+ Username - The username of your NHost database. This can be found in your NHost project Database settings.
+
+ -
+ Password - The password of your NHost database. You set this when you created your NHost project, if you don't remember it you can reset it from your NHost project Database settings.
+
+ -
+ Admin Secret - The admin secret of your NHost project. This can be found in your NHost project environment variables as NHOST_ADMIN_SECRET. We use this to transfer your NHost files to Appwrite.
+
+
\ No newline at end of file
diff --git a/app/views/docs/migrations-supabase.phtml b/app/views/docs/migrations-supabase.phtml
new file mode 100644
index 000000000..58036bc5e
--- /dev/null
+++ b/app/views/docs/migrations-supabase.phtml
@@ -0,0 +1,88 @@
+
+ Moving your project from Supabase to Appwrite?
+ Appwrite Migrations can help you streamline the process.
+
+ Here's what you need to know to get started.
+
+
+
+
+
+ - Appwrite will not incur usage charges during migrations, but Supabase may still incur service charges.
+ - Appwrite's Databases services supports a different set of features as PostgreSQL. Some features like advanced indexes, Postgres functions and scheduling will not be migrated.
+ - OAuth users will not be transferred. Users will need to re-authenticate with your OAuth provider after the migration is complete.
+
+
+
+
+
+
+ |
+ Users |
+ Databases |
+ Documents |
+ Files |
+ Functions |
+
+
+
+
+ | Supabase |
+ ✅ |
+ ✅ |
+ ✅ |
+ ✅ |
+ |
+
+
+
+
+
+
+ To begin migrating to Appwrite make sure to read the migration overview
+ and things to keep in mind sections above.
+
+
+
+ -
+ Create a new project and click on the Migrations tab.
+
+ -
+ Click on the Create Migration button and select Supabase as your source.
+
+ -
+ Enter the credentials following the instructions below and click Next.
+
+ -
+ Select the resources you want to migrate and finally click Start migration to begin the migration process.
+
+
+
+
+
+Enter all the following credentials from your Supabase project.
+
+
+
+ -
+ Region - The region your Supabase project is hosted in. This can be found in your Supabase project environment variables as Supabase_REGION.
+
+ -
+ Host - The host of your Supabase Database, this can be found in your Supabase project settings under Database Settings and Host.
+
+ -
+ Port - The port of your Supabase Database, this can be found in your Supabase project settings under Database Settings and Port. By default this is 5432.
+
+ -
+ Username - The username of your Supabase Database, this can be found in your Supabase project settings under Database Settings and Username.
+
+ -
+ Password - The password of your Supabase Database, this was set when you created your Supabase project. If you forgot your password, you can reset it within Database Settings.
+
+ -
+ Endpoint - This is the endpoint of your Supabase instance under Project Settings > API. This is used to migrate your files.
+
+ -
+ API Key - This is the key of your Supabase instance under Project Settings > API. This is used to migrate your files. Make sure to use the hidden service_role key.
+
+
diff --git a/app/views/docs/migrations.phtml b/app/views/docs/migrations.phtml
new file mode 100644
index 000000000..d15752efa
--- /dev/null
+++ b/app/views/docs/migrations.phtml
@@ -0,0 +1,83 @@
+
+ Ready to migrate your project to Appwrite?
+ You can move your app from Firebase, Supabase, NHost, and even move between self-hosted and Cloud projects using Migrations.
+ Migrations will automatically move accounts, database documents, and storage files from one source to another.
+
+
+
+
+ You can transfer from these sources to an Appwrite project.
+
+
+
+
+
+ |
+ Source |
+ |
+
+
+
+
+ |
+ [IMAGE]
+ |
+
+ Firebase
+ |
+
+ Migrate from Firebase
+ |
+
+
+ |
+ [IMAGE]
+ |
+
+ Supabase
+ |
+
+ Migrate from Supabase
+ |
+
+
+ |
+ [IMAGE]
+ |
+
+ NHost
+ |
+
+ Migrate from NHost
+ |
+
+
+ |
+ [IMAGE]
+ |
+
+ Cloud to Self-host
+ |
+
+ Migrate from Appwrite Cloud to Self-hosted
+ |
+
+
+ |
+ [IMAGE]
+ |
+
+ Self-host to Cloud
+ |
+
+ Migrate from Self-hosted to Appwrite Cloud
+ |
+
+
+
+
+
+
+ Migrations cannot transfer all data perfectly, so certain fields, such as $createdAt and $updatedAt, may not be transferred.
+ More information can be found on the migration page for each source.
+
\ No newline at end of file