/
advanceddev
/
license-server
Обзор
Документация
Войти
/
advanceddev
/
license-server
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
2
CI/CD
Аналитика
Безопасность
master
compose.yml
171 строка
4 KB
advanceddev
feat: add observability stack (Grafana, Loki, Promtail)
10 авг 2026, 14:55
Не верифицирован
10 авг 2026, 14:55
88189fd
Код
Авторство
О чём код?
services: redis: image: redis:8.10-alpine command: > redis-server --maxmemory 64mb --maxmemory-policy allkeys-lru --save "" --appendonly no networks: - internal healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 5 logging: driver: json-file options: max-size: "5m" max-file: "3" postgres: image: postgres:17-alpine environment: POSTGRES_DB: ${DB_NAME} POSTGRES_USER: ${DB_USER} POSTGRES_PASSWORD: ${DB_PASSWORD} volumes: - pgdata:/var/lib/postgresql/data networks: - internal healthcheck: test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"] interval: 5s timeout: 5s retries: 5 logging: driver: json-file options: max-size: "10m" max-file: "5" migrate: image: postgres:17-alpine env_file: .env depends_on: postgres: condition: service_healthy volumes: - ./migrations:/migrations:ro networks: - internal entrypoint: > /bin/sh -c " echo 'Running migrations...'; for f in /migrations/*.sql; do echo \"Applying $$f\"; psql \"$${DATABASE_URL}\" -f \"$$f\" || exit 1; done; echo 'All migrations applied successfully.'; " restart: "no" logging: driver: json-file options: max-size: "10m" max-file: "5" license-server: build: . env_file: .env depends_on: migrate: condition: service_completed_successfully redis: condition: service_healthy restart: unless-stopped networks: - internal - external logging: driver: json-file options: max-size: "10m" max-file: "5" nginx: image: nginx:1.31.3-alpine ports: - "${NGINX_PORT:-80}:80" volumes: - ./nginx/${NGINX_CONF:-nginx.dev.conf}:/etc/nginx/nginx.conf:ro depends_on: license-server: condition: service_started networks: - internal - external restart: unless-stopped logging: driver: json-file options: max-size: "20m" max-file: "10" loki: image: grafana/loki:3.7.6 command: -config.file=/etc/loki/loki-config.yaml -target=all volumes: - ./loki-config.yml:/etc/loki/loki-config.yaml:ro - loki-data:/loki networks: - internal restart: unless-stopped logging: driver: json-file options: max-size: "5m" max-file: "3" promtail: image: grafana/promtail:3.6.11 volumes: - ./promtail-config.yml:/etc/promtail/config.yml:ro - /var/lib/docker/containers:/var/lib/docker/containers:ro - /var/run/docker.sock:/var/run/docker.sock:ro networks: - internal depends_on: - loki restart: unless-stopped logging: driver: json-file options: max-size: "5m" max-file: "3" grafana: image: grafana/grafana:13.1.3 environment: GF_SECURITY_ADMIN_USER: ${GRAFANA_USER:-admin} GF_SECURITY_ADMIN_PASSWORD: ${GRAFANA_PASSWORD:-admin} GF_USERS_ALLOW_SIGN_UP: "false" volumes: - grafana-data:/var/lib/grafana - ./grafana/provisioning:/etc/grafana/provisioning:ro ports: - "${GRAFANA_PORT:-3000}:3000" networks: - internal - external depends_on: - loki restart: unless-stopped logging: driver: json-file options: max-size: "5m" max-file: "3" networks: internal: driver: bridge internal: true external: driver: bridge volumes: pgdata: loki-data: grafana-data: