10th generation of Open Chat, written in Go. Without federation for now; would love to add it again though.
- Production:
msgmate.io( branchproduction) - Staging:
stage.msgmate.io( branchmain) - Docs (wip):
msgmate.io/docs - API Docs:
msgmate.io/reference - Design System:
msgmate-io.github.io/open-chat-go
- Production Docker:
docker build -f Dockerfile -t open-chat:latest . - Go Linux Binary:
wget -O open-chat "https://github.com/msgmate-io/open-chat-go/releases/latest/download/open-chat-linux-amd64" - Python Client:
pip install git+https://github.com/msgmate-io/open-chat-go-python-client.git
docker compose build
# frontend + backend ( sqite + hot-reload )
docker compose up
# or design system
docker compose --profile storybook up- Tool dependencies are declared in
backend/tooldeps.json. - During backend builds,
backend/full_build.shrunsgo run ./scripts/tooldepsgento:- sync dependencies into
backend/go.mod - generate
backend/api/msgmate/externaltools/imports_gen.gowith side-effect imports
- sync dependencies into
- External packages should register tools in
init()using the SDK atclients/go_tool_interface/
docker compose -f docker-compose.pro.yaml build
# backend ( postgres + frontend static html + js )
docker compose -f docker-compose.pro.yaml up -dWe release all versions always ( after admin confirmation ):
- PR branches:
open-chat-pr-alpha-release-<version-number>-<commit> - Staging
mainare tagged asopen-chat-staging-<version-number>(open-chat-pre-release:latest) - Production
productionare released asopen-chat-<version-number>(open-chat:latest)