gnss/Docs/nuitka.md

46 lines
2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 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/<tileset>/...`
- `$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/<name>/...`