mybpm!
Скачать в формате: PDF pdf DOCX word

MyBPM WEB

Компонент MyBPM WEB распространяется как образ контейнера Docker. Примерное имя контейнера следующее:

out.mybpm.kz/mybpm-web-...

Где вместо многоточия стоит ветка разработки и версия данного компонента. Вы его получите от разработчика.

Описание функционала

Компонент MyBPM WEB состоит из nginx-сервера, который отдаёт статический текст html, css и js. А также обеспечивает проксирование REST-запросов MyBPM API через себя.

Ниже приводиться Dockerfile:

FROM nginxinc/nginx-unprivileged:1.25
ARG projectName
ENV NGINX_ENVSUBST_OUTPUT_DIR /etc/nginx
COPY ./src/nginx.conf.template /etc/nginx/templates/
COPY ./dist/ /app
WORKDIR /app
EXPOSE 8000

Ниже приводиться конфигурационный файл nginx.conf.template:

error_log /var/log/nginx/error.log error;
pid       /var/cache/nginx/nginx.pid;

worker_processes 6;

events {
    worker_connections 1024;
}

http {
    proxy_read_timeout  9500s;
    include             mime.types;
    default_type        application/octet-stream;
    sendfile            on;
    keepalive_timeout   65;
    charset             utf-8;
    underscores_in_headers on;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;

    server {
    client_max_body_size 2000m;
    listen 8000 default_server;

        root /app/;
        index index.html;

        server_tokens off;

        location /web/ {
          proxy_pass http://${MYBPM_API_HOST}:${MYBPM_API_PORT}/web/;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto https;
          proxy_set_header Authorization $http_authorization;
        }

        location /api/ {
          proxy_pass http://${MYBPM_API_HOST}:${MYBPM_API_PORT}/api/;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto https;
          proxy_set_header Authorization $http_authorization;
        }

        location /websocket {
          proxy_pass http://${MYBPM_API_HOST}:${MYBPM_API_PORT}/websocket;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "upgrade";
          proxy_pass_header Sec-Websocket-Extensions;

          proxy_buffering off;

          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto https;
        }

        location / {
          alias /app/;

          expires -1;
          add_header Pragma "no-cache";
          add_header Cache-Control "no-store, no-cache, must-revalidate, post-check=0 pre-check=0";

          location ~ ^/(assets|bower_components|scripts|styles|views) {
            expires     31d;
            add_header  Pragma "";
            add_header  Cache-Control "public";
          }

          location ~ \.(css|js|svg|woff|ico)$ {
            expires     31d;
            add_header  Pragma "";
            add_header  Cache-Control "public";
          }

          try_files $uri $uri/ /index.html =404;
        }

        location /health {
          access_log off;
          return 200 "OK";
          add_header Content-Type "text/plain";
        }
    }

}

Как видите из конфигурационного файла, для того, чтобы подсоединить MyBPM WEB к MyBPM API необходимо определить две переменные окружения:

MYBPM_API_HOST - хост, на котором находиться MyBPM API

И:

MYBPM_API_PORT - порт, который обслуживает MyBPM API на указанном выше хосту

Первый вход в систему