From 1af816047399ddf532cd81f490280d4fdc98a840 Mon Sep 17 00:00:00 2001 From: ddadmin Date: Sun, 19 May 2024 16:36:01 +0300 Subject: [PATCH] add redis & rabbitmq --- .env | 6 ++++ configs/nginx/conf.d/default.conf | 19 +++++++++++- configs/nginx/conf.d/rabbitmq.conf | 48 ++++++++++++++++++++++++++++++ configs/rabbitmq/enabled_plugins | 1 + configs/redis/redis.conf | 0 docker-compose.yml | 34 +++++++++++++++++++++ 6 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 configs/nginx/conf.d/rabbitmq.conf create mode 100644 configs/rabbitmq/enabled_plugins create mode 100644 configs/redis/redis.conf diff --git a/.env b/.env index d4e391b..2a11834 100644 --- a/.env +++ b/.env @@ -21,3 +21,9 @@ MAIL_PASSWORD=NRTk7rXhesHQpi3YWB92 MAIL_ENCRYPTION=ssl MAIL_FROM=no_reply@dot-dot.ru MAIL_FROM_NAME="No Reply" + +RABBITMQ_USERNAME=ddadmin +RABBITMQ_PASSWORD=Utahth9aeshahgh3saik + +REDIS_USERNAME=ddadmin +REDIS_PASSWORD=Utahth9aeshahgh3saik \ No newline at end of file diff --git a/configs/nginx/conf.d/default.conf b/configs/nginx/conf.d/default.conf index 3513a41..f26aa4b 100644 --- a/configs/nginx/conf.d/default.conf +++ b/configs/nginx/conf.d/default.conf @@ -80,7 +80,7 @@ server { try_files $uri @rewriteapp; } - location ~* \/admin\/.*(js|jpg|png|css|woff|woff2)$ { + location ~* \/admin\/.*(js|jpg|png|css|woff|woff2)$ { proxy_pass http://static; } @@ -170,4 +170,21 @@ server { proxy_http_version 1.1; proxy_pass http://mysqld-exporter:9104/metrics; } + + location /redis_exporter { + access_log /var/log/nginx/mysql_exporter_access.log json; + error_log /var/log/nginx/mysql_exporter_error.log; + + #if ($allow = 0) { + # return 403; + #} + + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Scheme $scheme; + proxy_set_header Host $http_host; + proxy_redirect off; + proxy_http_version 1.1; + proxy_pass http://redis-exporter:9121/metrics; + } + } diff --git a/configs/nginx/conf.d/rabbitmq.conf b/configs/nginx/conf.d/rabbitmq.conf new file mode 100644 index 0000000..53d9bbf --- /dev/null +++ b/configs/nginx/conf.d/rabbitmq.conf @@ -0,0 +1,48 @@ +server { + listen 80; + server_name rabbitmq.dot-dot.ru; + return 301 https://$server_name$request_uri; +} + +server { + listen 443 ssl; + server_name rabbitmq.dot-dot.ru; + + access_log /var/log/nginx/rabbitmq.wwater.ru_access.log json; + error_log /var/log/nginx/rabbitmq.wwater.ru_error.log; + + ssl_certificate /etc/nginx/ssl/dot2023.crt; + ssl_certificate_key /etc/nginx/ssl/dot2023.key; + + proxy_buffer_size 128k; + proxy_buffers 4 128k; + client_body_buffer_size 32k; + client_header_buffer_size 256k; + large_client_header_buffers 4 256k; + + location / { + client_max_body_size 600m; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Scheme $scheme; + proxy_set_header Host $http_host; + proxy_redirect off; + proxy_pass http://rabbitmq:15672; + proxy_connect_timeout 600; + proxy_send_timeout 600; + proxy_read_timeout 600; + send_timeout 600; + } + + location /metrics { + client_max_body_size 600m; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Scheme $scheme; + proxy_set_header Host $http_host; + proxy_redirect off; + proxy_pass http://rabbitmq:15692/metrics; + proxy_connect_timeout 600; + proxy_send_timeout 600; + proxy_read_timeout 600; + send_timeout 600; + } +} diff --git a/configs/rabbitmq/enabled_plugins b/configs/rabbitmq/enabled_plugins new file mode 100644 index 0000000..318ea04 --- /dev/null +++ b/configs/rabbitmq/enabled_plugins @@ -0,0 +1 @@ +[rabbitmq_management,rabbitmq_prometheus]. \ No newline at end of file diff --git a/configs/redis/redis.conf b/configs/redis/redis.conf new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose.yml b/docker-compose.yml index 14c71a3..db39ead 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,6 +7,8 @@ volumes: mysql_backup_volume: php_var_volume: bookstack_data_volume: + rabbitmq_volume: + redis_volume: networks: @@ -160,4 +162,36 @@ services: networks: - dd + rabbitmq: + image: rabbitmq:3.12.1-management-alpine + restart: unless-stopped + hostname: ${COMPOSE_PROJECT_NAME} + volumes: + - rabbitmq_volume:/var/lib/rabbitmq + - ./configs/rabbitmq/enabled_plugins:/etc/rabbitmq/enabled_plugins + environment: + - RABBITMQ_DEFAULT_USER=${RABBITMQ_USERNAME} + - RABBITMQ_DEFAULT_PASS=${RABBITMQ_PASSWORD} + - RABBITMQ_CONFIG_FILE=/etc/rabbitmq/rabbitmq.conf + networks: + dd: {} + redis: + image: redis:7.2.4-alpine3.19 + restart: unless-stopped + volumes: + - redis_volume:/data + - ./configs/redis:/usr/local/etc/redis + environment: + - REDIS_PASSWORD=${REDIS_PASSWORD} + - REDIS_PORT=6379 + networks: + dd: {} + + redis-exporter: + image: oliver006/redis_exporter:v1.59.0 + command: + - "--redis.addr=redis://redis:6379" + - "--redis.password=${REDIS_PASSWORD}" + networks: + dd: {}