From 651c2e7674a568fdefa18b7e8da23b6d5dc34fc5 Mon Sep 17 00:00:00 2001 From: Arjun Hemrajani Date: Wed, 19 Aug 2026 10:34:13 +0530 Subject: [PATCH 1/2] Test --- test | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test diff --git a/test b/test new file mode 100644 index 0000000..e69de29 -- 2.43.0 From 5f74d71e2a2ef407cb499dea8624fa439cc2f821 Mon Sep 17 00:00:00 2001 From: Arjun Hemrajani Date: Thu, 27 Aug 2026 16:54:49 +0530 Subject: [PATCH 2/2] Add mattermost. --- mattermost/domain.sh | 30 +++++++++++++++ mattermost/install.sh | 89 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 119 insertions(+) create mode 100644 mattermost/domain.sh create mode 100644 mattermost/install.sh diff --git a/mattermost/domain.sh b/mattermost/domain.sh new file mode 100644 index 0000000..628b1ff --- /dev/null +++ b/mattermost/domain.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +APP_NAME="mattermost" +APP_DIR="/var/excloud/apps" +APP_UPSTREAM_PORT="${EXC_APP_UPSTREAM_PORT:-8065}" + +DOMAIN="${1}" + +if [ -z "${DOMAIN}" ]; then + echo "Error: URL argument is required. Example:" >&2 + echo "domain.sh sub.example.com" >&2 + exit 1 +fi + +MATTERMOST_DIR="${APP_DIR}/${APP_NAME}" +COMPOSE_FILE="${MATTERMOST_DIR}/docker-compose.yml" +ENV_FILE="${MATTERMOST_DIR}/.env" + +source /var/excloud/scripts/caddy-setup.sh + +sed -i "s|MM_SERVICESETTINGS_SITEURL: .*|MM_SERVICESETTINGS_SITEURL: https://${DOMAIN}|" "${COMPOSE_FILE}" + +if is_app_ready "$MATTERMOST_DIR"; then + docker compose --env-file "${ENV_FILE}" -f "${COMPOSE_FILE}" up -d --remove-orphans + switch_domain "$DOMAIN" "$APP_UPSTREAM_PORT" "$MATTERMOST_DIR" +else + setup_initializing_page "$DOMAIN" "$APP_NAME" "$MATTERMOST_DIR" + docker compose --env-file "${ENV_FILE}" -f "${COMPOSE_FILE}" up -d --remove-orphans + wait_and_switch_to_proxy "$DOMAIN" "$APP_UPSTREAM_PORT" "$MATTERMOST_DIR" & +fi diff --git a/mattermost/install.sh b/mattermost/install.sh new file mode 100644 index 0000000..84e2064 --- /dev/null +++ b/mattermost/install.sh @@ -0,0 +1,89 @@ +#!/bin/bash + +APP_NAME="mattermost" +APP_DIR="/var/excloud/apps" +SCRIPT_DIR="/var/excloud/scripts" +APP_UPSTREAM_PORT="${EXC_APP_UPSTREAM_PORT:-8065}" +CALLS_PORT="${EXC_APP_CALLS_PORT:-8443}" + +mkdir -p "${APP_DIR}" +mkdir -p "${SCRIPT_DIR}" + +DOMAIN="${1}" + +if [ -z "${DOMAIN}" ]; then + echo "Error: URL argument is required. Example:" >&2 + echo "install.sh sub.example.com" >&2 + exit 1 +fi + +MATTERMOST_DIR="${APP_DIR}/${APP_NAME}" +COMPOSE_FILE="${MATTERMOST_DIR}/docker-compose.yml" +ENV_FILE="${MATTERMOST_DIR}/.env" + +mkdir -p "${MATTERMOST_DIR}" +source /var/excloud/scripts/caddy-setup.sh +setup_initializing_page "$DOMAIN" "$APP_NAME" "$MATTERMOST_DIR" + +if [ ! -f "${ENV_FILE}" ]; then + POSTGRES_PASSWORD="$(od -An -N32 -tx1 /dev/urandom | tr -d ' \n')" + (umask 077 && printf 'POSTGRES_PASSWORD=%s\n' "${POSTGRES_PASSWORD}" > "${ENV_FILE}") +fi + +cat > "${COMPOSE_FILE}" <