46 lines
2 KiB
Markdown
46 lines
2 KiB
Markdown
## 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>/...`
|