From 232a151b85d112fabcf7b4efbf09849fd2bfa0fc Mon Sep 17 00:00:00 2001 From: Gilles Mouchet Date: Tue, 10 Jun 2025 16:43:48 +0200 Subject: [PATCH] config for vdg --- .env.dist | 8 ++++---- config/config.yml | 2 +- config/default.conf | 4 ++-- docker-compose.yaml | 13 ++++++------ preprare.sh | 50 +++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 64 insertions(+), 13 deletions(-) create mode 100755 preprare.sh diff --git a/.env.dist b/.env.dist index 06e0b31..a989dc7 100644 --- a/.env.dist +++ b/.env.dist @@ -11,7 +11,7 @@ PRX_NGINX_CONF_DIR= #------------------------------------------------ # minio # path where minio data will be stored (ex: /home/docker/minio) -MINIO_DATA_ROOT_DIR= +MINIO_DATA_DIR= # path where mino client will be stored (ex: /home/docker/minio-cli) MINIO_CONF_CLI_DIR= # user @@ -25,9 +25,9 @@ MINIO_REDIRECT_URL=/minio/ui/ # admin user GF_ADMIN_USER=admin # admin user password -GF_ADMIN_PASSWORD=admin +GF_ADMIN_PASS=admin # path where grafana data will be stored (ex: /home/docker/grafana) -GF_VOLUME_DIR= +GF_DATA_DIR= # url redirect (ex: https://docker1.gmolab.net/grafana/) GF_ROOT_URL=/grafana/ #------------------------------------------------ @@ -43,7 +43,7 @@ LOKI_CONF_DIR= # data dir (ex: /home/docker/loki-data) LOKI_DATA_DIR= # data dir (ex: /home/docker/loki-gen-log) -LOKI_GEN_LOG= +LOKI_GEN_LOG_DIR= #------------------------------------------------ # promtail # conf dir promatal.yaml (ex: /home/docker/promtail) diff --git a/config/config.yml b/config/config.yml index e133aec..0c2a6a3 100644 --- a/config/config.yml +++ b/config/config.yml @@ -23,7 +23,7 @@ scrape_configs: - localhost labels: job: generated-logs - __path__: /tmp/generated-logs.txt + __path__: /tmp/loki-gen-log/generated-logs.txt pipeline_stages: - json: expressions: diff --git a/config/default.conf b/config/default.conf index b5de365..89a7a2e 100644 --- a/config/default.conf +++ b/config/default.conf @@ -8,8 +8,8 @@ server { listen 8443 ssl; #listen [::]:8443; server_name _; - ssl_certificate /etc/nginx/certs/gmolab.net.crt; - ssl_certificate_key /etc/nginx/certs/gmolab.net.key; + ssl_certificate /etc/nginx/certs/vdglab.net.crt; + ssl_certificate_key /etc/nginx/certs/vdglab.net.key; # allow special characters in headers ignore_invalid_headers off; # allow any size file to be uploaded. diff --git a/docker-compose.yaml b/docker-compose.yaml index e105fc2..e39b15f 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -16,10 +16,10 @@ services: exit 0; " volumes: - - '${GF_VOLUME_DIR}:/var/lib/grafana' + - '${GF_DATA_DIR}:/var/lib/grafana' - '${PRX_NGINX_CONF_DIR}/default.conf:/etc/nginx/conf.d/default.conf' - '${PROM_DATA_DIR}:/prometheus' - - ${LOKI_DATA_DIR}:/loki + - '${LOKI_DATA_DIR}:/loki' networks: - loki @@ -92,7 +92,7 @@ services: ports: - "3000:3000" volumes: - - '${GF_VOLUME_DIR}:/var/lib/grafana' + - '${GF_DATA_DIR}:/var/lib/grafana' environment: - GF_SECURITY_ADMIN_USER=${GF_ADMIN_USER} - GF_SECURITY_ADMIN_PASSWORD=${GF_ADMIN_PASS} @@ -140,7 +140,7 @@ services: image: grafana/promtail:latest volumes: - ${PROMTAIL_CONF_DIR}/config.yml:/etc/promtail/config.yml - - ${LOKI_GEN_LOG}:/tmp/ + - ${LOKI_GEN_LOG_DIR}:/tmp/ - /var/log/:/var/log/ restart: unless-stopped networks: @@ -148,7 +148,8 @@ services: #------- flog generated log log-generator: - image: gmouchet/flog + image: mingrammer/flog + #image: gmouchet/flog command: - --loop - --format=json @@ -159,7 +160,7 @@ services: - --overwrite - --type=log volumes: - - ${LOKI_GEN_LOG}:/tmp/ + - ${LOKI_GEN_LOG_DIR}:/tmp/ #volumes: # grafana-storage: # prometheus: diff --git a/preprare.sh b/preprare.sh new file mode 100755 index 0000000..cb9b8e4 --- /dev/null +++ b/preprare.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +if [ ! -f .env ]; then + echo "file '.env' doesn't exist!" + echo "See README.md" + exit +fi + +. .env +#set create dir +#DIR=$(grep PRX_CERTS_DIR .env | cut -d'=' -f2) +cat << EOF +COMPOSE_PROJECT_NAME = ${COMPOSE_PROJECT_NAME} + PRX_CERTS_DIR = ${PRX_CERTS_DIR} + PRX_NGINX_CONF_DIR = ${PRX_NGINX_CONF_DIR} + MINIO_DATA_ROOT_DIR = ${MINIO_DATA_ROOT_DIR} + MINIO_CONF_CLI_DIR = ${MINIO_CONF_CLI_DIR} + MINIO_ACCESS_KEY = ${MINIO_ACCESS_KEY} + MINIO_SECRET_KEY = ${MINIO_SECRET_KEY} + MINIO_REDIRECT_URL = ${MINIO_REDIRECT_URL} + GF_ADMIN_USER = ${GF_ADMIN_USER} + GF_ADMIN_PASS = ${GF_ADMIN_PASS} + GF_DATA_DIR = ${GF_DATA_DIR} + GF_ROOT_URL = ${GF_ROOT_URL} + PROM_CONF_DIR = ${PROM_CONF_DIR} + PROM_DATA_DIR = ${PROM_DATA_DIR} + LOKI_CONF_DIR = ${LOKI_CONF_DIR} + LOKI_DATA_DIR = ${LOKI_DATA_DIR} + LOKI_GEN_LOG_DIR = ${LOKI_GEN_LOG_DIR} + PROMTAIL_CONF_DIR = ${PROMTAIL_CONF_DIR} +EOF + +sudo mkdir -p ${PRX_CERTS_DIR} +sudo mkdir -p ${PRX_NGINX_CONF_DIR} +sudo mkdir -p ${MINIO_DATA_ROOT_DIR} +sudo mkdir -p ${MINIO_CONF_CLI_DIR} +sudo mkdir -p ${GF_DATA_DIR} +sudo mkdir -p ${PROM_CONF_DIR} +sudo mkdir -p ${PROM_DATA_DIR} +sudo mkdir -p ${LOKI_CONF_DIR} +sudo mkdir -p ${LOKI_DATA_DIR} +sudo mkdir -p ${LOKI_GEN_LOG_DIR} +sudo mkdir -p ${PROMTAIL_CONF_DIR} +docker compose down +sudo cp ./config/default.conf ${PRX_NGINX_CONF_DIR}/. +sudo cp ./config/prometheus.yml ${PROM_CONF_DIR}/. +sudo cp ./config/local-config.yaml ${LOKI_CONF_DIR}/. +sudo cp ./config/config.yml ${PROMTAIL_CONF_DIR}/. +docker compose up -d --remove-orphans +