This commit is contained in:
2025-11-02 09:24:15 +01:00
parent 6fc6fbe901
commit 928c94e9c8
4 changed files with 165 additions and 204 deletions

View File

@@ -86,27 +86,6 @@ services:
caddy.reverse_proxy: "{{upstreams 80}}"
caddy.tls: internal
# Redis
# In-memory key-value database
# https://redis.io/fr/
redis:
image: redis:8.2
command:
- 'redis-server'
- '--save 60 1'
- '--loglevel verbose'
- '--requirepass ${REDIS_PASSWORD}'
ports:
- "6379:6379"
healthcheck:
test: ["CMD", "redis-cli", "-a", "${REDIS_PASSWORD}", "--raw", "incr", "ping" ]
interval: 30s
timeout: 5s
retries: 3
start_period: 20s
volumes:
- redis_data:/data
# ----------------------------------------------------------------------
# Graphes
@@ -198,91 +177,76 @@ services:
caddy.reverse_proxy: "{{upstreams 8080}}"
caddy.tls: internal
# ----------------------------------------------------------------------
# Mock Web API
#
# ----------------------------------------------------------------------
smocker:
image: thiht/smocker:0.18.5
restart: "no"
networks:
- caddy_net
ports:
- 8080:8080
- 8081:8081
toxiproxy:
image: ghcr.io/shopify/toxiproxy
restart: "no"
# ----------------------------------------------------------------------
# Business Intelligence
#
# ----------------------------------------------------------------------
superset:
image: apache/superset:3.1.3
depends_on:
database:
condition: service_healthy
environment:
SUPERSET_CONFIG_PATH: /app/pythonpath/superset_config.py
SUPERSET_SECRET_KEY: ${SUPERSET_SECRET:-YOUR_OWN_RANDOM_GENERATED_SECRET_KEY}
SUPERSET_LOAD_EXAMPLES: no
volumes:
- superset_home:/app/superset_home
- ./superset_config.py:/app/pythonpath/superset_config.py:Z
command: >
sh -c "
superset db upgrade &&
superset fab create-admin --username admin --firstname Admin --lastname User --email admin@superset.com --password admin &&
superset init &&
superset run -h 0.0.0.0 -p 80 --with-threads --reload --debugger
"
networks:
- caddy_net
labels:
caddy: superset.localhost
caddy.reverse_proxy: "{{upstreams 80}}"
caddy.tls: internal
# superset:
# image: apache/superset:3.1.3
# depends_on:
# database:
# condition: service_healthy
# environment:
# SUPERSET_CONFIG_PATH: /app/pythonpath/superset_config.py
# SUPERSET_SECRET_KEY: ${SUPERSET_SECRET:-YOUR_OWN_RANDOM_GENERATED_SECRET_KEY}
# SUPERSET_LOAD_EXAMPLES: no
# volumes:
# - superset_home:/app/superset_home
# - ./superset_config.py:/app/pythonpath/superset_config.py:Z
# command: >
# sh -c "
# superset db upgrade &&
# superset fab create-admin --username admin --firstname Admin --lastname User --email admin@superset.com --password admin &&
# superset init &&
# superset run -h 0.0.0.0 -p 80 --with-threads --reload --debugger
# "
# networks:
# - caddy_net
# labels:
# caddy: superset.localhost
# caddy.reverse_proxy: "{{upstreams 80}}"
# caddy.tls: internal
metabase:
image: metabase/metabase:v0.56.5.5
depends_on:
database:
condition: service_healthy
volumes:
- /dev/urandom:/dev/random:ro
environment:
MB_DB_TYPE: postgres
MB_DB_HOST: ${MB_DB_HOST:-database}
MB_DB_PORT: 5432
MB_DB_USER: metabase_user
MB_DB_PASS: ${DB_ROOT_PASSWORD:-supermotdepasse}
MB_DB_DBNAME: metabase
MB_SITE_LOCALE: fr
MB_ADMIN_EMAIL: etudiant@univ-lorraine.fr
MB_ANON_TRACKING_ENABLED: false
MB_CHECK_FOR_UPDATES: false
MB_NO_SURVEYS: yes
MB_START_OF_WEEK: monday
MB_CUSTOM_FORMATTING: '{"type/Temporal":{"time_style":"HH:mm","date_style":"D MMMM, YYYY","date_abbreviate":true},"type/Currency":{"currency":"EUR"},"type/Number":{"number_separators":", "}}'
MB_EMAIL_SMTP_HOST: mailpit
MB_EMAIL_SMTP_PORT: 1025
MB_EMAIL_FROM_ADDRESS: metabase@univ-lorraine.fr
networks:
- caddy_net
labels:
caddy: metabase.localhost
caddy.reverse_proxy: "{{upstreams 3000}}"
caddy.tls: internal
# metabase:
# image: metabase/metabase:v0.56.5.5
# depends_on:
# database:
# condition: service_healthy
# volumes:
# - /dev/urandom:/dev/random:ro
# environment:
# MB_DB_TYPE: postgres
# MB_DB_HOST: ${MB_DB_HOST:-database}
# MB_DB_PORT: 5432
# MB_DB_USER: metabase_user
# MB_DB_PASS: ${DB_ROOT_PASSWORD:-supermotdepasse}
# MB_DB_DBNAME: metabase
# MB_SITE_LOCALE: fr
# MB_ADMIN_EMAIL: etudiant@univ-lorraine.fr
# MB_ANON_TRACKING_ENABLED: false
# MB_CHECK_FOR_UPDATES: false
# MB_NO_SURVEYS: yes
# MB_START_OF_WEEK: monday
# MB_CUSTOM_FORMATTING: '{"type/Temporal":{"time_style":"HH:mm","date_style":"D MMMM, YYYY","date_abbreviate":true},"type/Currency":{"currency":"EUR"},"type/Number":{"number_separators":", "}}'
# MB_EMAIL_SMTP_HOST: mailpit
# MB_EMAIL_SMTP_PORT: 1025
# MB_EMAIL_FROM_ADDRESS: metabase@univ-lorraine.fr
# networks:
# - caddy_net
# labels:
# caddy: metabase.localhost
# caddy.reverse_proxy: "{{upstreams 3000}}"
# caddy.tls: internal
metabase-init:
build:
context: ./metabase
depends_on:
- metabase
networks:
- caddy_net
# metabase-init:
# build:
# context: ./metabase
# depends_on:
# - metabase
# networks:
# - caddy_net
#rabbitmq:
# image: rabbitmq:4.1.4-management
@@ -309,55 +273,10 @@ services:
# Observabilité - Télémétrie
#
# ----------------------------------------------------------------------
# Grafana
# Open source analytics & monitoring solution for every database.
# https://grafana.com/
grafana:
image: grafana/grafana-oss:12.1.0
restart: no
deploy:
resources:
limits:
memory: 100M
configs:
- source: grafana_provisioning
target: /etc/grafana/provisioning
- source: grafana_dashboards
target: /etc/grafana/dashboards
volumes:
- grafana:/var/lib/grafana
environment:
#GF_SECURITY_ADMIN_EMAIL: ${ADMIN_EMAIL}
#GF_SECURITY_ADMIN_PASSWORD: ${ADMIN_PASSWORD}
GF_AUTH_ANONYMOUS_ENABLED: true # Enabled the Anonymous user no user/pass needed
GF_AUTH_ANONYMOUS_ORG_ROLE: Admin
GF_AUTH_DISABLE_LOGIN_FORM: true
GF_USERS_DEFAULT_THEME: light
GF_USERS_ALLOW_SIGN_UP: false
GF_FEATURE_TOGGLES_ENABLE: traceQLStreaming metricsSummary lokiFormatQuery alertmanagerRemoteOnly
GF_INSTALL_PLUGINS: yesoreyeram-infinity-datasource
networks:
- caddy_net
labels:
caddy: grafana.localhost
caddy.reverse_proxy: "{{upstreams 3000}}"
caddy.tls: internal
# Prometheus
# Prometheus is an open-source systems monitoring and alerting toolkit
# https://prometheus.io/
prometheus:
image: prom/prometheus:v3.6.0
configs:
- source: prometheus_config
target: /etc/prometheus/prometheus.yml
volumes:
- prometheus:/prometheus
- /var/run/docker.sock:/var/run/docker.sock:ro
ports:
- 9090:9090
#extra_hosts:
# - host.docker.internal=host-gateway
gatus:
image: twinproduction/gatus:v5.26.0
@@ -389,14 +308,6 @@ volumes:
caddy_data:
pgadmin:
database_data:
couchdb_data:
mongodb_data:
mongodb_configdb:
redis_data:
neo4j_data:
neo4j_logs:
prometheus:
grafana:
superset_home:
rabbitmq_data:
mailpit:
@@ -404,12 +315,6 @@ volumes:
configs:
pgadmin_config:
file: ./pgadmin-servers.json
grafana_provisioning:
file: ./grafana/provisioning
grafana_dashboards:
file: ./grafana/dashboards
prometheus_config:
file: ./prometheus.yml
networks:
caddy_net: