Education*
Devops
Architecture
F/B End
B.Chain
Basic
Others
CLOSE
Search For:
Search
BY TAGS
linux
HTTP
golang
flutter
java
fintech
개발환경
kubernetes
network
Docker
devops
database
tutorial
cli
분산시스템
www
블록체인
AWS
system admin
bigdata
보안
금융
msa
mysql
redis
Linux command
dns
javascript
CICD
VPC
FILESYSTEM
S3
NGINX
TCP/IP
ZOOKEEPER
NOSQL
IAC
CLOUD
TERRAFORM
logging
IT용어
Kafka
docker-compose
Dart
Docker 기반 Mattermost 설치
Recommanded
Free
YOUTUBE Lecture:
<% selectedImage[1] %>
yundream
2024-07-06
2020-04-18
18104
### Mattermost Mattermost는 Slack과 유사한 오픈소스 기반의 채팅 및 협업 소프트웨어다. 사용자 인터페이스와 사용 법 모두 Slack와 유사하기 때문에 Slack 대신 사용 할 수 있다. ### Mattermost의 사용 이유 Slack이 있는데 굳이 설치와 운영의 번거로움을 무릅쓰고 사용해야 할 필요가 있을까 ? 일반적인 경우에는 굳이 Mattermost를 사용 할 필요가 없겠으나 정보보호가 중요한 기업/연구소 의 경우에는 자체 구욱해야 할 수 있다. 이때 Mattermost는 좋은 대안이 될 수 있다. ### LLM과 통합 특히 LLM과 통합할 경우 시너지를 기대 할 수 있다. 최근 기업들은 지식 데이터베이스를 LLM(대규모 언어 모델)에 통합하려는 시도를 하고 있다. LLM과의 대화 정보는 외부에 노출되면 위험할 수 있기 때문에 Mattermost 등으로 내부 채팅시스템을 구성하면 정보 노출의 위험을 관리 할 수 있다. LLM과 Mattermost와의 통합은 나중에 다뤄보도록 하겠다. ### Mattermost 설치 docker-compose 기반으로 간단하게 설치 할 수 있다. docker를 설치하면 docker compose도 사용 할 수 있는데, docker 설치 문서는 [여기](https://www.joinc.co.kr/w/man/12/docker/install)를 참고하자. 애플리케이션 구성은 다음과 같다.  **docker-compose.yml** ```yaml version: "3.3" services: traefik: image: "traefik:v3.0" container_name: "traefik" command: - "--api.insecure=true" - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--entryPoints.web.address=:80" ports: - "80:80" - "8080:8080" volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" whoami: image: "traefik/whoami" container_name: "simple-service" depends_on: - "traefik" labels: - "traefik.enable=true" - "traefik.http.routers.whoami.rule=Host(`whoami.localhost`)" - "traefik.http.routers.whoami.entrypoints=web" mattermost: image: mattermost/mattermost-prod-app depends_on: - "db" environment: - MM_SQLSETTINGS_DRIVERNAME=mysql - DB_PORT_NUMBER=3306 - MM_SQLSETTINGS_DATASOURCE=mmuser:db_password@tcp(db:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s - MM_USERNAME=mmuser - MM_PASSWORD=dbpassword - MM_DBNAME=mattermost labels: - "traefik.enable=true" - "traefik.port=8000" - "traefik.http.routers.mattermost.rule=Host(`chat.localhost`)" - "traefik.http.routers.mattermost.entrypoints=web" db: image: mysql/mysql-server:8.0 restart: unless-stopped environment: - MYSQL_ROOT_PASSWORD=db_root_password - MYSQL_USER=mmuser - MYSQL_PASSWORD=db_password - MYSQL_DATABASE=mattermost ``` 위 docker compose는 3개의 서비스로 구성된다. * traefik: NginX 같은 오픈소스 Reverse Proxy로 MSA 환경에서 API Gateway 로 사용한다. * whoami: 테스트를 위한 서버 * mattermost: mattermose 서버 * db: mattermost가 사용 할 mysql 데이터베이스 docker compose를 실행한다. ``` docker compose up ``` whoami service 를 테스트해보자.  mattermost 서버에 접근한다.  Team을 만들고 **Finish** 버튼을 클릭하면 아래와 같아. Mattermost를 사용 할 수 있다.  ### Mattermost desktop application Slack 처럼 데스크탑 애플리케이션 형태로 설치할 수 있다. ``` curl -fsS -o- https://deb.packages.mattermost.com/setup-repo.sh | sudo bash sudo apt-get update sudo apt install mattermost-desktop ``` [Install the Mattermost desktop app](https://docs.mattermost.com/collaborate/install-desktop-app.html)에서 윈도우즈와 맥오에스의 설치 방법을 확인 할 수 있다.  Slack 처럼 **webhook** 을 이용한 통합도 가능하다.  또한 marketplace로 부터 여러 유용한 플러그인을 설치해서 Jira, GitLab, Jenkins 등의 애플리케이션과 통합 할 수 있다.  ### 정리 내가 Mattermost에 관심을 가지는 가장 큰 이유는 "LLM ChatBot"과의 통합에 사용하기 위해서다. 다음 번에는 Mattermost를 LLM ChatBot으로 이용하는 방법에 대해서 살펴보겠다.
Recent Posts
MLOps with Joinc - Kubeflow 설치
Vertex Gemini 기반 AI 에이전트 개발 05. 첫 번째 LLM 애플리케이션 개발
LLama-3.2-Vision 테스트
Vertex Gemini 기반 AI 에이전트 개발 04. 프롬프트 엔지니어링
Vertex Gemini 기반 AI 에이전트 개발 03. Vertex AI Gemini 둘러보기
Vertex Gemini 기반 AI 에이전트 개발 02. 생성 AI에 대해서
Vertex Gemini 기반 AI 에이전트 개발 01. 소개
Vertex Gemini 기반 AI 에이전트 개발-소개
생성 AI 모델 Flux.1 설치 및 사용
GPT를 이용한 Reranker 테스트
Archive Posts
Tags
devops
docker
docker-compose
Copyrights © -
Joinc
, All Rights Reserved.
Inherited From -
Yundream
Rebranded By -
Joonphil
Recent Posts
Archive Posts
Tags