- Nouveau module Grafana central partagé - Installation de Loki pour la collecte de logs - Installation de Prometheus pour les métriques - Installation de Promtail pour la collecte de logs - Configuration DNS pour tous les services de monitoring - Documentation complète du monitoring dans docs/MONITORING.md - Correction de la résolution DNS pour Bitcoin - Suppression de log-monitoring.yml obsolète - Mise à jour du CHANGELOG et VERSION Services ajoutés: - grafana-central.local:3000 (tableau de bord) - loki.local:3100 (logs) - prometheus.local:9091 (métriques) - promtail.local (collecte de logs)
382 lines
11 KiB
YAML
382 lines
11 KiB
YAML
version: '3.8'
|
|
|
|
# Updated to use newer Go-based images for builds; placeholder for future dynamic tag adjustments
|
|
|
|
services:
|
|
tor.local:
|
|
image: dperson/torproxy:latest
|
|
container_name: tor.local
|
|
hostname: tor.local
|
|
ports:
|
|
- "9050:9050"
|
|
- "9051:9051"
|
|
networks:
|
|
4nk_network:
|
|
ipv4_address: 172.20.0.10
|
|
restart: unless-stopped
|
|
|
|
bitcoin.local:
|
|
image: ruimarinho/bitcoin-core:latest
|
|
container_name: bitcoin.local
|
|
hostname: bitcoin.local
|
|
ports:
|
|
- "38332:38332"
|
|
- "29000:29000"
|
|
volumes:
|
|
- ./modules/bitcoin/data:/home/bitcoin/.bitcoin
|
|
- ./modules/bitcoin/conf/bitcoin.conf:/home/bitcoin/.bitcoin/bitcoin.conf
|
|
- ./modules/bitcoin/logs:/home/bitcoin/.bitcoin/logs
|
|
dns:
|
|
- 172.17.0.1 # Gateway Docker pour accéder à dnsmasq
|
|
networks:
|
|
4nk_network:
|
|
ipv4_address: 172.20.0.11
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- tor.local
|
|
|
|
blindbit-oracle.local:
|
|
image: git.4nkweb.com/4nk/blindbit-oracle:dev
|
|
container_name: blindbit-oracle.local
|
|
hostname: blindbit-oracle.local
|
|
ports:
|
|
- "8000:8000"
|
|
|
|
environment:
|
|
- HOST=blindbit-oracle.local:8000
|
|
- CHAIN="signet"
|
|
- RPC_ENDPOINT="http://bitcoin.local:38332"
|
|
- COOKIE_PATH="/home/bitcoin/.bitcoin/signet/.cookie"
|
|
- RPC_USER=""
|
|
- RPC_PASS=""
|
|
- SYNC_START_HEIGHT=1
|
|
- MAX_PARALLEL_TWEAK_COMPUTATIONS=4
|
|
- MAX_PARALLEL_REQUESTS=4
|
|
- TWEAKS_ONLY=0
|
|
- TWEAKS_FULL_BASIC=1
|
|
- TWEAKS_FULL_WITH_DUST_FILTER=1
|
|
- TWEAKS_CUT_THROUGH_WITH_DUST_FILTER=1
|
|
- host="blindbit-oracle.local:8000"
|
|
- chain="signet"
|
|
- rpc_endpoint="http://bitcoin.local:38332"
|
|
- cookie_path="/home/bitcoin/.bitcoin/signet/.cookie"
|
|
- rpc_user=""
|
|
- rpc_pass=""
|
|
- sync_start_height=1
|
|
- max_parallel_tweak_computations=4
|
|
- max_parallel_requests=4
|
|
- tweaks_only=0
|
|
- tweaks_full_basic=1
|
|
- tweaks_full_with_dust_filter=1
|
|
- tweaks_cut_through_with_dust_filter=1
|
|
command: [ "/main", "--datadir", "/blindbit-oracle" ]
|
|
working_dir: /
|
|
volumes:
|
|
- ./modules/blindbit-oracle/conf/blindbit.toml:/blindbit-oracle/blindbit.toml:ro
|
|
- ./modules/blindbit-oracle/data:/blindbit-oracle
|
|
- ./modules/blindbit-oracle/logs:/blindbit-oracle/logs
|
|
networks:
|
|
4nk_network:
|
|
ipv4_address: 172.20.0.12
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- bitcoin.local
|
|
healthcheck:
|
|
test: [ "CMD", "wget", "--quiet", "--tries=1", "--timeout=5", "--spider", "http://localhost:8000" ]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
|
|
sdk_storage.local:
|
|
image: git.4nkweb.com/4nk/sdk_storage:dev
|
|
container_name: sdk-storage.local
|
|
hostname: sdk-storage.local
|
|
ports:
|
|
- "8081:8080"
|
|
volumes:
|
|
- ./modules/sdk_storage/conf/sdk_storage.conf:/usr/local/bin/sdk_storage.conf:ro
|
|
- ./modules/sdk_storage/log:/app/logs
|
|
networks:
|
|
4nk_network:
|
|
ipv4_address: 172.20.0.13
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: [ "CMD", "wget", "--quiet", "--tries=1", "--timeout=5", "--spider", "http://localhost:8080" ]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
|
|
sdk_relay1.local:
|
|
image: git.4nkweb.com/4nk/sdk_relay:dev
|
|
container_name: sdk-relay1.local
|
|
hostname: sdk-relay1.local
|
|
ports:
|
|
- "8090:8090"
|
|
- "8091:8091"
|
|
environment:
|
|
- RELAY_RPC_USER=""
|
|
- RELAY_RPC_PASSWORD=""
|
|
- COOKIE_PATH="/home/bitcoin/.bitcoin/signet/.cookie"
|
|
- relay_rpc_user=""
|
|
- relay_rpc_password=""
|
|
- cookie_path="/home/bitcoin/.bitcoin/signet/.cookie"
|
|
volumes:
|
|
- ./modules/sdk_relay1/conf/sdk_relay1.conf:/home/bitcoin/.conf:ro
|
|
- ./modules/sdk_relay1/logs:/home/bitcoin/logs
|
|
working_dir: /home/bitcoin
|
|
networks:
|
|
4nk_network:
|
|
ipv4_address: 172.20.0.14
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- blindbit-oracle.local
|
|
healthcheck:
|
|
test: [ "CMD", "curl", "-f", "http://localhost:8090/health" ]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
|
|
sdk_relay2.local:
|
|
image: git.4nkweb.com/4nk/sdk_relay:dev
|
|
container_name: sdk-relay2.local
|
|
hostname: sdk-relay2.local
|
|
ports:
|
|
- "8092:8090"
|
|
- "8093:8091"
|
|
environment:
|
|
- RELAY_RPC_USER=""
|
|
- RELAY_RPC_PASSWORD=""
|
|
- COOKIE_PATH="/home/bitcoin/.bitcoin/signet/.cookie"
|
|
- relay_rpc_user=""
|
|
- relay_rpc_password=""
|
|
- cookie_path="/home/bitcoin/.bitcoin/signet/.cookie"
|
|
volumes:
|
|
- ./modules/sdk_relay2/conf/sdk_relay2.conf:/home/bitcoin/.conf:ro
|
|
- ./modules/sdk_relay2/logs:/home/bitcoin/logs
|
|
working_dir: /home/bitcoin
|
|
networks:
|
|
4nk_network:
|
|
ipv4_address: 172.20.0.15
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- blindbit-oracle.local
|
|
healthcheck:
|
|
test: [ "CMD", "curl", "-f", "http://localhost:8090/health" ]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
|
|
sdk_relay3.local:
|
|
image: git.4nkweb.com/4nk/sdk_relay:dev
|
|
container_name: sdk-relay3.local
|
|
hostname: sdk-relay3.local
|
|
ports:
|
|
- "8094:8090"
|
|
- "8095:8091"
|
|
environment:
|
|
- RELAY_RPC_USER=""
|
|
- RELAY_RPC_PASSWORD=""
|
|
- COOKIE_PATH="/home/bitcoin/.bitcoin/signet/.cookie"
|
|
- relay_rpc_user=""
|
|
- relay_rpc_password=""
|
|
- cookie_path="/home/bitcoin/.bitcoin/signet/.cookie"
|
|
volumes:
|
|
- ./modules/sdk_relay3/conf/sdk_relay3.conf:/home/bitcoin/.conf:ro
|
|
- ./modules/sdk_relay3/logs:/home/bitcoin/logs
|
|
working_dir: /home/bitcoin
|
|
networks:
|
|
4nk_network:
|
|
ipv4_address: 172.20.0.16
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- blindbit-oracle.local
|
|
healthcheck:
|
|
test: [ "CMD", "curl", "-f", "http://localhost:8090/health" ]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
|
|
sdk_signer.local:
|
|
image: git.4nkweb.com/4nk/sdk_signer:dev
|
|
container_name: sdk-signer.local
|
|
hostname: sdk-signer.local
|
|
ports:
|
|
- "9090:9090"
|
|
volumes:
|
|
- ./modules/sdk_signer/conf/sdk_signer.conf:/usr/local/bin/sdk_signer.conf:ro
|
|
- ./modules/sdk_signer/data:/app/data
|
|
- ./modules/sdk_signer/logs:/usr/src/app/logs
|
|
networks:
|
|
4nk_network:
|
|
ipv4_address: 172.20.0.17
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- sdk_storage.local
|
|
- sdk_relay1.local
|
|
- sdk_relay2.local
|
|
- sdk_relay3.local
|
|
healthcheck:
|
|
test: [ "CMD", "wget", "--quiet", "--tries=1", "--timeout=5", "--spider", "http://localhost:9090" ]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
|
|
ihm_client.local:
|
|
image: git.4nkweb.com/4nk/ihm_client:dev
|
|
container_name: ihm-client.local
|
|
hostname: ihm-client.local
|
|
ports:
|
|
- "8080:80"
|
|
- "3003:3003"
|
|
volumes:
|
|
- ./modules/ihm_client/logs:/var/log/ihm_client
|
|
networks:
|
|
4nk_network:
|
|
ipv4_address: 172.20.0.18
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- sdk_storage.local
|
|
- sdk_relay1.local
|
|
- sdk_relay2.local
|
|
- sdk_relay3.local
|
|
healthcheck:
|
|
test: [ "CMD", "wget", "--quiet", "--tries=1", "--timeout=5", "--spider", "http://localhost" ]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
|
|
|
|
|
|
coffre-front.local:
|
|
image: git.4nkweb.com/4nk/lecoffre-front:dev
|
|
container_name: coffre-front.local
|
|
hostname: coffre-front.local
|
|
volumes:
|
|
- ./projects/lecoffre/lecoffre-front/logs:/logs
|
|
networks:
|
|
4nk_network:
|
|
ipv4_address: 172.20.0.32
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- coffre-back-mini.local
|
|
- ihm_client.local
|
|
- sdk_signer.local
|
|
|
|
coffre-back-mini.local:
|
|
image: git.4nkweb.com/4nk/lecoffre-back-mini:dev
|
|
container_name: coffre-back-mini.local
|
|
hostname: coffre-back-mini.local
|
|
networks:
|
|
4nk_network:
|
|
ipv4_address: 172.20.0.33
|
|
restart: unless-stopped
|
|
|
|
loki.local:
|
|
image: grafana/loki:2.9.0
|
|
container_name: loki.local
|
|
hostname: loki.local
|
|
ports:
|
|
- "3100:3100"
|
|
command: -config.file=/etc/loki/local-config.yaml
|
|
volumes:
|
|
- ./modules/grafana-central/conf/loki-config.yaml:/etc/loki/local-config.yaml:ro
|
|
- loki_data:/loki
|
|
networks:
|
|
4nk_network:
|
|
ipv4_address: 172.20.0.51
|
|
restart: unless-stopped
|
|
|
|
prometheus.local:
|
|
image: prom/prometheus:v2.54.1
|
|
container_name: prometheus.local
|
|
hostname: prometheus.local
|
|
ports:
|
|
- "9091:9090"
|
|
command:
|
|
- '--config.file=/etc/prometheus/prometheus.yml'
|
|
- '--storage.tsdb.path=/prometheus'
|
|
- '--web.console.libraries=/etc/prometheus/console_libraries'
|
|
- '--web.console.templates=/etc/prometheus/consoles'
|
|
- '--storage.tsdb.retention.time=200h'
|
|
- '--web.enable-lifecycle'
|
|
volumes:
|
|
- ./modules/grafana-central/conf/prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
|
- prometheus_data:/prometheus
|
|
networks:
|
|
4nk_network:
|
|
ipv4_address: 172.20.0.52
|
|
restart: unless-stopped
|
|
|
|
promtail.local:
|
|
image: grafana/promtail:2.9.0
|
|
container_name: promtail.local
|
|
hostname: promtail.local
|
|
command: -config.file=/etc/promtail/config.yml
|
|
volumes:
|
|
- ./modules/grafana-central/conf/promtail-config.yml:/etc/promtail/config.yml:ro
|
|
- /var/lib/docker/containers:/var/lib/docker/containers:ro
|
|
- /var/log/docker:/var/log/docker:ro
|
|
- ./modules:/workspace/modules:ro
|
|
- ./projects:/workspace/projects:ro
|
|
- ./modules/grafana-central/logs:/workspace/logs:ro
|
|
networks:
|
|
4nk_network:
|
|
ipv4_address: 172.20.0.53
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- loki.local
|
|
|
|
grafana-central.local:
|
|
image: grafana/grafana:10.0.0
|
|
container_name: grafana-central.local
|
|
hostname: grafana-central.local
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
- GF_SECURITY_ADMIN_PASSWORD=admin
|
|
- GF_USERS_ALLOW_SIGN_UP=false
|
|
- GF_SERVER_ROOT_URL=http://grafana-central.local:3000
|
|
- GF_SERVER_SERVE_FROM_SUB_PATH=false
|
|
volumes:
|
|
- grafana_central_data:/var/lib/grafana
|
|
- ./modules/grafana-central/conf/grafana.ini:/etc/grafana/grafana.ini:ro
|
|
- ./modules/grafana-central/conf/datasources.yml:/etc/grafana/provisioning/datasources/datasources.yml:ro
|
|
- ./modules/grafana-central/logs:/var/log/grafana
|
|
networks:
|
|
4nk_network:
|
|
ipv4_address: 172.20.0.50
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- loki.local
|
|
- prometheus.local
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--quiet", "--tries=1", "--timeout=5", "--spider", "http://localhost:3000/api/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
|
|
volumes:
|
|
grafana_central_data:
|
|
loki_data:
|
|
prometheus_data:
|
|
|
|
networks:
|
|
4nk_network:
|
|
driver: bridge
|
|
ipam:
|
|
config:
|
|
- subnet: 172.20.0.0/16
|
|
4nk_projects_net:
|
|
driver: bridge
|
|
ipam:
|
|
config:
|
|
- subnet: 172.21.0.0/16
|