131 lines
3.3 KiB
YAML
131 lines
3.3 KiB
YAML
networks:
|
|
default:
|
|
driver: bridge
|
|
ipam:
|
|
driver: default
|
|
config:
|
|
- subnet: 172.19.0.0/16
|
|
|
|
services:
|
|
loki:
|
|
image: grafana/loki:2.9.4
|
|
container_name: loki
|
|
ports:
|
|
- "3100:3100"
|
|
command: -config.file=/etc/loki/local-config.yaml
|
|
volumes:
|
|
- ./loki-config.yaml:/etc/loki/local-config.yaml:ro
|
|
- loki-data:/loki
|
|
networks:
|
|
default:
|
|
ipv4_address: 172.19.0.2
|
|
|
|
grafana:
|
|
image: grafana/grafana:11.0.0
|
|
container_name: grafana
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
- GF_SECURITY_ADMIN_USER=admin
|
|
- GF_SECURITY_ADMIN_PASSWORD=admin
|
|
volumes:
|
|
- grafana-data:/var/lib/grafana
|
|
networks:
|
|
default:
|
|
ipv4_address: 172.19.0.3
|
|
depends_on:
|
|
- loki
|
|
|
|
pgsql:
|
|
image: postgres:17
|
|
# restart: unless-stopped
|
|
container_name: postgresql
|
|
volumes:
|
|
- postgresql-data:/var/lib/postgresql/data
|
|
- ./init-db.sh:/docker-entrypoint-initdb.d/init-db.sh:ro
|
|
networks:
|
|
default:
|
|
ipv4_address: 172.19.0.4
|
|
ports:
|
|
- target: 5432
|
|
published: 5432
|
|
protocol: tcp
|
|
mode: host
|
|
environment:
|
|
- POSTGRES_PASSWORD=Creative26!
|
|
|
|
# 9002 porta per la comunicazione tra container
|
|
# 9003 porta per la connessione fuori da docker
|
|
# 9004 porta quorumdei controller kraft
|
|
kafka:
|
|
image: apache/kafka:4.2.0
|
|
container_name: kafka
|
|
networks:
|
|
default:
|
|
ipv4_address: 172.19.0.5
|
|
ports:
|
|
- "9092:9092"
|
|
environment:
|
|
# Rimosso il prefisso _CFG_
|
|
- KAFKA_NODE_ID=1
|
|
- KAFKA_PROCESS_ROLES=broker,controller
|
|
- KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER
|
|
- KAFKA_LISTENERS=PLAINTEXT://:9092,EXTERNAL://:9094,CONTROLLER://:9093
|
|
- KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,EXTERNAL://localhost:9094
|
|
- KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,EXTERNAL:PLAINTEXT
|
|
- KAFKA_CONTROLLER_QUORUM_VOTERS=1@kafka:9093
|
|
# Variabile fondamentale per l'immagine Apache in modalita KRaft
|
|
- KAFKA_INTER_BROKER_LISTENER_NAME=PLAINTEXT
|
|
|
|
# localhost:9001 interfaccia per esplorare topic e consumer
|
|
kafdrop:
|
|
image: obsidiandynamics/kafdrop:4.2.0
|
|
container_name: kafdrop
|
|
ports:
|
|
- "9001:9001"
|
|
environment:
|
|
- KAFKA_BROKERCONNECT=kafka:9092
|
|
- SERVER_PORT=9001
|
|
depends_on:
|
|
- kafka
|
|
networks:
|
|
default:
|
|
ipv4_address: 172.19.0.6
|
|
|
|
#keycloak - in prod comand: start
|
|
keycloak:
|
|
image: quay.io/keycloak/keycloak:26.5.6
|
|
container_name: keycloak
|
|
environment:
|
|
KC_BOOTSTRAP_ADMIN_USERNAME: admin
|
|
KC_BOOTSTRAP_ADMIN_PASSWORD: Creative26!
|
|
|
|
# utilizza utenza di root
|
|
KC_DB: postgres
|
|
KC_DB_URL: jdbc:postgresql://pgsql:5432/keycloak
|
|
KC_DB_USERNAME: postgres
|
|
KC_DB_PASSWORD: Creative26!
|
|
|
|
KC_HOSTNAME: localhost
|
|
KC_HOSTNAME_PORT: 8080
|
|
KC_HOSTNAME_STRICT: 'false'
|
|
KC_HOSTNAME_STRICT_HTTPS: 'false'
|
|
|
|
#KC_FEATURES: scripts non utilizzato piu
|
|
KC_LOG_LEVEL: info
|
|
KC_METRICS_ENABLED: 'true'
|
|
KC_HEALTH_ENABLED: 'true'
|
|
command: start-dev
|
|
ports:
|
|
- '8080:8080'
|
|
depends_on:
|
|
- pgsql
|
|
networks:
|
|
default:
|
|
ipv4_address: 172.19.0.7
|
|
|
|
|
|
volumes:
|
|
loki-data:
|
|
grafana-data:
|
|
postgresql-data: |