diff --git a/config/redirects.json b/config/redirects.json index d1283ae37..30c1e25e7 100644 --- a/config/redirects.json +++ b/config/redirects.json @@ -628,5 +628,10 @@ "source": "/docs/reference", "destination": "/docs/reference/api/overview", "permanent": true + }, + { + "source": "/docs/guides/deployment/gcp", + "destination": "/guides/deployment/running_production", + "permanent": true } ] diff --git a/config/sidebar-guides.json b/config/sidebar-guides.json index 176f65e32..624a474cd 100644 --- a/config/sidebar-guides.json +++ b/config/sidebar-guides.json @@ -153,11 +153,6 @@ "label": "Deploy on DigitalOcean", "slug": "digitalocean" }, - { - "source": "guides/deployment/gcp.mdx", - "label": "Deploy on GCP", - "slug": "gcp" - }, { "source": "guides/deployment/koyeb.mdx", "label": "Deploy on Koyeb", diff --git a/guides/deployment/gcp.mdx b/guides/deployment/gcp.mdx deleted file mode 100644 index 442af45ec..000000000 --- a/guides/deployment/gcp.mdx +++ /dev/null @@ -1,182 +0,0 @@ ---- -title: Deploy a Meilisearch instance on Google Cloud Platform's Compute Engine — Meilisearch documentation -description: Deploy and configure Meilisearch on GCP in just a few steps. -sidebarDepth: 3 ---- - -# Deploy a Meilisearch instance on Google Cloud Platform (GCP) Compute Engine - -Using our GCP custom image, Meilisearch can be deployed on GCP in just a few minutes. - -The following guide will walk you through every step to deploy Meilisearch in a GCP Compute Engine instance. If you have any problems with our GCP image, please create an issue in [this repository](https://github.com/meilisearch/cloud-providers/). - -## Part 1: Deploy a Meilisearch instance - -### 1. Import Meilisearch custom image on your GCP account - -- Navigate to "Compute Engine" -> "Images" - -![Page titled 'Images'](/assets/images/gcp/01.compute-engine.png) - -- Click on "[+] CREATE IMAGE" - -![Adding image name(permanent), source, and cloud storage file](/assets/images/gcp/02.image-info.png) - -- Give it a name (`meilisearch-example`) - -- For the "Source" field select "Virtual disk (VMDK, VHD)" - -- If you are prompted to enable Cloud Build tools and grant permissions, do it - -- Copy the following URI in the "Cloud Storage file" field - -``` -meilisearch-image/meilisearch-v1.0.2-debian-10.vmdk -``` - -- **The other fields are not required** - -- Click on "Create". You may have to wait up to 6 minutes while the Meilisearch custom image imports to your account - -![meilisearch-example successfully imported](/assets/images/gcp/03.import-image.png) - -### 2. Create a new GCP Compute Engine instance from the imported image - -- Open the tab "Images" and click on the name of the image that you just imported, and click on the "[+] Create instance" button - -![The meilisearch-v-X-X-X instance](/assets/images/gcp/04.create-instance.png) - -- Give your instance a name - -- In the "Machine configuration" section, make sure to pick a "Machine type" with enough memory to run Meilisearch according to your needs. More memory means faster searching - -![Selecting the 'E2' series and 'e2-medium (2 vCPU, 4 GB memory)' machine type](/assets/images/gcp/05.machine-configuration.png) - -- In the "Boot disk" section, click the "Change" button - -- From the "Custom images" tab, select the image that you just imported in the previous steps (meilisearch-vX-X-X) from the drop down menu. Don't forget to set the "Size" of the disk to an amount corresponding to your needs. When you are done, click on "Select" - -![Selecting the 'Balanced persistent disk' Boot disk type and 10GB Size](/assets/images/gcp/06.boot-disk.png) - -- In the "Firewall" section, make sure to check the "Allow HTTP traffic" and "Allow HTTPS traffic" boxes so that your Meilisearch instance can communicate with the internet - -- Finally, click on the "Create" button. After a minute or two, your Meilisearch instance should be up and running - -![The meilisearch-gcp-test instance running successfully](/assets/images/gcp/07.instance-running.png) - -You can check that your instance is running correctly by copying and pasting the "External IP" address provided by GCP into your browser, or by typing the following command on your terminal: - -```bash -curl http:///health -``` - -The server should answer with a `200 OK` status code as shown in the example below: - -```bash -{"status": "available"} -``` - -## Part 2: Set your instance to a production environment - -Configuring your Meilisearch instance in a production environment is not just straightforward—it's completely automated. Establish an SSH connection with your instance, and a script will guide you through the process. - -### 1. Make your domain name point to your instance IP - -If you want to use a custom domain name (or sub-domain), add an `A record` in your domain name provider account. Otherwise, you can skip this step. - -![The my-gcp-instance domain](/assets/images/gcp/08.domain.png) - -Your domain name should now be linked to your Meilisearch instance. Run a health check to verify that your instance is running and your DNS is well configured: - -```bash -curl -v http:///health -``` - -The server should answer with a `200 OK` status code as shown in the example below: - -```bash -... -< HTTP/1.1 200 OK -... -``` - -### 2. Set API key and SSL (HTTPS) - -Meilisearch is currently running in a **development** environment. You haven't set up an API key, meaning that anyone can read/write from your Meilisearch, and you aren't using HTTPS yet, which makes this configuration unsafe for **production**. - -To start the configuration process, connect via SSH to your new Meilisearch instance and follow the instructions that appear. - -### 2.2. Run the configuration script - -#### 2.2.1 Option 1: Using the Google Cloud Console - -Navigate to "Compute Engine" -> "VM instances". Click on the name of your instance, and then click on the "SSH" button (make sure to have pop-ups enabled or the window may be blocked). The connection will be established and the script will automatically run. - -#### 2.2.2 Option 2: Add your SSH key to the Compute Engine metadata - -- Make sure that you have an SSH public key (normally stored in `~/.ssh/id_rsa.pub`). If you haven't created your SSH key or want to generate a new one, you can follow [this guide](https://www.ssh.com/ssh/keygen/) - -- On the GCP dashboard, navigate to "Compute Engine" -> "Metadata", and click on the "SSH Keys" tab. Click on "Edit" - -- To add a new SSH key, click on "+ Add item". Copy your Public key and paste it on the new box that has been created on the GCP interface. Usually you can read your public key by running the following command on a terminal: - -```bash -cat ~/.ssh/id_rsa.pub -``` - -- Click on "Save" - -Now establish an SSH connection using the same username that is present on your SSH key. If you are adding your local system key, it will probably be your username on your local system. To know what this username is in UNIX-like systems, run the command: - -``` -whoami -``` - -Then establish a connection using the following command: - -```bash -ssh @ -``` - -You should see something like this: - -``` -________________________________________________ -________________________________________________ - _ _ _ __ _ - /\/\ ___(_) (_) _\ ___ __ _ _ __ ___| |__ - / \ / _ \ | | \ \ / _ \/ _` | '__/ __| '_ \ -/ /\/\ \ __/ | | |\ \ __/ (_| | | | (__| | | | -\/ \/\___|_|_|_\__/\___|\__,_|_| \___|_| |_| - -________________________________________________ -________________________________________________ -``` - -If it’s your first time accessing the instance via SSH, a script will run automatically asking for your settings and desired configuration. If you want to run this script again at any time, you can do so by using the following command: - -```bash -meilisearch-setup -``` - -### 3. Enjoy your ready-to-use Meilisearch instance - -Your Meilisearch instance is up and running on GCP and ready to be used in production. - -To make sure that everything is running smoothly, do a final HTTP call to the `/health` route: - -```bash -curl -v https:///health -``` - -Note that this time, **we're using HTTPS.** - -The server should answer with a `200 OK` status code as shown in the example below: - -```bash -... -< HTTP/1.1 200 OK -... -``` - -You're all set to use Meilisearch in production with GCP! If you have any problems with our GCP image, please create an issue in [this repository]( https://github.com/meilisearch/cloud-providers/). diff --git a/learn/resources/sdks.mdx b/learn/resources/sdks.mdx index 96a22a834..d12c32bbc 100644 --- a/learn/resources/sdks.mdx +++ b/learn/resources/sdks.mdx @@ -45,8 +45,6 @@ You can use Meilisearch API wrappers in your favorite language. These libraries - Guide: [How to deploy a Meilisearch instance on Amazon Web Services](/guides/deployment/aws) - [meilisearch-digitalocean](https://github.com/meilisearch/cloud-providers/) - Guide: [How to deploy a Meilisearch instance on DigitalOcean](/guides/deployment/digitalocean) -- [meilisearch-gcp](https://github.com/meilisearch/cloud-providers/) - - Guide: [How to deploy a Meilisearch instance on Google Cloud Platform](/guides/deployment/gcp) - [meilisearch-kubernetes](https://github.com/meilisearch/meilisearch-kubernetes) ## Platform plugins diff --git a/learn/resources/telemetry.mdx b/learn/resources/telemetry.mdx index c29996cc5..b7c45fd0e 100644 --- a/learn/resources/telemetry.mdx +++ b/learn/resources/telemetry.mdx @@ -134,7 +134,7 @@ This list is liable to change with every new version of Meilisearch. It's not be | `system.cores` | Number of cores | 24 | `system.ram_size` | Total RAM capacity. Expressed in `KB` | 16777216 | `system.disk_size` | Total capacity of the largest disk. Expressed in `Bytes` | 1048576000 -| `system.server_provider` | Users can tell us on which provider Meilisearch is hosted by filling the `MEILI_SERVER_PROVIDER` environment variable. This is also filled by our cloud deploy scripts, for example, [GCP cloud-config.yaml](https://github.com/meilisearch/cloud-scripts/blob/56a7c2630c1a508e5ad0c0ba1d8cfeb8d2fa9ae0/scripts/providers/gcp/cloud-config.yaml#L33) | GCP +| `system.server_provider` | Users can tell us on which provider Meilisearch is hosted by filling the `MEILI_SERVER_PROVIDER` environment variable. This is also filled by Meilisearch cloud deploy scripts | AWS | `stats.database_size` | Database size. Expressed in `Bytes` | 2621440 | `stats.indexes_number` | Number of indexes | 2 | `start_since_days` | Number of days since instance was launched | 365 diff --git a/learn/self_hosted/install_meilisearch_locally.mdx b/learn/self_hosted/install_meilisearch_locally.mdx index 96d2445c3..d23b6b36c 100644 --- a/learn/self_hosted/install_meilisearch_locally.mdx +++ b/learn/self_hosted/install_meilisearch_locally.mdx @@ -157,12 +157,11 @@ chmod +x meilisearch ## Other cloud services -To deploy Meilisearch on a cloud service, follow one of our dedicated guides: +To deploy Meilisearch on a third-party cloud service, follow one of our dedicated guides: - [AWS](/guides/deployment/aws) - [Azure](/guides/deployment/azure) - [DigitalOcean](/guides/deployment/digitalocean) -- [GCP](/guides/deployment/gcp) - [Koyeb](/guides/deployment/koyeb) - [Qovery](/guides/deployment/qovery) - [Railway](/guides/deployment/railway) diff --git a/learn/update_and_migration/updating.mdx b/learn/update_and_migration/updating.mdx index abf947696..0f225b0a8 100644 --- a/learn/update_and_migration/updating.mdx +++ b/learn/update_and_migration/updating.mdx @@ -8,7 +8,7 @@ sidebarDepth: 3 Currently, Meilisearch databases are only compatible with the version of Meilisearch used to create them. The following guide will walk you through using a [dump](/learn/advanced/dumps) to migrate an existing database from an older version of Meilisearch to the most recent one. -If you're updating your Meilisearch instance on cloud platforms like DigitalOcean, AWS, or GCP, ensure that you can connect to your cloud instance via SSH. Depending on the user you are connecting with (root, admin, etc.), you may need to prefix some commands with `sudo`. +If you're updating your Meilisearch instance on cloud platforms like DigitalOcean or AWS, ensure that you can connect to your cloud instance via SSH. Depending on the user you are connecting with (root, admin, etc.), you may need to prefix some commands with `sudo`. If migrating to the latest version of Meilisearch will cause you to skip multiple versions, this may require changes to your codebase. [Refer to our version-specific update warnings for more details](#version-specific-warnings). @@ -99,7 +99,7 @@ Once the status is `processed`, you're good to go. Repeat this process for all i Before creating your dump, make sure that your [dump directory](/learn/self_hosted/configure_meilisearch_at_launch#dump-directory) is somewhere accessible. By default, dumps are created in a folder called `dumps` at the root of your Meilisearch directory. -**Cloud platforms** like DigitalOcean, AWS, and GCP are configured to store dumps in the `/var/opt/meilisearch/dumps` directory. +**Cloud platforms** like DigitalOcean and AWS are configured to store dumps in the `/var/opt/meilisearch/dumps` directory. If you're unsure where your Meilisearch directory is located, try this: