## Nuitka build (backend) ### Важно - `gdal2tiles.py` и GDAL — это системные бинарники/библиотеки, Nuitka их не “впаяет” в один файл. На целевой машине GDAL всё равно должен быть установлен, если ты используешь `/tiles/slice` (нарезку). - Для onefile-режима бинарник распаковывается во временную папку, поэтому проектные папки внутри пакета не должны использоваться для записи. В коде это решено через `GNSS_DATA_DIR`. ### Где лежат данные По умолчанию: - в обычном режиме (запуск из исходников) данные лежат рядом с пакетом (`gnss/`). - в “замороженном” режиме (`nuitka --onefile`) данные идут в `~/.local/share/gnss`. Можно переопределить: - `GNSS_DATA_DIR=/path/to/data` Структура: - `$GNSS_DATA_DIR/tilesets//...` - `$GNSS_DATA_DIR/uploads/...` - `$GNSS_DATA_DIR/tiles/...` (опционально) ### Запуск без Nuitka (для проверки) `poetry run gnss-backend --host 0.0.0.0 --port 8000` ### Установка Nuitka (в Poetry) Рекомендовано держать Nuitka как dev-зависимость: `poetry add --group dev nuitka` ### Сборка (standalone + onefile) Пример: `poetry run python -m nuitka --onefile --standalone --follow-imports --assume-yes-for-downloads --output-dir=dist --output-filename=gnss-backend gnss/__main__.py` После сборки: - бинарник будет в `dist/` (например `dist/gnss-backend.bin`) ### Запуск бинарника `GNSS_DATA_DIR=./data ./dist/gnss-backend.bin --host 0.0.0.0 --port 8000` Положи tileset’ы сюда: - `./data/tilesets//...`