diff --git a/README b/README
index 87ed309cc719ea383964552ae57bf99135cef410..e1279f38246c0529f9a2cb53e11228474fde089b 100644
--- a/README
+++ b/README
@@ -1,3 +1,14 @@
+#For Docker
+cp config.sample.py config.py
+Modify :
+ - BBB_API_URL (end with /bigbluebutton/api)
+ - BBB_SECRET_KEY
+
+cd docker
+docker-compose up --build --detach
+
+
+#Complete Installation
 #INSTALL
 python3 -m venv .venv
 source .venv/bin/activate
@@ -13,4 +24,5 @@ python getMeetings.py
 * * * * * BBBStats/run.sh >> BBBStats/run.log
 
 #AGIMUS
-You can find an export of agimus (Kibana) dashboard in folder agimus
\ No newline at end of file
+You can find an export of agimus (Kibana) dashboard in folder agimus
+
diff --git a/docker/.env b/docker/.env
new file mode 100644
index 0000000000000000000000000000000000000000..0561a75f8b55e0d372e07b82952fc6fbee6121b1
--- /dev/null
+++ b/docker/.env
@@ -0,0 +1,8 @@
+ELASTICSEARCH_SERVER=elasticsearch
+ELASTICSEARCH_INPORT=9200
+ELASTICSEARCH_OUTPORT=9200
+KIBANA_SERVER=kibana
+KIBANA_INPORT=5601
+KIBANA_OUTPORT=5601
+ELASTIC_STACK_VERSION=7.17.27
+ELASTIC_DATA=./elasticsearch-data
\ No newline at end of file
diff --git a/docker/Dockerfile-python b/docker/Dockerfile-python
new file mode 100644
index 0000000000000000000000000000000000000000..745bf01f343c783f8a0a6835741903c742b5ecdc
--- /dev/null
+++ b/docker/Dockerfile-python
@@ -0,0 +1,27 @@
+FROM python:3.13.1-alpine
+RUN apk update
+RUN apk add \
+    build-base \
+    curl \
+	jq
+	
+RUN mkdir /app
+WORKDIR /app
+
+COPY --from=src config.py .
+COPY --from=src agimus/export.ndjson kibana-object.ndjson
+COPY --from=src requirements.txt .
+COPY run-docker.sh run.sh
+
+RUN pip install -r requirements.txt
+ENV PYTHONUNBUFFERED 1
+
+COPY --from=src bbbtools.py .
+COPY --from=src estools.py .
+COPY --from=src getMeetings.py .
+
+RUN chmod +x run.sh
+
+
+WORKDIR /app
+CMD ["/app/run.sh"]
\ No newline at end of file
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..612c6dca23711a7aa3f4f886405067de1aa347b9
--- /dev/null
+++ b/docker/docker-compose.yml
@@ -0,0 +1,47 @@
+
+services:
+  python:
+    build: 
+      context: ./
+      additional_contexts:
+         src: ../
+      dockerfile: Dockerfile-python        
+    env_file:
+      - ./.env
+    restart: always
+    depends_on:
+      - elasticsearch
+      - kibana
+  elasticsearch:
+    image: elasticsearch:${ELASTIC_STACK_VERSION}
+    restart: always
+    ports:
+      - ${ELASTICSEARCH_OUTPORT}:${ELASTICSEARCH_INPORT}
+    env_file:
+      - ./.env
+    environment:
+      - discovery.type=single-node
+      - xpack.security.enabled=false
+      - XPACK_SECURITY_ENABLED=false
+    ulimits:
+      memlock:
+        soft: -1
+        hard: -1
+      nofile:
+        soft: 65536
+        hard: 65536
+    cap_add:
+      - IPC_LOCK
+    volumes:
+      - ${ELASTIC_DATA}:/usr/share/elasticsearch/data
+  kibana:
+    image: kibana:${ELASTIC_STACK_VERSION}
+    restart: always
+    env_file:
+      - ./.env
+    environment:
+      - ELASTICSEARCH_HOSTS=http://${ELASTICSEARCH_SERVER}:${ELASTICSEARCH_INPORT}
+    ports:
+      - ${KIBANA_OUTPORT}:${KIBANA_INPORT}
+    depends_on:
+      - elasticsearch
diff --git a/docker/run-docker.sh b/docker/run-docker.sh
new file mode 100644
index 0000000000000000000000000000000000000000..1af4efd3ac34005550925485ca215480998dfd15
--- /dev/null
+++ b/docker/run-docker.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+#Wait ES up
+until nc -z ${ELASTICSEARCH_SERVER} ${ELASTICSEARCH_INPORT}
+do 
+	echo "$(date) - Waiting for elasticsearch on ${ELASTICSEARCH_SERVER}:${ELASTICSEARCH_INPORT}"; 
+	sleep 3; 
+done
+echo "$(date) - Elasticsearch on ${ELASTICSEARCH_SERVER}:${ELASTICSEARCH_INPORT} is ready"
+
+#Wait Kibana start
+until nc -z ${KIBANA_SERVER} ${KIBANA_INPORT}
+do 
+	echo "$(date) - Waiting for kibana on ${KIBANA_SERVER}:${KIBANA_INPORT}"; 
+	sleep 3; 
+done
+echo "$(date) - Kibana on ${KIBANA_SERVER}:${KIBANA_INPORT} is ready"
+
+
+#Wait Kibana ready
+until curl -s -f -o /dev/null "http://${KIBANA_SERVER}:${KIBANA_INPORT}/api/status"
+do
+  echo "$(date) - Waiting for kibana on ${KIBANA_SERVER}:${KIBANA_INPORT} is ready"; 
+  sleep 3
+done
+
+#Create Kibana objects
+echo -n "$(date) - Create Kibana dashboard success:"
+curl -s -X POST http://${KIBANA_SERVER}:${KIBANA_INPORT}/api/saved_objects/_import?overwrite=true -H "kbn-xsrf: true" --form file=@kibana-object.ndjson | jq .success
+echo ""
+
+while true
+do
+	echo "$(date) - GetMettings"
+	python /app/getMeetings.py
+	sleep 180
+done