Basic impl added
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
notifier:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
container_name: notifier
|
||||
ports:
|
||||
- "8080:8080" # REST API
|
||||
- "50051:50051" # gRPC
|
||||
- "9090:9090" # Metrics
|
||||
- "8081:8081" # Health check
|
||||
volumes:
|
||||
- ./config.yaml:/app/config.yaml:ro
|
||||
- notifier-data:/var/lib/notifier
|
||||
environment:
|
||||
- NOTIFIER_SERVER_MODE=both
|
||||
- NOTIFIER_LOGGING_LEVEL=info
|
||||
- NOTIFIER_LOGGING_FORMAT=json
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- notifier-net
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8081/health"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 10s
|
||||
|
||||
# Optional: Kafka for distributed queue
|
||||
# kafka:
|
||||
# image: confluentinc/cp-kafka:latest
|
||||
# container_name: kafka
|
||||
# ports:
|
||||
# - "9092:9092"
|
||||
# environment:
|
||||
# KAFKA_BROKER_ID: 1
|
||||
# KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
|
||||
# KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
|
||||
# KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
|
||||
# depends_on:
|
||||
# - zookeeper
|
||||
# networks:
|
||||
# - notifier-net
|
||||
|
||||
# zookeeper:
|
||||
# image: confluentinc/cp-zookeeper:latest
|
||||
# container_name: zookeeper
|
||||
# ports:
|
||||
# - "2181:2181"
|
||||
# environment:
|
||||
# ZOOKEEPER_CLIENT_PORT: 2181
|
||||
# ZOOKEEPER_TICK_TIME: 2000
|
||||
# networks:
|
||||
# - notifier-net
|
||||
|
||||
# Optional: Prometheus for metrics collection
|
||||
# prometheus:
|
||||
# image: prom/prometheus:latest
|
||||
# container_name: prometheus
|
||||
# ports:
|
||||
# - "9091:9090"
|
||||
# volumes:
|
||||
# - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
||||
# - prometheus-data:/prometheus
|
||||
# command:
|
||||
# - '--config.file=/etc/prometheus/prometheus.yml'
|
||||
# - '--storage.tsdb.path=/prometheus'
|
||||
# networks:
|
||||
# - notifier-net
|
||||
|
||||
# Optional: Grafana for visualization
|
||||
# grafana:
|
||||
# image: grafana/grafana:latest
|
||||
# container_name: grafana
|
||||
# ports:
|
||||
# - "3000:3000"
|
||||
# environment:
|
||||
# - GF_SECURITY_ADMIN_PASSWORD=admin
|
||||
# volumes:
|
||||
# - grafana-data:/var/lib/grafana
|
||||
# depends_on:
|
||||
# - prometheus
|
||||
# networks:
|
||||
# - notifier-net
|
||||
|
||||
networks:
|
||||
notifier-net:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
notifier-data:
|
||||
# prometheus-data:
|
||||
# grafana-data:
|
||||
Reference in New Issue
Block a user