-
Notifications
You must be signed in to change notification settings - Fork 1
Docker container
Here you can find some instructions on how to create and configure the Docker container distributed along with KAMIStudio.
KAMIStudio is distributed along with a Docker image, which can be used to create a container with KAMIStudio installed together with the databases necessary for its normal functioning.
KAMIStudio uses Docker compose to create three separate containers:
- Neo4j DB container
- Mongo DB container
- KAMIStudio Flask-app container
The files Dockerfile and docker-compose.yml contain the necessary configurations.
First, you need to make sure that you have installed Docker (https://docs.docker.com/install/#server) and the Docker Compose tool (https://docs.docker.com/compose/install/) on your machine. On desktop systems like Docker Desktop for Mac and Windows, Docker Compose is included as part of those desktop installs.
Then, to create a container, go to the folder with the source of KAMIStudio and build the composed Docker images:
cd KAMIStudio
sudo docker-compose build
To lauch the created container with KAMIStudio run:
sudo docker-compose up
It will create three containers (one for the KAMIStudio server, one for the Neo4j database and the third one for the Mongo database), fetch all the dependencies, install them (note that it may take some time) and then launch KAMIStudio. Launching of KAMIStudio is performed within attached mode (docker-compose up does not terminate, but continuously outputs the messages from the launched containers). To run KAMIStudio in detached mode execute:
sudo docker-compose up -d
You can now access KAMIStudio using your browser at 0.0.0.0:5000. Note that Neo4j database has some delay on the start, therefore, if you get an error of connection to Neo4j immediately after lauching KAMIStudio, simply wait until the connection will be established and reload the page.
Installation of dependencies will be done only on the first docker-compose build and docker-compose up, all the rest will simply launch KAMIStudio inside the container (therefore, will take significantly less time).