Enhance Dockerfile and documentation for GeoIP directory permissions
Publish telemt-api gateway Docker image / test (push) Successful in 27s
Publish telemt-api gateway Docker image / build-and-push (push) Successful in 1m27s

- Updated Dockerfile to create and set ownership for the /var/lib/telemt-gateway directory, ensuring the gateway user has the necessary permissions.
- Added documentation in GEOIP.md to clarify directory permissions required for GeoIP data downloads, including guidance on volume mounting and user ID consistency.
This commit is contained in:
Denozordec
2026-03-30 01:54:29 +07:00
parent b259d759fd
commit 2a8390e687
3 changed files with 15 additions and 5 deletions
+8
View File
@@ -35,6 +35,14 @@ geoip:
- Если локального файла нет, а указан соответствующий `*_download_url`, при старте выполняется загрузка.
- URL с суффиксом **`.gz`** обрабатываются как gzip; иначе тело ответа пишется в файл как есть (подходит для GitHub raw `.mmdb`).
### Права на каталог (permission denied)
Загрузка пишет файл во **всех** родительские каталоги `database_path` / `asn_database_path` (создаёт их через `mkdir`, если возможно). Процесс шлюза должен иметь право **создавать каталог** и **писать** в него.
- **Docker-образ** этого репозитория создаёт `/var/lib/telemt-gateway` и отдаёт его пользователю `gateway` — пути из примера выше подходят из коробки.
- Если вы монтируете свой volume на этот путь, убедитесь, что uid/gid совпадают с пользователем контейнера (например `65532`) или задайте в конфиге путь внутри уже доступного тома.
- Для быстрого теста без `/var/lib` можно указать, например, **`/tmp/telemt-gateway/GeoLite2-City.mmdb`** (учтите, что `/tmp` может очищаться).
## Лицензия
GeoLite2 распространяется MaxMind на условиях [лицензии](https://dev.maxmind.com/geoip/geolite2-free-data-feed). Сторонние зеркала и репозитории используйте на свой риск; для продакшена часто нужен свой ключ MaxMind и обновление БД.