From cb651bb4db90a82776189d6e94ce51d2dee13886 Mon Sep 17 00:00:00 2001 From: <> Date: Fri, 12 Jan 2024 03:28:02 +0000 Subject: [PATCH] Deployed 8cb95c96 with MkDocs version: 1.5.3 --- assets/boards/aio/boards.yml | 154 ++++++++++++++++ assets/boards/aio/nginx.conf | 75 ++++++++ boards/standalone/index.html | 172 ++++++++++++++++-- search/search_index.json | 2 +- sitemap.xml | 338 +++++++++++++++++------------------ sitemap.xml.gz | Bin 1522 -> 1521 bytes 6 files changed, 557 insertions(+), 184 deletions(-) create mode 100644 assets/boards/aio/boards.yml create mode 100644 assets/boards/aio/nginx.conf diff --git a/assets/boards/aio/boards.yml b/assets/boards/aio/boards.yml new file mode 100644 index 000000000..a926d80a7 --- /dev/null +++ b/assets/boards/aio/boards.yml @@ -0,0 +1,154 @@ +version: "3.4" + +x-minio-access: &minio-access --replace-me-- +x-minio-secret: &minio-secret --replace-me-- +x-mongo-password: &mongo-password --replace-me-- + +x-app-env: &app-env + APP_URI: https://--replace-me-- + API_GATEWAY: https://--replace-me-- + REDIS_CACHE_HOST: redis + USER_HOST: http://user + LICENCE_HOST: http://licence + NOTIFICATION_HOST: http://notification + PROVIDER_HOST: http://provider + APP_HOST: http://app + BOARDS_EVENT_HOST: http://boards-event + +x-s3-env: &s3-env + S3_ENDPOINT: minio + S3_ACCESS_KEY: *minio-access + S3_SECRET_KEY: *minio-secret + S3_BUCKET: kudosboards + +x-db-env: &db-env + MONGO_HOST: mongo + MONGO_USER: root + MONGO_PASSWORD: *mongo-password + MONGO_PARAMS: authSource=admin + +services: + # Proxy + nginx: + image: nginx:1.25.3 + restart: always + ports: + - "443:443" + - "80:80" + volumes: + - ./nginx.conf:/etc/nginx/conf.d/proxy.conf + - /path/to/certificate.pem.crt:/etc/nginx/ssl.crt # --replace-me-- + - /path/to/key.pem.key:/etc/nginx/ssl.key # --replace-me-- + + # UI + webfront: + image: quay.io/huddo/boards-webfront:2023-12-18 + restart: always + environment: + <<: [*app-env] + + # Core App routing logic + core: + image: quay.io/huddo/boards-core:2023-12-18 + restart: always + depends_on: + - redis + - minio + - licence + - notification + environment: + <<: [*app-env, *s3-env] + + # Boards business logic + app: + image: quay.io/huddo/boards:2023-12-18 + restart: always + environment: + <<: [*app-env, *db-env, *s3-env] + + user: + image: quay.io/huddo/user:2023-12-18 + restart: always + environment: + <<: [*app-env, *db-env, *s3-env] + CONNECTIONS_NAME: --replace-me-- + CONNECTIONS_CLIENT_ID: --replace-me-- + CONNECTIONS_CLIENT_SECRET: --replace-me-- + CONNECTIONS_URL: --replace-me-- + CONNECTIONS_ADMINS: '["admin1@company.com", "admin2@company.com"]' # --replace-me-- + # DOMINO_AUTH_URL: https://domino.rest.api.company.com # --replace-me-- + # DOMINO_CLIENT_ID: # --replace-me-- + # DOMINO_CLIENT_SECRET: # --replace-me-- + # DOMINO_ADMINS: '["admin1@company.example.com"]' # --replace-me-- + # DOMINO_USE_PROFILE_IMAGE_ATTACHMENTS: 'true' + # DOMINO_PROFILE_IMAGE_NAME: profile.png + # Default values below that can be customised + # DOMINO_AUTH_SCOPE: $DATA + # DOMINO_REST_SCOPE: directorylookup + + provider: + image: quay.io/huddo/provider:2023-12-18 + restart: always + depends_on: + - redis + - minio + environment: + <<: [*app-env, *s3-env] + + notification: + image: quay.io/huddo/notification:2023-12-18 + restart: always + depends_on: + - redis + environment: + <<: [*app-env, *db-env] + + #Events Service + boards-event: + image: quay.io/huddo/boards-event:2023-12-18 + restart: always + depends_on: + - redis + - mongo + environment: + <<: [*app-env, *db-env] + NOTIFIER_EMAIL_HOST: localhost + NOTIFIER_EMAIL_USERNAME: --replace-me + NOTIFIER_EMAIL_PASSWORD: --replace-me + + licence: + image: quay.io/huddo/licence:2023-12-18 + restart: always + depends_on: + - user + - redis + - mongo + environment: + <<: [*db-env, *app-env] + LICENCE: --replace-with-licence-from-store-- + + mongo: + image: bitnami/mongodb:7.0 + restart: always + environment: + MONGODB_ADVERTISED_HOSTNAME: mongo + MONGODB_ROOT_PASSWORD: *mongo-password + volumes: + - /path/to/db:/bitnami/mongodb # --replace-me-- + + minio: + image: minio/minio + restart: always + environment: + MINIO_ROOT_USER: *minio-access + MINIO_ROOT_PASSWORD: *minio-secret + volumes: + - /path/to/s3:/data # --replace-me-- + command: server /data + + # Shared DB for internal caching, communication etc + redis: + image: redis + restart: always + environment: + MASTER: "true" diff --git a/assets/boards/aio/nginx.conf b/assets/boards/aio/nginx.conf new file mode 100644 index 000000000..baf60ede5 --- /dev/null +++ b/assets/boards/aio/nginx.conf @@ -0,0 +1,75 @@ +upstream ui { + server webfront:8080; + } + +upstream api { + server core:3001; +} + +server { + listen 80; + server_name boards-url.replace.me; + rewrite ^ https://$server_name$request_uri? permanent; +} + +server { + listen 80; + server_name boards-api-url.replace.me; + rewrite ^ https://$server_name$request_uri? permanent; +} + +server { + listen 443 ssl; + server_name boards-api-url.replace.me; + + ssl_certificate /etc/nginx/ssl.crt; + ssl_certificate_key /etc/nginx/ssl.key; + ssl_protocols TLSv1.2; + client_max_body_size 50M; + + location / { + proxy_buffering off; + proxy_cache off; + proxy_set_header Host $host; + proxy_set_header Connection ''; + proxy_http_version 1.1; + chunked_transfer_encoding off; + proxy_pass http://api; + } + + location ^~ /socket { + rewrite ^/socket/(.*) /$1 break; #used to send request to base url + proxy_pass http://api; + proxy_redirect off; + proxy_pass_request_headers on; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $http_host; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + } +} + +server { + listen 443; + server_name boards-url.replace.me; + + client_max_body_size 50m; + client_body_timeout 120s; + large_client_header_buffers 4 32k; + + ssl_certificate /etc/nginx/ssl.crt; + ssl_certificate_key /etc/nginx/ssl.key; + ssl_protocols TLSv1.2; + + location / { + proxy_buffering off; + proxy_cache off; + proxy_set_header Host $host; + proxy_set_header Connection ''; + proxy_http_version 1.1; + chunked_transfer_encoding off; + proxy_pass http://ui; + } +} diff --git a/boards/standalone/index.html b/boards/standalone/index.html index 2abfd754f..8566f8fda 100644 --- a/boards/standalone/index.html +++ b/boards/standalone/index.html @@ -1254,12 +1254,45 @@ + + + + + + + +
  • + + + Deployment + + + + +
  • + +
  • + + + Debugging + + +
  • @@ -4958,12 +5000,45 @@ + + + + + + + +
  • + + + Deployment + + + + +
  • + +
  • + + + Debugging + + +
  • @@ -4990,9 +5074,12 @@

    Boards Standalone Deployment

    -

    This document outlines a standalone (all in one) deployment of Huddo Boards. This can be used as a proof of concept, staging deployment or even a production deployment for a limited number of users (e.g. < 500).

    -

    You may run all services including database and file storage on one server, or you can use an external mongo database or s3 file store.

    -

    Like all other deployments of Huddo Boards, this requires configuration of 2 domains: Application and API. e.g. boards.huddo.com and boards.api.huddo.com

    +
    +

    Tip

    +

    This document outlines a standalone (all in one) deployment of Huddo Boards using docker-compose. This can be used as a proof of concept, staging deployment or even a production deployment for a limited number of users (e.g. < 500).

    +
    +

    You may run all services including database and file storage on one server, or you can use an external Mongo database or S3 file store.

    +

    Like all other deployments of Huddo Boards, this requires configuration of 2 domains: Application and API. e.g. boards.huddo.com and boards.api.huddo.com

    Server requirements

    RHEL (or Centos 7) server with: