This guide explains how to launch the Elasticsearch backend and Argilla Server using docker. Please check the setup and installation section to understand other options.


Setting up Elasticsearch (ES) via docker is straightforward. Simply run the following command:

docker run -d --name elasticsearch-for-argilla -p 9200:9200 -p 9300:9300 -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -e "discovery.type=single-node"

This will create an ES docker container named โ€œelasticsearch-for-argillaโ€ that will run in the background.

To see the logs of the container, you can run:

docker logs elasticsearch-for-argilla

Or you can stop/start the container via:

docker stop elasticsearch-for-argilla
docker start elasticsearch-for-argilla


Keep in mind, if you remove your container with

docker rm elasticsearch-for-argilla

you will loose all your datasets in Argilla!

For more details about the ES installation with docker, see their official documentation. For MacOS and Windows, Elasticsearch also provides homebrew formulae and a msi package, respectively. We recommend ES version 7.10 to work with Argilla.

Argilla Server and UI#

You can use vanilla docker to run our image of Argilla Server. First, pull the image from the Docker Hub:

docker pull argilla/argilla-server

Then simply run it. Keep in mind that you need a running Elasticsearch instance for Argilla to work. By default, the Argilla server will look for your Elasticsearch endpoint at http://localhost:9200. But you can customize this by setting the ELASTICSEARCH environment variable.

docker run -p 6900:6900 -e "ELASTICSEARCH=<your-elasticsearch-endpoint>" --name argilla argilla/argilla-server

To find running instances of the Argilla server, you can list all the running containers on your machine:

docker ps

To stop the Argilla server, just stop the container:

docker stop argilla

If you want to deploy your own Elasticsearch cluster via docker, we refer you to the excellent guide on the Elasticsearch homepage.