deploying meilisearch

What I want to deploy? - https://www.meilisearch.com/

It has a binary that can be downloaded and run as ./meilisearch I would love to deploy this with something like

curl -L https://install.meilisearch.com | sh
./meilisearch

which basically downloads the binary and runs it at default port 7700.

I am using this server with port 7700 in my local phoenix app. I can deploy phoenix app to fly.io. (amazingly simple flyctl!)

But how do I stay on fly.io to deploy my other app meilisearch ? and get the endpoint which I can then use in my phoenix app?

You’ll need to create a new app on Fly.

For this app, you’ll need a volume for Meilisearch to store its data.

fly deploy -i getmeili/meilisearch

From your Phoenix app you should be able to access Meilisearch via your-new-app-name.internal:7700.

That’s if you don’t want it open to the internet.

1 Like
  1. Do I execute this from the same directory ?

  2. How do I attach volume to this new app?

You run fly deploy from the directory your fly.toml is in. Did you already run fly apps create for your meilisearch app? fly.toml is generated when you create a new app on Fly.

You can attach a volume with these instructions: Volumes

I did not know that there is an option to create apps via fly apps create. Will try out and read volumes. Thank you for documentation.

A few suggestions for better documentation:

  1. on typing fly apps - creating apps is somewhere after scroll.


    g

2 and 3 puzzled me :stuck_out_tongue:

Were you ever able to get a meilisearch server running on fly? I’m trying attempting to transition my server at the moment. Any guidance would be appreciated!

How did you have to specify the MEILISEARCH_HOST value? http://your-new-app-name.internal:7700?

I’m not sure, I’ve never set it up myself. Is this meant to be publicly accessible or internal?

It’s supposed to be internal.

Then yes, you’d want to access it via your-app.internal:<mellisearch-port>