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. -

    - -

    Supported sources

    -

    - 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

    -
    - -

    Limitations

    -

    - [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. +

    + +

    Things to keep in mind

    + +
      +
    1. Data transferred by migrations will reset `$createdAt` and `$updatedAt` timestamps to the date of the migration.
    2. +
    3. Your self-hosted Appwrite project must be accessible from the internet for the migration to work.
    4. +
    5. Migrations are non-destructive. No data will be deleted or lost in the source project.
    6. +
    + +

    Migrating to Self-hosted from Cloud

    + +

    + 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

    +
      +
    1. Navigate to your Appwrite Cloud Console and click on the Migrations tab.
    2. +
    3. Click Export to Self-hosted, you will be prompted to input the URL of your self-hosted Appwrite project.
    4. +
    5. Optionally, tell us about why you're moving to self-hosted.
    6. +
    7. After clicking Continue, you'll be directed back to your self-hosted project to complete the process.
    8. +
    + +

    Steps on Your Self-hosted Project

    +
      +
    1. 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.
    2. +
    3. Select the data you wish to migrate. You can choose among accounts, databases, documents, files, and functions.
    4. +
    5. Click Start migration to start the migration process. You do not need to keep the Appwrite Console open through the process.
    6. +
    \ 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. +

    + +

    Things to keep in mind

    + +
      +
    1. Appwrite will not incur usage charges during migrations, but Firebase may still incur service charges.
    2. +
    3. Appwrite Migrations only supports Firestore as a database source. Realtime Database is currently not supported.
    4. +
    5. At the moment only top level document migration is supported. Nested documents will not be transferred automatically.
    6. +
    7. OAuth users will not be transferred. Users will need to re-authenticate with your OAuth provider after the migration is complete.
    8. +
    + +

    Supported resource types

    + + + + + + + + + + + + + + + + + + + + + +
    UsersDatabasesDocumentsFilesFunctions
    Firebase
    + +

    Migrating to Appwrite from Firebase

    +

    + To begin migrating to Appwrite make sure to read the migration overview + and things to keep in mind sections above. +

    + +
      +
    1. + Create a new project and click on the Migrations tab. +
    2. +
    3. + Click on the Create Migration button and select Firebase as your source. +
    4. +
    5. + 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. +
    6. +
    7. + Finally, add the platforms for your Web, Flutter, Android, and iOS apps. +
    8. +
    + +

    Appwrite Cloud

    +

    + 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. +

    + +

    Migrating to Appwrite Self-Hosted

    +

    + If you are self-hosting Appwrite you will need to create a service account in your Firebase project and download the JSON file. +

    + +
      +
    1. + Navigate to your Firebase console. +
    2. +
    3. + Click the gear icon to access your Project Settings. +
    4. +
    5. + Click Service Accounts, then Generate New Private Key. Don't share this key with anyone! +
    6. +
    7. + Once you've downloaded your private key, head back to Appwrite and click Manual Authentication. +
    8. +
    9. + Upload the JSON private key and follow the wizard. +
    10. +
    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. +

    + +

    Things to keep in mind

    + +
      +
    1. Data transferred by migrations will reset $createdAt and $updatedAt timestamps to the date of the migration.
    2. +
    3. Your self-hosted Appwrite project must be accessible from the internet for the migration to work.
    4. +
    5. Migrations are non-destructive. No data will be deleted or lost in the source project.
    6. +
    + +

    Migrating to Self-hosted from Cloud

    +

    + 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

    + +
      +
    1. Navigate to your self-hosted project's console and click on the Migrations tab.
    2. +
    3. Click Deploy to cloud, you will be redirected to Appwrite Cloud.
    4. +
    5. You will complete the migration on Appwrite Cloud.
    6. +
    + +

    Steps on Your Cloud Project

    +
      +
    1. 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.
    2. +
    3. Select the data you wish to migrate. You can choose among accounts, databases, documents, files, and functions.
    4. +
    5. Click Start migration to start the migration process. You do not need to keep the Appwrite Console open through the process.
    6. +
    + +
    +

    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. +

    + +

    Things to keep in mind

    + +
      +
    1. Appwrite will not incur usage charges during migrations, but NHost may still incur service charges.
    2. +
    3. 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.
    4. +
    5. OAuth users will not be transferred. You will need to re-authenticate with your OAuth provider after the migration is complete.
    6. +
    + +

    Supported resource types

    + + + + + + + + + + + + + + + + + + + + + +
    UsersDatabasesDocumentsFilesFunctions
    NHost
    + +

    Migrating to Appwrite from NHost

    +

    + To begin migrating to Appwrite make sure to read the migration overview + and things to keep in mind sections above. +

    + +
      +
    1. + Create a new project and click on the Migrations tab. +
    2. +
    3. + Click on the Create Migration button and select NHost as your source. +
    4. +
    5. + Enter the credentials following the instructions below and click Next. +
    6. +
    7. + Select the resources you want to migrate and finally click Start migration to begin the migration process. +
    8. +
    + +

    NHost Credentials

    +

    +Enter all the following credentials from your NHost project. +

    +
      +
    1. + Region - The region your NHost project is hosted in. This can be found in your NHost project environment variables as NHOST_REGION. +
    2. +
    3. + Subdomain - The subdomain of your NHost project. This can be found in your NHost project environment variables as NHOST_SUBDOMAIN. +
    4. +
    5. + Database - The name of your NHost database. This can be found in your NHost project Database settings. +
    6. +
    7. + Username - The username of your NHost database. This can be found in your NHost project Database settings. +
    8. +
    9. + 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. +
    10. +
    11. + 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. +
    12. +
    \ 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. +

    + +

    Things to keep in mind

    + +
      +
    1. Appwrite will not incur usage charges during migrations, but Supabase may still incur service charges.
    2. +
    3. 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.
    4. +
    5. OAuth users will not be transferred. Users will need to re-authenticate with your OAuth provider after the migration is complete.
    6. +
    + +

    Supported resource types

    + + + + + + + + + + + + + + + + + + + + + +
    UsersDatabasesDocumentsFilesFunctions
    Supabase
    + +

    Migrating to Appwrite from Supabase

    +

    + To begin migrating to Appwrite make sure to read the migration overview + and things to keep in mind sections above. +

    + +
      +
    1. + Create a new project and click on the Migrations tab. +
    2. +
    3. + Click on the Create Migration button and select Supabase as your source. +
    4. +
    5. + Enter the credentials following the instructions below and click Next. +
    6. +
    7. + Select the resources you want to migrate and finally click Start migration to begin the migration process. +
    8. +
    + +

    Credentials

    + +

    Enter all the following credentials from your Supabase project.

    + +
      + +
    1. + Region - The region your Supabase project is hosted in. This can be found in your Supabase project environment variables as Supabase_REGION. +
    2. +
    3. + Host - The host of your Supabase Database, this can be found in your Supabase project settings under Database Settings and Host. +
    4. +
    5. + 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. +
    6. +
    7. + Username - The username of your Supabase Database, this can be found in your Supabase project settings under Database Settings and Username. +
    8. +
    9. + 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. +
    10. +
    11. + Endpoint - This is the endpoint of your Supabase instance under Project Settings > API. This is used to migrate your files. +
    12. +
    13. + 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. +
    14. +
    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. +

    + +

    Supported sources

    +

    + 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

    +
    + +

    Limitations

    +

    + 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