1. Create dedicated user and data directory
sudo useradd -r -s /sbin/nologin meilisearch
sudo mkdir -p /var/lib/meilisearch/data
sudo chown -R meilisearch:meilisearch /var/lib/meilisearch
2. Generate a strong master key
3. Create environment config
sudo cat > /etc/meilisearch.env << 'EOF'
http_addr = "127.0.0.1:7700"
env = "production"
master_key = "KHGZEHDgBw8Tz4e8ntlnqBFUzC6A3wwvkdU3qkDVl00"
db_path = "/var/lib/meilisearch/data"
max_indexing_memory = "2Gb"
sudo chmod 600 /etc/meilisearch.env
sudo chown meilisearch:meilisearch /etc/meilisearch.env
EOF
sudo cat > /etc/systemd/system/meilisearch.service << 'EOF'
[Unit]
Description=Meilisearch API Service
After=network.target
[Service]
Type=simple
User=meilisearch
Group=meilisearch
EnvironmentFile=/etc/meilisearch.env
ExecStart=/usr/local/bin/meilisearch
WorkingDirectory=/var/lib/meilisearch
# Security and system limits
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now meilisearch
sudo systemctl status meilisearch
curl http://localhost:7700/health
# Expected: {"status":"available"}