Files
Andrey 91fab586fa ✨ feat(deploy): сохранить override и постоянные dev-окружения
Сохранить порядок дополнительных Compose-файлов при обновлении и подключать их помощнику на чтение. Добавить проверки override, постоянных каталогов dev-данных и документацию проекта. Явно задать русский язык в тестах русских подписей.
2026-10-01 18:18:58 +03:00

45 lines
1.8 KiB
Bash

#!/usr/bin/env sh
# Локальный запуск Chatballs из исходников (Linux/macOS).
#
# Это путь разработчика: стек собирается из репозитория. Установка продукта
# выглядит иначе и этого скрипта не требует — там один compose.yaml со
# страницы релиза и `docker compose up -d --wait` (см. README).
#
# Ни одной переменной задавать не нужно и негде: .env у продукта нет. Секреты
# инстанса генерирует первый старт (сервис secrets), всё остальное —
# организацию, владельца, домены, почту, интеграции — человек настраивает в UI.
#
# Режим поставки: --mode cloud (по умолчанию) или --mode self-hosted.
set -eu
cd "$(dirname "$0")/.."
if [ -f .git ]; then
echo "Worktree requires persistent CHATBALLS_DEV_DATA_DIR outside the checkout; see docs/dev-task-runtime.md." >&2
exit 2
fi
mode="CLOUD"
while [ $# -gt 0 ]; do
case "$1" in
--mode)
shift
case "${1:-}" in
cloud|CLOUD) mode="CLOUD" ;;
self-hosted|SELF_HOSTED|selfhosted) mode="SELF_HOSTED" ;;
*) echo "Неизвестный режим: ${1:-}. Допустимо: cloud, self-hosted" >&2; exit 2 ;;
esac
shift
;;
-h|--help)
echo "Использование: $0 [--mode cloud|self-hosted]" >&2
exit 0
;;
*) echo "Неизвестный аргумент: $1" >&2; exit 2 ;;
esac
done
echo "Сборка из исходников, режим поставки: $mode."
CHATBALLS_DELIVERY_MODE="$mode" \
exec docker compose -f compose.yaml -f compose.dev.yaml up --build