Skip to content
Snippets Groups Projects
Commit ebe4ecc9 authored by MARCHAL Julien's avatar MARCHAL Julien
Browse files

Add docker compose

parent 7fe8a804
No related branches found
No related tags found
No related merge requests found
#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
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
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
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
#!/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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment