Compare commits

...

9 Commits

7 changed files with 102 additions and 48 deletions

View File

@ -0,0 +1,29 @@
########## Обязательные переменные ##########
# Система Loop поставляется с несколькими дополнительными сервисами:
# - PostgreSQL - основная БД для хранения данных
# - Minio - S3 файловое хранилище
# - Nginx - используется как reverse-proxy
# loop:
SITEURL=loop.example.com
HTTP_PROTOCOL=https://
GIPHYSDKKEY=GIPHYSDKKEY
# db:
PG_PASSWORD=password
PG_USER=loopuser
PG_DB_NAME=loop_db
# s3:
MINIO_ROOT_USER=MINIO_ROOT_USER
MINIO_ROOT_PASSWORD=MINIO_ROOT_PASSWORD
# s3-client:
ACCESS_KEY_ID=AWS_ACCESS_KEY_ID
SECRET_ACCESS_KEY=AWS_SECRET_ACCESS_KEY
BUCKET_NAME=looponprem-bucket

View File

@ -16,6 +16,7 @@ services:
- loop - loop
loop: loop:
container_name: loop
image: "registry.loop.ru/loop/server:10.0.3" image: "registry.loop.ru/loop/server:10.0.3"
restart: "unless-stopped" restart: "unless-stopped"
depends_on: depends_on:
@ -26,22 +27,21 @@ services:
- "8443:8443/udp" - "8443:8443/udp"
environment: environment:
MM_CALLS_RTCD_URL: "http://rtcd.loop.ru:33045" #This is the URL for interacting with the RTC (Real-Time Communication) server, which handles calls in real time.
MM_EMAILSETTINGS_PUSHNOTIFICATIONSERVER: "https://push.loop.ru" #This evn indicates the server that sends push notifications. MM_EMAILSETTINGS_PUSHNOTIFICATIONSERVER: "https://push.loop.ru" #This evn indicates the server that sends push notifications.
MM_EMAILSETTINGS_SENDPUSHNOTIFICATIONS: "true" #This env indicates whether push notifications are allowed for email MM_EMAILSETTINGS_SENDPUSHNOTIFICATIONS: "true" #This env indicates whether push notifications are allowed for email
MM_EXPERIMENTALSETTINGS_ENABLEAPPBAR: "true" #This env indicates whether the application panel is enabled MM_EXPERIMENTALSETTINGS_ENABLEAPPBAR: "true" #This env indicates whether the application panel is enabled
MM_FEATUREFLAGS_AppsEnabled: "true" #Indicates the availability and ability to use certain applications or functions, for example, access to the gallery to download images MM_FEATUREFLAGS_AppsEnabled: "true" #Indicates the availability and ability to use certain applications or functions, for example, access to the gallery to download images
MM_FILESETTINGS_AMAZONS3ACCESSKEYID: "<AWS_ACCESS_KEY_ID>" #Access Key ID to access s3 storage MM_FILESETTINGS_AMAZONS3ACCESSKEYID: ${ACCESS_KEY_ID} #Access Key ID to access s3 storage
MM_FILESETTINGS_AMAZONS3BUCKET: "looponprem-bucket" #The name of the S3 bucket where the files are stored MM_FILESETTINGS_AMAZONS3BUCKET: ${BUCKET_NAME} #The name of the S3 bucket where the files are stored
MM_FILESETTINGS_AMAZONS3ENDPOINT: "minio:9000" #The URL of the S3 storage endpoint MM_FILESETTINGS_AMAZONS3ENDPOINT: "minio:9000" #The URL of the S3 storage endpoint
MM_FILESETTINGS_AMAZONS3PATHPREFIX: "loop" #This option allows you to specify the path to files on S3 MM_FILESETTINGS_AMAZONS3PATHPREFIX: "loop" #This option allows you to specify the path to files on S3
MM_FILESETTINGS_AMAZONS3SECRETACCESSKEY: "<AWS_SECRET_ACCESS_KEY>" #The secret key for accessing S3 storage MM_FILESETTINGS_AMAZONS3SECRETACCESSKEY: ${SECRET_ACCESS_KEY} #The secret key for accessing S3 storage
MM_FILESETTINGS_AMAZONS3SSE: "false" #Env indicates whether SSL (Server-Side Encryption) is enabled for S3 MM_FILESETTINGS_AMAZONS3SSE: "false" #Env indicates whether SSL (Server-Side Encryption) is enabled for S3
MM_FILESETTINGS_AMAZONS3SSL: "false" #Env indicates whether the connection to Amazon S3 should take place over SSL MM_FILESETTINGS_AMAZONS3SSL: "false" #Env indicates whether the connection to Amazon S3 should take place over SSL
MM_FILESETTINGS_DRIVERNAME: "amazons3" #The name of the driver for working with files MM_FILESETTINGS_DRIVERNAME: "amazons3" #The name of the driver for working with files
MM_FILESETTINGS_MAXFILESIZE: 1048576000 #The maximum file size to download, specified in bytes. MM_FILESETTINGS_MAXFILESIZE: 1048576000 #The maximum file size to download, specified in bytes.
MM_JOBSETTINGS_RUNJOBS: "false" #Specifies whether job should be performed MM_JOBSETTINGS_RUNJOBS: "true" #Default is true, only disable when a job-server is deployed.
MM_JOBSETTINGS_RUNSCHEDULER: "false" #The flag indicates whether the task scheduler should be started MM_JOBSETTINGS_RUNSCHEDULER: "true" #Default is true, only disable when a job-server is deployed.
MM_LOGSETTINGS_CONSOLEJSON: "false" #The flag indicates whether the output to the console should be in JSON format MM_LOGSETTINGS_CONSOLEJSON: "false" #The flag indicates whether the output to the console should be in JSON format
MM_LOGSETTINGS_CONSOLELEVEL: "DEBUG" #Logging level for console output MM_LOGSETTINGS_CONSOLELEVEL: "DEBUG" #Logging level for console output
MM_LOGSETTINGS_FILELEVEL: "DEBUG" #The logging level for writing to a file MM_LOGSETTINGS_FILELEVEL: "DEBUG" #The logging level for writing to a file
@ -55,11 +55,11 @@ services:
MM_SERVICESETTINGS_ENABLEOAUTHSERVICEPROVIDER: "true" #It is used to determine whether the use of third-party OAuth service providers is allowed MM_SERVICESETTINGS_ENABLEOAUTHSERVICEPROVIDER: "true" #It is used to determine whether the use of third-party OAuth service providers is allowed
MM_SERVICESETTINGS_ENABLETESTING: "true" #The flag indicates whether testing is allowed MM_SERVICESETTINGS_ENABLETESTING: "true" #The flag indicates whether testing is allowed
MM_SERVICESETTINGS_ENABLEUSERACCESSTOKENS: "true" #The flag indicates whether user access tokens are allowed MM_SERVICESETTINGS_ENABLEUSERACCESSTOKENS: "true" #The flag indicates whether user access tokens are allowed
MM_SERVICESETTINGS_GIPHYSDKKEY: "<GiphySDKkey>" #Giphy SDK key for integration with Giphy MM_SERVICESETTINGS_GIPHYSDKKEY: ${GIPHYSDKKEY} #Giphy SDK key for integration with Giphy
MM_SERVICESETTINGS_LICENSEFILELOCATION: "/mattermost/config/license.txt" #The path to the license file MM_SERVICESETTINGS_LICENSEFILELOCATION: "/mattermost/config/license.txt" #The path to the license file
MM_SERVICESETTINGS_LISTENADDRESS: ":8065" #The address and port on which the service is listening. MM_SERVICESETTINGS_LISTENADDRESS: ":8065" #The address and port on which the service is listening.
MM_SERVICESETTINGS_SITEURL: "https://loop.example.com" #The public URL of the service. MM_SERVICESETTINGS_SITEURL: ${HTTP_PROTOCOL}${SITEURL} #The public URL of the service.
MM_SQLSETTINGS_DATASOURCE: "postgres://loopuser:<password>@db/loop_db?sslmode=disable\u0026connect_timeout=10" #Data source for connecting to the PostgreSQL database MM_SQLSETTINGS_DATASOURCE: "postgres://${PG_USER}:${PG_PASSWORD}@db/${PG_DB_NAME}?sslmode=disable\u0026connect_timeout=10" #Data source for connecting to the PostgreSQL database
MM_SQLSETTINGS_DRIVERNAME: "postgres" #Name of the database driver MM_SQLSETTINGS_DRIVERNAME: "postgres" #Name of the database driver
MM_TEAMSETTINGS_MAXUSERSPERTEAM: 500 #Maximum number of users per team MM_TEAMSETTINGS_MAXUSERSPERTEAM: 500 #Maximum number of users per team
@ -78,9 +78,9 @@ services:
image: "postgres:15-alpine3.21" image: "postgres:15-alpine3.21"
restart: "unless-stopped" restart: "unless-stopped"
environment: environment:
POSTGRES_PASSWORD: "<password>" POSTGRES_PASSWORD: ${PG_PASSWORD}
POSTGRES_USER: "loopuser" POSTGRES_USER: ${PG_USER}
POSTGRES_DB: "loop_db" POSTGRES_DB: ${PG_DB_NAME}
volumes: volumes:
- ./db:/var/lib/postgresql/data - ./db:/var/lib/postgresql/data
networks: networks:
@ -91,8 +91,8 @@ services:
image: minio/minio:RELEASE.2022-08-26T19-53-15Z image: minio/minio:RELEASE.2022-08-26T19-53-15Z
restart: unless-stopped restart: unless-stopped
environment: environment:
MINIO_ROOT_USER: <MINIO_ROOT_USER> MINIO_ROOT_USER: ${MINIO_ROOT_USER}
MINIO_ROOT_PASSWORD: <MINIO_ROOT_PASSWORD> MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
command: server --address :9000 --console-address :9001 /data command: server --address :9000 --console-address :9001 /data
ports: ports:
- "9000" - "9000"
@ -108,14 +108,14 @@ services:
volumes: volumes:
- ./minio:/tmp/policies - ./minio:/tmp/policies
environment: environment:
AWS_ACCESS_KEY_ID: <AWS_ACCESS_KEY_ID> AWS_ACCESS_KEY_ID: ${ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: <AWS_SECRET_ACCESS_KEY> AWS_SECRET_ACCESS_KEY: ${SECRET_ACCESS_KEY}
entrypoint: > entrypoint: >
/bin/sh -c " /bin/sh -c "
until (/usr/bin/mc config host add loop http://minio:9000 <MINIO_ROOT_USER> <MINIO_ROOT_PASSWORD>) do echo '...waiting...' && sleep 1; done; until (/usr/bin/mc config host add loop http://minio:9000 ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD}) do echo '...waiting...' && sleep 1; done;
/usr/bin/mc mb loop/looponprem-bucket; /usr/bin/mc mb loop/${BUCKET_NAME};
/usr/bin/mc admin user add loop <AWS_ACCESS_KEY_ID> <AWS_SECRET_ACCESS_KEY>; /usr/bin/mc admin user add loop ${ACCESS_KEY_ID} ${SECRET_ACCESS_KEY};
/usr/bin/mc admin policy set loop readwrite user=<AWS_ACCESS_KEY_ID>; /usr/bin/mc admin policy set loop readwrite user= ${ACCESS_KEY_ID};
exit 0; exit 0;
" "
networks: networks:

View File

@ -11,7 +11,7 @@ map $http_x_forwarded_proto $proxy_x_forwarded_proto {
server { server {
listen 443 ssl http2; listen 443 ssl http2;
server_name loop.example.com; server_name ${SITEURL};
ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key; ssl_certificate_key /etc/nginx/ssl/server.key;

View File

@ -15,4 +15,4 @@ maintainers:
name: stuart.armstrong name: stuart.armstrong
name: loop-enterprise-edition name: loop-enterprise-edition
type: application type: application
version: 1.0.4 version: 1.0.5

View File

@ -15,18 +15,6 @@ global:
enableLinkPreviews: true # Предпросмотр ссылок enableLinkPreviews: true # Предпросмотр ссылок
enableCustomEmoji: true # Поддержка пользовательских эмодзи enableCustomEmoji: true # Поддержка пользовательских эмодзи
# Настройки email-уведомлений
sendEmailNotifications: false # Включить email-уведомления
requireEmailVerification: false # Требовать подтверждение email
feedbackName: "" # Имя отправителя отзывов
feedbackEmail: "" # Email для отзывов
feedbackOrganization: "" # Организация
smtpUsername: "" # SMTP логин
smtpPassword: "" # SMTP пароль
smtpServer: "" # SMTP сервер
smtpPort: "" # SMTP порт
connectionSecurity: "" # тип подключения: пусто, TLS или STARTTLS
features: features:
database: database:
external: external:
@ -226,6 +214,30 @@ loopApp:
value: "true" # Разрешить создание access токенов для пользователей value: "true" # Разрешить создание access токенов для пользователей
- name: MM_SERVICESETTINGS_GIPHYSDKKEY - name: MM_SERVICESETTINGS_GIPHYSDKKEY
value: "" # Ключ SDK Giphy для интеграции с Giphy value: "" # Ключ SDK Giphy для интеграции с Giphy
- name: MM_EMAILSETTINGS_SENDEMAILNOTIFICATIONS
value: "false"
- name: MM_EMAILSETTINGS_REQUIREMAILVERIFICATION
value: "false" # Требовать подтверждение email
- name: MM_EMAILSETTINGS_FEEDBACKEMAIL
value: "" # Email-адрес для сбора отзывов и обратной связи от пользователей
- name: MM_EMAILSETTINGS_FEEDBACKNAME
value: "" # Имя отправителя, которое будет отображаться в письмах с отзывами
- name: MM_EMAILSETTINGS_FEEDBACKORGANIZATION
value: "" # Название организации/компании, от имени которой отправляются письма с отзывами
- name: MM_EMAILSETTINGS_SMTPUSERNAME
value: "" # SMTP логин
- name: MM_EMAILSETTINGS_CONNECTIONSECURITY
value: "" # тип подключения: пусто, TLS или STARTTLS
- name: MM_EMAILSETTINGS_SMTPPASSWORD
value: "" # SMTP пароль для аутентификации
- name: MM_EMAILSETTINGS_ENABLESMTPAUTH
value: "" # Включить SMTP-аутентификацию (true/false)
- name: MM_EMAILSETTINGS_SMTPPORT
value: "" # SMTP порт для подключения (например, 25, 465, 587)
- name: MM_EMAILSETTINGS_REPLYTOADDRESS
value: "" # Адрес для ответа (куда будут приходить ответы на письма)
- name: MM_EMAILSETTINGS_SMTPSERVER
value: ""
## Следующие переменные требуются для запуска в кластерном режиме: ## Следующие переменные требуются для запуска в кластерном режиме:
# - name: MM_CLUSTERSETTINGS_ENABLE # - name: MM_CLUSTERSETTINGS_ENABLE

View File

@ -3,7 +3,7 @@ appVersion: 10.0.3
dependencies: dependencies:
- name: loop-enterprise-edition - name: loop-enterprise-edition
repository: https://artifacts.wilix.dev/repository/helm-loop repository: https://artifacts.wilix.dev/repository/helm-loop
version: 1.0.4 version: 1.0.5
alias: loop-enterprise-edition alias: loop-enterprise-edition
- condition: postgresql.enabled - condition: postgresql.enabled
name: postgresql name: postgresql
@ -28,4 +28,4 @@ maintainers:
name: stuart.armstrong name: stuart.armstrong
name: loop-enterprise-stack name: loop-enterprise-stack
type: application type: application
version: 1.0.6 version: 1.0.7

View File

@ -15,18 +15,6 @@ global:
enableLinkPreviews: true enableLinkPreviews: true
enableCustomEmoji: true enableCustomEmoji: true
# Settings to enable email notifications
sendEmailNotifications: false
requireEmailVerification: false
feedbackName: ""
feedbackEmail: ""
feedbackOrganization: ""
smtpUsername: ""
smtpPassword: ""
smtpServer: ""
smtpPort: ""
connectionSecurity: "" # empty, TLS, or STARTTLS
features: features:
database: database:
external: external:
@ -188,6 +176,31 @@ loop-enterprise-edition:
value: "true" #The flag indicates whether user access tokens are allowed value: "true" #The flag indicates whether user access tokens are allowed
- name: MM_SERVICESETTINGS_GIPHYSDKKEY - name: MM_SERVICESETTINGS_GIPHYSDKKEY
value: "" #Giphy SDK key for integration with Giphy value: "" #Giphy SDK key for integration with Giphy
- name: MM_EMAILSETTINGS_SENDEMAILNOTIFICATIONS
value: "false"
- name: MM_EMAILSETTINGS_REQUIREMAILVERIFICATION
value: "false" # Требовать подтверждение email
- name: MM_EMAILSETTINGS_FEEDBACKEMAIL
value: "" # Email-адрес для сбора отзывов и обратной связи от пользователей
- name: MM_EMAILSETTINGS_FEEDBACKNAME
value: "" # Имя отправителя, которое будет отображаться в письмах с отзывами
- name: MM_EMAILSETTINGS_FEEDBACKORGANIZATION
value: "" # Название организации/компании, от имени которой отправляются письма с отзывами
- name: MM_EMAILSETTINGS_SMTPUSERNAME
value: "" # SMTP логин
- name: MM_EMAILSETTINGS_CONNECTIONSECURITY
value: "" # тип подключения: пусто, TLS или STARTTLS
- name: MM_EMAILSETTINGS_SMTPPASSWORD
value: "" # SMTP пароль для аутентификации
- name: MM_EMAILSETTINGS_ENABLESMTPAUTH
value: "" # Включить SMTP-аутентификацию (true/false)
- name: MM_EMAILSETTINGS_SMTPPORT
value: "" # SMTP порт для подключения (например, 25, 465, 587)
- name: MM_EMAILSETTINGS_REPLYTOADDRESS
value: "" # Адрес для ответа (куда будут приходить ответы на письма)
- name: MM_EMAILSETTINGS_SMTPSERVER
value: ""
## The following environment variables are required to run loop in clustered mode. ## The following environment variables are required to run loop in clustered mode.
# - name: MM_CLUSTERSETTINGS_ENABLE # - name: MM_CLUSTERSETTINGS_ENABLE
# value: "true" # value: "true"