Meilisearch Cloud is the recommended way to run Meilisearch in production environments.
Prerequisites
- A Google Cloud account with billing enabled
- A Compute Engine VM running Debian 12 or Ubuntu 22.04 LTS
- An SSH key pair or access via Google Cloud Console SSH
- Firewall rules allowing inbound traffic on ports 22 (SSH), 80 (HTTP), and 443 (HTTPS)
Step 1: Install Meilisearch
Connect to your VM via SSH (using the Google Cloud Console or gcloud CLI) and update the system:Step 2: Create system user
Create a dedicated user for running Meilisearch:Step 3: Create a configuration file
Create data directories for Meilisearch:/etc/meilisearch.toml and update these settings, replacing MASTER_KEY with a secure 16-byte string:
Step 4: Run Meilisearch as a service
Create a systemd service file:Step 5: Secure and finish your setup
5.1. Configure firewall rules
In the Google Cloud Console, navigate to VPC Network > Firewall and ensure you have rules allowing:- Port 22 for SSH access
- Port 80 for HTTP traffic
- Port 443 for HTTPS traffic
5.2. Set up a reverse proxy with Nginx
Install Nginx:your_domain with your actual domain name (or use _ as a catch-all if you don’t have one yet).
Restart Nginx:
5.3. Enable HTTPS with Let’s Encrypt
Before enabling HTTPS, ensure you have a domain name pointing to your VM’s external IP address. You can reserve a static IP in Google Cloud Console under VPC Network > External IP addresses.
Conclusion
Your Meilisearch instance is now running on Google Cloud with:- A dedicated system user for security
- Automatic restart via systemd
- Nginx reverse proxy
- HTTPS encryption via Let’s Encrypt