Docker usage

May 23, 2026 ยท View on GitHub

The docker/ folder contains:

  • a Dockerfile for aiiinotate
  • a docker-comose to integrate aiiinotate with MongoDB, with volume persistance
  • a script to import data into a dockerized aiiinotate instance

Docker setup

  1. Install docker
  2. On linux, add your user to the docker group (see full docs)
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

Usage

Note that all docker commands must be run from the docker/ directory!

  1. Clone the repo and cd in it
git clone git@github.com:Aikon-platform/aiiinotate.git
cd aiiinotate/
  1. Create a .env file at docker/.env (from the root of the project):
cp ./config/.env.template ./docker/.env
vim ./docker/.env  # do your edits
  1. Edit the .env file. Pay attention to the following values:
  • MONGODB_HOST=mongo (container name)
  • AIIINOTATE_HOST=aiiinotate (container name)
  • AIIINOTATE_SCHEME=http
  • AIIINOTATE_LOG_TARGET=stdout (Docker aldready collects stdout logs, so setting log target to file is redundant)
  • set AIIINOTATE_PUBLIC_URL to the URL at which your aiiinotate instance will be accessible (e.g., aiiinotate.enpc.fr).
  1. Build the containers
cd docker
bash docker.sh build
  1. Start the containers
bash docker.sh start
  1. (Optional) import data into the running aiiinotate instance. path/to/dir is a path to a folder containing AnnotationLists or manifests to import.
bash docker_aiiinotate_import.sh <manifests|annotations> path/to/dir

Troubleshooting and useful commands

View logs:

docker logs docker-aiiinotate-1 -f

Access mongosh within the Mongo container:

docker exec -it docker-mongo-1 mongosh

Check running ports in the Web container:

docker exec -it docker-web-1 ss -tnl

View globally installed NPM packages in the Web container:

docker exec -it docker-web-1 npm list -g --depth=0

CURL the Web container

docker exec -it docker-web-1 curl http://0.0.0.0:4444   # change 4444 by your $AIIINOTATE_PORT