Skip to content

UnitDevelopmentStudio/max-hackathon

Repository files navigation

MAX-HACKATHON — Запуск и описание переменных окружения

Краткая инструкция по запуску локально с docker-compose.yml из репозитория.

Требования

  • Docker (>=20.10)
  • Docker Compose (v2, команда docker compose)

Быстрый старт

  1. Перейти в корневую папку проекта (там где находится docker-compose.yml).
  2. (Опционально) Создать файл .env или docker-compose.override.yml для переопределения секретов/настроек.
  3. Собрать и запустить все сервисы:
    docker compose up --build
    
  4. Просмотреть логи:
    docker compose logs -f api
    
  5. Остановить и удалить контейнеры:
    docker compose down
    

Если нужно пересобрать без кэша:

docker compose build --no-cache
docker compose up -d

Доступные сервисы (порты привязаны к localhost)

По умолчанию привязки в compose сделаны к 127.0.0.1 — если нужен внешний доступ, замените на 0.0.0.0.

Переменные окружения — краткое объяснение

Не храните реальные секреты в публичных репозиториях. Рекомендуется использовать .env или секретный менеджер.

Общие переменные для сервиса api:

  • MODE — режим запуска (dev/prod).
  • PORT — порт приложения (обычно 3000).
  • JWT_SECRET — секрет для подписи JWT.
  • DB_CONNECTION_STRING — строка подключения к Postgres, формат: postgres://<user>:<password>@<host>:<port>/<db>?sslmode=disable В compose используется хост postgres (имя сервиса).
  • DB_MIGRATE — если true, при старте выполняются миграции БД.
  • BOT_API_BASE — базовый URL для обращения к сервису бота (например http://bot:5001).
  • WRAPPER_TLS — true/false, включает/отключает TLS в обёртке (зависит от реализации).
  • BOT_TOKEN — токен бота (секрет).
  • ROOT_TOKEN — токен суперпользователя/администратора (секрет).
  • LLM_AUTH_KEY — ключ доступа к LLM/внешнему API (base64/строка).
  • LLM_SCOPE — scope/назначение LLM-ключа (пример: GIGACHAT_API_PERS).

Переменные для postgres (контейнер):

  • POSTGRES_USER — имя пользователя БД.
  • POSTGRES_PASSWORD — пароль.
  • POSTGRES_DB — имя БД.

Переменные для frontend:

  • VITE_API_BASE — базовый URL API, который используется фронтендом (для production укажите публичный URL API). При локальном тестировании можно выставить http://localhost:3000.

Переменные для bot:

  • INVITE_SERVER_HOST, INVITE_SERVER_PORT — хост/порт сервера приглашений.
  • AGREEMENT_URL — ссылка на соглашение/контент.
  • API_BASE_URL — URL API (обычно http://api:3000 внутри сети Docker).
  • BOT_TOKEN, ROOT_TOKEN — токены (должны совпадать/быть валидными для API).

Пример шаблона .env

MODE=prod
PORT=3000
JWT_SECRET=your_jwt_secret
DB_CONNECTION_STRING=postgres://postgres:password@postgres:5432/maxhackathon?sslmode=disable
DB_MIGRATE=true
BOT_API_BASE=http://bot:5001
WRAPPER_TLS=false
BOT_TOKEN=your_bot_token
ROOT_TOKEN=your_root_token
LLM_AUTH_KEY=your_llm_key
LLM_SCOPE=GIGACHAT_API_PERS
VITE_API_BASE=http://localhost:3000
POSTGRES_USER=postgres
POSTGRES_PASSWORD=your_db_password
POSTGRES_DB=maxhackathon

Если нужна помощь с генерацией .env или изменением compose под production — скажите, какие значения вы хотите заменить.

About

[ETC] KeepTime - трекер задач (miniapp) в Max

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published