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