diff --git a/Makefile b/Makefile index 2dc9ba4..7988407 100644 --- a/Makefile +++ b/Makefile @@ -45,13 +45,28 @@ run-mm-replicas: @docker-compose up -d mattermost mattermost-2 @echo "Should be up and running. Go crazy." +run-rtcd: + @echo "Starting RTCD..." + @docker-compose up -d mattermost-rtcd + @docker exec -it cs-repro-mattermost mmctl config set PluginSettings.Plugins.com.mattermost.calls.rtcdserviceurl "http://mattermost-rtcd" --local + @docker exec -it cs-repro-mattermost mmctl plugin disable com.mattermost.calls --local + @docker exec -it cs-repro-mattermost mmctl plugin enable com.mattermost.calls --local + run-all: run run-db-replicas run-mm-replicas +start: + @echo "Starting the existing deployment..." + @docker-compose start + stop: @echo "Stopping..." @docker-compose stop @echo "Done" +stop-rtcd: + @echo "Stopping RTCD..." + @docker-compose stop mattermost-rtcd + restart: @docker-compose restart @make check-mattermost diff --git a/README.md b/README.md index 8dca200..14617a7 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ This is designed to be used as a reproduction of a standard customer production - [Migrating to Config in DB](#using-config-in-db) - [MMCTL](#mmctl) - [Adding Postgres Read Replicas](#adding-postgres-read-replicas) +- [Calls](#calls) ## Getting Started @@ -40,6 +41,10 @@ This is designed to be used as a reproduction of a standard customer production - You can use any of the accounts to sign in. - The keycloak container can be **very** picky sometimes and require a restart of just that container to sign in with that method the first time. +5. To stop everything run `make stop`. + +6. To then bring it up again, without creating new containers, run `make start`. + ## Accounts | Username | Password | Keycloak Role | Mattermost Role | Can use LDAP? | Can use SAML? | @@ -61,11 +66,13 @@ Additionally, the keycloak container can take up to 5 minutes to spin up. If it' ## Commands -- **`make start` / `make run`**: Initializes the environment. +- **`make start`**: Starts the containers that already exist, nothing more. +- **`make run`**: Initializes the environment and creates the containers - **`make run-all`**: Spins up all environment containers with the database replicas and Mattermost HA. - You must run `make run` before running the below: - **`make run-db-replica`**: Launches the environment with replicas. Ideal for adding replicas to an existing setup or initializing with replicas from the get-go. - - **`make run-mm-replica`: Launches an additional Mattermost node and enables HA. + - **`make run-mm-replica`**: Launches an additional Mattermost node and enables HA. + - **`make run-rtcd`**: Launches the RTCD service for Mattermost Calls and updates the config to use it correctly. - **`make backup-keycloak`**: Generates a backup of the current Keycloak setup in the files directory. Useful for infrequent backups. - **`make restore-keycloak`**: Restores Keycloak data from an existing backup. Ensure `./volumes/keycloak` is cleared before restoration. - **`make stop`**: Halts all running containers. @@ -289,3 +296,7 @@ docker exec -it cs-repro-openldap ldapmodify \ -w GoodNewsEveryone \ -f /ldap/addUniqueIdToUsers.ldif ``` + +## Calls + +By default this is setup to run on the built in Mattermost calls. You can enable the `rtcd` service by running `make run-rtcd`, which will start up `rtcd` and adjust the settings within Mattermost to work. \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 0235331..c2510ed 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -223,6 +223,24 @@ services: - MM_ServiceSettings_EnableLocalMode=true - MM_ServiceSettings_LocalModeSocketLocation=/var/tmp/mattermost_local.socket - MM_ServiceSettings_LicenseFileLocation=/mattermost/config/license.mattermost-enterprise + mattermost-rtcd: + container_name: cs-repro-mattermost-rtcd + platform: linux/amd64 + image: mattermost/rtcd:latest + restart: unless-stopped + volumes: + - ./volumes/rtcd/logs:/logs:rw + environment: + - RTCD_LOGGER_ENABLEFILE=true + - RTCD_LOGGER_FILELOCATION=/logs + - RTCD_LOGGER_FILELEVEL=DEBUG + - RTCD_API_SECURITY_ALLOWSELFREGISTRATION=true + - RTCD_LOGGER_CONSOLELEVEL=DEBUG + ports: + - "8443:8443/udp" + - "8443:8443/tcp" + - "8045:8045" + # mysql: # container_name: cs-repro-mysql # image: mysql:8