From f0f1fb246a38c594048db9d9fb384787550de7b8 Mon Sep 17 00:00:00 2001 From: afarut Date: Fri, 14 Jul 2023 08:19:00 +0300 Subject: [PATCH 1/9] add grafana, node-exporter, prometheus in docker --- docker-compose.yml | 35 ++++++++++++++++++++++++++++++++++- poetry.lock | 37 ++++++++++++++++++++++++++++++++++--- procollab/settings.py | 19 +++++++++++++------ procollab/urls.py | 1 + prometheus/prometheus.yml | 10 ++++++++++ pyproject.toml | 1 + 6 files changed, 93 insertions(+), 10 deletions(-) create mode 100644 prometheus/prometheus.yml diff --git a/docker-compose.yml b/docker-compose.yml index ee6384ae..a90ff107 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,6 +2,7 @@ version: '3.9' services: web: + container_name: web build: context: . dockerfile: ./Dockerfile @@ -12,4 +13,36 @@ services: env_file: - .env environment: - HOST: 0.0.0.0 \ No newline at end of file + HOST: 0.0.0.0 + grafana: + image: grafana/grafana:8.5.3-ubuntu + ports: + - "3000:3000" + volumes: + - grafana-data:/var/lib/grafana + - grafana-configs:/etc/grafana + prometheus: + image: prom/prometheus:v2.36.0 + ports: + - "9090:9090" + volumes: + - prom-data:/prometheus + - ./prometheus:/etc/prometheus + node-exporter: + image: prom/node-exporter:v1.3.1 + ports: + - "9100:9100" + volumes: + - /proc:/host/proc:ro + - /sys:/host/sys:ro + - /:/rootfs:ro + command: + - '--path.procfs=/host/proc' + - '--path.sysfs=/host/sys' + - '--collector.filesystem.mount-points-exclude' + - '^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)' +volumes: + grafana-data: + grafana-configs: + prom-data: + prom-configs: diff --git a/poetry.lock b/poetry.lock index d42a1c0c..3252827a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.4.0 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. [[package]] name = "aiohttp" @@ -717,6 +717,21 @@ files = [ [package.dependencies] Django = ">=3.2" +[[package]] +name = "django-prometheus" +version = "2.3.1" +description = "Django middlewares to monitor your application with Prometheus.io." +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "django-prometheus-2.3.1.tar.gz", hash = "sha256:f9c8b6c780c9419ea01043c63a437d79db2c33353451347894408184ad9c3e1e"}, + {file = "django_prometheus-2.3.1-py2.py3-none-any.whl", hash = "sha256:cf9b26f7ba2e4568f08f8f91480a2882023f5908579681bcf06a4d2465f12168"}, +] + +[package.dependencies] +prometheus-client = ">=0.7" + [[package]] name = "django-rest-passwordreset" version = "1.3.0" @@ -1384,6 +1399,21 @@ pyyaml = ">=5.1" toml = "*" virtualenv = ">=20.0.8" +[[package]] +name = "prometheus-client" +version = "0.17.1" +description = "Python client for the Prometheus monitoring system." +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "prometheus_client-0.17.1-py3-none-any.whl", hash = "sha256:e537f37160f6807b8202a6fc4764cdd19bac5480ddd3e0d463c3002b34462101"}, + {file = "prometheus_client-0.17.1.tar.gz", hash = "sha256:21e674f39831ae3f8acde238afd9a27a37d0d2fb5a28ea094f0ce25d2cbf2091"}, +] + +[package.extras] +twisted = ["twisted"] + [[package]] name = "psycopg2-binary" version = "2.9.4" @@ -1717,7 +1747,8 @@ files = [ {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win32.whl", hash = "sha256:763d65baa3b952479c4e972669f679fe490eee058d5aa85da483ebae2009d231"}, {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win_amd64.whl", hash = "sha256:d000f258cf42fec2b1bbf2863c61d7b8918d31ffee905da62dede869254d3b8a"}, {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:045e0626baf1c52e5527bd5db361bc83180faaba2ff586e763d3d5982a876a9e"}, - {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_12_6_arm64.whl", hash = "sha256:721bc4ba4525f53f6a611ec0967bdcee61b31df5a56801281027a3a6d1c2daf5"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:1a6391a7cabb7641c32517539ca42cf84b87b667bad38b78d4d42dd23e957c81"}, + {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:9c7617df90c1365638916b98cdd9be833d31d337dbcd722485597b43c4a215bf"}, {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:41d0f1fa4c6830176eef5b276af04c89320ea616655d01327d5ce65e50575c94"}, {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-win32.whl", hash = "sha256:f6d3d39611ac2e4f62c3128a9eed45f19a6608670c5a2f4f07f24e8de3441d38"}, {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-win_amd64.whl", hash = "sha256:da538167284de58a52109a9b89b8f6a53ff8437dd6dc26d33b57bf6699153122"}, @@ -2174,4 +2205,4 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] [metadata] lock-version = "2.0" python-versions = "^3.8" -content-hash = "d73d1c6093419502ad439a5ed4169854f045e474dcba4a416c042c02ebd498ca" +content-hash = "21c471d5e8de8b63e8cb6bfceb487af89b5fa23988b0c9a581765b9fa63d17d7" diff --git a/procollab/settings.py b/procollab/settings.py index 374c4c2c..1c8acbf8 100644 --- a/procollab/settings.py +++ b/procollab/settings.py @@ -5,7 +5,7 @@ import sentry_sdk from decouple import config from sentry_sdk.integrations.django import DjangoIntegration - +import os mimetypes.add_type("application/javascript", ".js", True) mimetypes.add_type("text/css", ".css", True) mimetypes.add_type("text/html", ".html", True) @@ -41,6 +41,7 @@ "api.procollab.ru", "app.procollab.ru", "procollab.ru", + "web", # From Docker ] PASSWORD_HASHERS = [ @@ -97,9 +98,11 @@ "drf_yasg", "channels", "taggit", + "django_prometheus", ] MIDDLEWARE = [ + "django_prometheus.middleware.PrometheusBeforeMiddleware", "django.middleware.security.SecurityMiddleware", "whitenoise.middleware.WhiteNoiseMiddleware", "django.contrib.sessions.middleware.SessionMiddleware", @@ -110,6 +113,7 @@ "django.contrib.messages.middleware.MessageMiddleware", "django.middleware.clickjacking.XFrameOptionsMiddleware", "debug_toolbar.middleware.DebugToolbarMiddleware", + "django_prometheus.middleware.PrometheusAfterMiddleware", ] # CORS_ALLOWED_ORIGINS = [ @@ -167,14 +171,15 @@ if DEBUG: DATABASES = { "default": { - "ENGINE": "django.db.backends.sqlite3", - "NAME": "db.sqlite3", + "ENGINE": "django_prometheus.db.backends.sqlite3", + "NAME": 'db.sqlite3', } } CACHES = { - "default": { - "BACKEND": "django.core.cache.backends.locmem.LocMemCache", + 'default': { + 'BACKEND': 'django_prometheus.cache.backends.filebased.FileBasedCache', + 'LOCATION': '/var/tmp/django_cache', } } @@ -213,7 +218,7 @@ DATABASES = { "default": { - "ENGINE": "django.db.backends.postgresql", + "ENGINE": "django_prometheus.db.backends.postgresql", "NAME": config("DATABASE_NAME", default="postgres", cast=str), "USER": config("DATABASE_USER", default="postgres", cast=str), "PASSWORD": config("DATABASE_PASSWORD", default="postgres", cast=str), @@ -311,3 +316,5 @@ SELECTEL_CONTAINER_PASSWORD = config( "SELECTEL_CONTAINER_PASSWORD", cast=str, default="PWD" ) + +PROMETHEUS_LATENCY_BUCKETS = (0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1.0, 2.5, 5.0, 7.5, 10.0, 25.0, 50.0, 75.0, float("inf"),) \ No newline at end of file diff --git a/procollab/urls.py b/procollab/urls.py index bd619126..1fd4a35e 100644 --- a/procollab/urls.py +++ b/procollab/urls.py @@ -50,6 +50,7 @@ path("api/token/refresh/", TokenRefreshView.as_view(), name="token_refresh"), path("api/token/verify/", TokenVerifyView.as_view(), name="token_verify"), path("", include("metrics.urls", namespace="metrics")), + path('django_prometheus/', include('django_prometheus.urls')), ] if settings.DEBUG: diff --git a/prometheus/prometheus.yml b/prometheus/prometheus.yml new file mode 100644 index 00000000..35fe0993 --- /dev/null +++ b/prometheus/prometheus.yml @@ -0,0 +1,10 @@ +global: + scrape_interval: 15s + evaluation_interval: 15s + +scrape_configs: + - job_name: monitoring + metrics_path: /django_prometheus/metrics + static_configs: + - targets: + - web:8000 \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 87eace6c..88febeb6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,6 +54,7 @@ django = {extras = ["bcrypt"], version = "^4.1.3"} channels-redis = "^4.0.0" channels = {extras = ["daphne"], version = "^4.0.0"} django-taggit = "^3.1.0" +django-prometheus = "^2.3.1" [build-system] From 39bbbe31d76b59ec2d2ad5a9b04b74b270443015 Mon Sep 17 00:00:00 2001 From: afarut Date: Fri, 14 Jul 2023 08:22:30 +0300 Subject: [PATCH 2/9] i hate linter --- procollab/settings.py | 33 ++++++++++++++++++++++++++------- procollab/urls.py | 2 +- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/procollab/settings.py b/procollab/settings.py index 1c8acbf8..0184c80c 100644 --- a/procollab/settings.py +++ b/procollab/settings.py @@ -5,7 +5,8 @@ import sentry_sdk from decouple import config from sentry_sdk.integrations.django import DjangoIntegration -import os + + mimetypes.add_type("application/javascript", ".js", True) mimetypes.add_type("text/css", ".css", True) mimetypes.add_type("text/html", ".html", True) @@ -41,7 +42,7 @@ "api.procollab.ru", "app.procollab.ru", "procollab.ru", - "web", # From Docker + "web", # From Docker ] PASSWORD_HASHERS = [ @@ -172,14 +173,14 @@ DATABASES = { "default": { "ENGINE": "django_prometheus.db.backends.sqlite3", - "NAME": 'db.sqlite3', + "NAME": "db.sqlite3", } } CACHES = { - 'default': { - 'BACKEND': 'django_prometheus.cache.backends.filebased.FileBasedCache', - 'LOCATION': '/var/tmp/django_cache', + "default": { + "BACKEND": "django_prometheus.cache.backends.filebased.FileBasedCache", + "LOCATION": "/var/tmp/django_cache", } } @@ -317,4 +318,22 @@ "SELECTEL_CONTAINER_PASSWORD", cast=str, default="PWD" ) -PROMETHEUS_LATENCY_BUCKETS = (0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1.0, 2.5, 5.0, 7.5, 10.0, 25.0, 50.0, 75.0, float("inf"),) \ No newline at end of file +PROMETHEUS_LATENCY_BUCKETS = ( + 0.01, + 0.025, + 0.05, + 0.075, + 0.1, + 0.25, + 0.5, + 0.75, + 1.0, + 2.5, + 5.0, + 7.5, + 10.0, + 25.0, + 50.0, + 75.0, + float("inf"), +) diff --git a/procollab/urls.py b/procollab/urls.py index 1fd4a35e..6f61bfd7 100644 --- a/procollab/urls.py +++ b/procollab/urls.py @@ -50,7 +50,7 @@ path("api/token/refresh/", TokenRefreshView.as_view(), name="token_refresh"), path("api/token/verify/", TokenVerifyView.as_view(), name="token_verify"), path("", include("metrics.urls", namespace="metrics")), - path('django_prometheus/', include('django_prometheus.urls')), + path("django_prometheus/", include("django_prometheus.urls")), ] if settings.DEBUG: From 28fee48335a5f029887ad4eb99fbab598460fa3f Mon Sep 17 00:00:00 2001 From: afarut Date: Mon, 17 Jul 2023 23:55:13 +0300 Subject: [PATCH 3/9] grafana latest edit --- docker-compose.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index a90ff107..bf46b4aa 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,13 +15,14 @@ services: environment: HOST: 0.0.0.0 grafana: - image: grafana/grafana:8.5.3-ubuntu + image: grafana/grafana:latest ports: - "3000:3000" volumes: - grafana-data:/var/lib/grafana - grafana-configs:/etc/grafana prometheus: + container_name: prometheus image: prom/prometheus:v2.36.0 ports: - "9090:9090" From 1cbd5b5de5af5473b5609a9ecaa46ebc5904628e Mon Sep 17 00:00:00 2001 From: afarut Date: Wed, 19 Jul 2023 04:07:22 +0300 Subject: [PATCH 4/9] grafana to /grafana --- docker-compose.yml | 16 +++++++++++----- nginx/Dockerfile | 4 ++++ nginx/nginx.conf | 19 +++++++++++++++++++ 3 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 nginx/Dockerfile create mode 100644 nginx/nginx.conf diff --git a/docker-compose.yml b/docker-compose.yml index bf46b4aa..69ad0113 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,8 +6,6 @@ services: build: context: . dockerfile: ./Dockerfile - ports: - - "8000:8000" image: ghcr.io/procollab-github/api:latest restart: always env_file: @@ -15,24 +13,28 @@ services: environment: HOST: 0.0.0.0 grafana: + container_name: grafana image: grafana/grafana:latest ports: - - "3000:3000" + - "3000" volumes: - grafana-data:/var/lib/grafana - grafana-configs:/etc/grafana + environment: + - GF_SERVER_ROOT_URL=%(protocol)s://%(domain)s:%(http_port)s/grafana + - GF_SERVER_SERVE_FROM_SUB_PATH=true prometheus: container_name: prometheus image: prom/prometheus:v2.36.0 ports: - - "9090:9090" + - "9090" volumes: - prom-data:/prometheus - ./prometheus:/etc/prometheus node-exporter: image: prom/node-exporter:v1.3.1 ports: - - "9100:9100" + - "9100" volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro @@ -42,6 +44,10 @@ services: - '--path.sysfs=/host/sys' - '--collector.filesystem.mount-points-exclude' - '^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)' + nginx: + build: ./nginx + ports: + - 8000:80 volumes: grafana-data: grafana-configs: diff --git a/nginx/Dockerfile b/nginx/Dockerfile new file mode 100644 index 00000000..29ffd3c9 --- /dev/null +++ b/nginx/Dockerfile @@ -0,0 +1,4 @@ +FROM nginx:1.21-alpine + +RUN rm /etc/nginx/conf.d/default.conf +COPY nginx.conf /etc/nginx/conf.d \ No newline at end of file diff --git a/nginx/nginx.conf b/nginx/nginx.conf new file mode 100644 index 00000000..e6e2390c --- /dev/null +++ b/nginx/nginx.conf @@ -0,0 +1,19 @@ +server { + + listen 80; + + server_name api.procollab.ru; + client_max_body_size 100M; + + location / { + proxy_pass http://web:8000; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_redirect off; + } + + location /grafana { + proxy_pass http://grafana:3000; + proxy_set_header Host $host; + } +} \ No newline at end of file From cc1522fd4afe89b3b0e8c6204914d544361124b7 Mon Sep 17 00:00:00 2001 From: Yakser Date: Tue, 25 Jul 2023 23:16:50 +0300 Subject: [PATCH 5/9] Delete unused script --- Dockerfile | 4 ---- scripts/build-emails.sh | 17 ----------------- 2 files changed, 21 deletions(-) delete mode 100644 scripts/build-emails.sh diff --git a/Dockerfile b/Dockerfile index d2169ec9..dad6a3b0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,8 +5,6 @@ WORKDIR /build COPY ./scripts ./scripts -RUN ["chmod", "+x", "./scripts/build-emails.sh"] -RUN bash ./scripts/build-emails.sh FROM python:3.9 @@ -32,8 +30,6 @@ COPY poetry.lock pyproject.toml /procollab/ RUN poetry config virtualenvs.create false \ && poetry install --no-root -COPY --from=emails /email ./emails/ - EXPOSE 8000 RUN mkdir /procollab/staticfiles diff --git a/scripts/build-emails.sh b/scripts/build-emails.sh deleted file mode 100644 index 6c1e15d3..00000000 --- a/scripts/build-emails.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -# In order to use this script -# machine should have installed: -# - git -# - node^16 - -cd .. -git clone https://github.com/PROCOLLAB-github/emails.git -cd emails || exit - -npm ci -npm run build - -cd .. -cp -R ./emails/dist ./email -rm -rf ./emails \ No newline at end of file From 7d97f16a89a300c63761999efccf1c8a8e6c3205 Mon Sep 17 00:00:00 2001 From: Yakser Date: Tue, 25 Jul 2023 23:48:58 +0300 Subject: [PATCH 6/9] Add django-prometheus to deps --- poetry.lock | 30 +++++++++++++++++++++++++++++- pyproject.toml | 1 + 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/poetry.lock b/poetry.lock index 20cea1ce..ad34671a 100644 --- a/poetry.lock +++ b/poetry.lock @@ -718,6 +718,20 @@ files = [ [package.dependencies] Django = ">=3.2" +[[package]] +name = "django-prometheus" +version = "2.3.1" +description = "Django middlewares to monitor your application with Prometheus.io." +optional = false +python-versions = "*" +files = [ + {file = "django-prometheus-2.3.1.tar.gz", hash = "sha256:f9c8b6c780c9419ea01043c63a437d79db2c33353451347894408184ad9c3e1e"}, + {file = "django_prometheus-2.3.1-py2.py3-none-any.whl", hash = "sha256:cf9b26f7ba2e4568f08f8f91480a2882023f5908579681bcf06a4d2465f12168"}, +] + +[package.dependencies] +prometheus-client = ">=0.7" + [[package]] name = "django-rest-passwordreset" version = "1.3.0" @@ -1385,6 +1399,20 @@ nodeenv = ">=0.11.1" pyyaml = ">=5.1" virtualenv = ">=20.10.0" +[[package]] +name = "prometheus-client" +version = "0.17.1" +description = "Python client for the Prometheus monitoring system." +optional = false +python-versions = ">=3.6" +files = [ + {file = "prometheus_client-0.17.1-py3-none-any.whl", hash = "sha256:e537f37160f6807b8202a6fc4764cdd19bac5480ddd3e0d463c3002b34462101"}, + {file = "prometheus_client-0.17.1.tar.gz", hash = "sha256:21e674f39831ae3f8acde238afd9a27a37d0d2fb5a28ea094f0ce25d2cbf2091"}, +] + +[package.extras] +twisted = ["twisted"] + [[package]] name = "psycopg2-binary" version = "2.9.6" @@ -2094,4 +2122,4 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] [metadata] lock-version = "2.0" python-versions = "^3.11" -content-hash = "ef8563738ba478c84503d02564df0dcfa0beed07b4ccbfc364d641d9f0f2a0bf" +content-hash = "744dbc01831ebe828f058ad0d6ae74f2913a9e5cd63c2136f0eacf54b16649dc" diff --git a/pyproject.toml b/pyproject.toml index 2fa10eaa..345711fc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -58,6 +58,7 @@ python-magic = "^0.4.27" python-magic-bin = {version = "^0.4.14", markers = "sys_platform == 'win32'"} requests = "^2.31.0" coreapi = "^2.3.3" +django-prometheus = "^2.3.1" [build-system] From aa20722842909849deb68ac413690f19e2e3953d Mon Sep 17 00:00:00 2001 From: Yakser Date: Tue, 25 Jul 2023 23:50:44 +0300 Subject: [PATCH 7/9] Add migration for user_name_validator --- ...39_alter_customuser_first_name_and_more.py | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 users/migrations/0039_alter_customuser_first_name_and_more.py diff --git a/users/migrations/0039_alter_customuser_first_name_and_more.py b/users/migrations/0039_alter_customuser_first_name_and_more.py new file mode 100644 index 00000000..e71839ed --- /dev/null +++ b/users/migrations/0039_alter_customuser_first_name_and_more.py @@ -0,0 +1,38 @@ +# Generated by Django 4.2.3 on 2023-07-25 20:49 + +from django.db import migrations, models +import users.validators + + +class Migration(migrations.Migration): + + dependencies = [ + ("users", "0038_alter_customuser_options_customuser_ordering_score"), + ] + + operations = [ + migrations.AlterField( + model_name="customuser", + name="first_name", + field=models.CharField( + max_length=255, validators=[users.validators.user_name_validator] + ), + ), + migrations.AlterField( + model_name="customuser", + name="last_name", + field=models.CharField( + max_length=255, validators=[users.validators.user_name_validator] + ), + ), + migrations.AlterField( + model_name="customuser", + name="patronymic", + field=models.CharField( + blank=True, + max_length=255, + null=True, + validators=[users.validators.user_name_validator], + ), + ), + ] From 5a1725af8291665be64041c96abecebd873dc84c Mon Sep 17 00:00:00 2001 From: Yakser Date: Wed, 26 Jul 2023 00:18:15 +0300 Subject: [PATCH 8/9] Add dev host to ALLOWED_HOSTS --- procollab/settings.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/procollab/settings.py b/procollab/settings.py index cfb05c1f..44133692 100644 --- a/procollab/settings.py +++ b/procollab/settings.py @@ -27,7 +27,9 @@ TAGGIT_CASE_INSENSITIVE = True CSRF_TRUSTED_ORIGINS = [ - "http://localhost", + "http://localhost:8000", + "http://127.0.0.1:8000", + "http://0.0.0.0:8000", "https://api.procollab.ru", "https://procollab.ru", "https://www.procollab.ru", @@ -41,6 +43,7 @@ "0.0.0.0", "api.procollab.ru", "app.procollab.ru", + "dev.procollab.ru", "procollab.ru", "web", # From Docker ] From 6b2fb9ec29217b1806f949f747cc8646c722a94b Mon Sep 17 00:00:00 2001 From: afarut <65365788+afarut@users.noreply.github.com> Date: Wed, 26 Jul 2023 00:27:14 +0300 Subject: [PATCH 9/9] Update docker-compose.yml --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index 69ad0113..aa4657ec 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -45,6 +45,7 @@ services: - '--collector.filesystem.mount-points-exclude' - '^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)' nginx: + container_name: nginx build: ./nginx ports: - 8000:80