CDN + API для лаунчера OmkalityCraft.
- Python 3.14.2
- uv
- Docker и Docker Compose, если запускаете в контейнере
.env:
API_HOST=0.0.0.0
API_PORT=8000
WORKERS_NUM=4
HOST_CONTENT_ROOT=./data/content
CONTENT_ROOT=/data/contentСтруктура контента:
data/content/
launcher/
files/
manifest.json
instances/
<instance_id>/
files/
manifest.json
instance_config.json
launch_profile.json
docker compose up -d --buildПроверка:
curl http://localhost:8000/healthcurl http://localhost:8000/versionОстановка:
docker compose downСоздать виртуальное окружение и установить зависимости из всех групп:
uv venv --python 3.14.2uv sync --all-groupsАктивировать окружение в PowerShell:
.venv\Scripts\Activate.ps1Установить pre-commit hooks:
uv run pre-commit installЗапустить все проверки вручную:
uv run pre-commit run --all-filesСобрать data/content из локального лаунчера:
uv run python scripts/stage_launcher_content.py --source-root C:\Users\omka\Projects\omkality_launcherСкрипт копирует bootstrap-файлы лаунчера, divinejourney2, создаёт
instance_config.json, launch_profile.json и генерирует manifest-файлы.
Правила берутся из src/settings.
После запуска API можно проверить endpoints:
curl http://localhost:8000/instancescurl http://localhost:8000/launcher/manifestcurl http://localhost:8000/instances/divinejourney2/launch-profileТекущий CLI-прототип лаунчера лежит в client/launcher.py. Для ручной проверки
его можно положить в корень тестовой копии лаунчера и запустить:
$env:OMKALITY_API_URL="http://localhost:8000"python launcher.pyМанифест лаунчера:
uv run python scripts/generate_manifest.py launcherМанифест инстанса:
uv run python scripts/generate_manifest.py instance divinejourney2Настройки manifest, instance_config и launch_profile лежат здесь:
src/settings/launcher/manifest.json
src/settings/instances/divinejourney2/manifest.json
src/settings/instances/divinejourney2/instance_config.json
src/settings/instances/divinejourney2/launch_profile.json
Например, JVM-память меняется в launch_profile.json, а правила игнора и
soft-managed файлов — в instance_config.json.
После запуска Swagger UI доступен по адресу:
http://localhost:8000/docs
Корневой адрес http://localhost:8000 автоматически перенаправляет на документацию.