Files
hnh-map/docs/deployment.md
Nikolay Tatarinov 2c7bf48719 Implement OAuth login functionality and enhance documentation
- Added support for Google OAuth login, including new API endpoints for OAuth providers and callbacks.
- Updated user authentication logic to handle OAuth-only users.
- Enhanced README.md and deployment documentation with OAuth setup instructions.
- Modified frontend components to include OAuth login options and improved error handling.
- Updated configuration files to include new environment variables for OAuth integration.
2026-02-25 00:26:38 +03:00

2.5 KiB
Raw Blame History

Деплой

Docker

Образ собирается из репозитория. Внутри контейнера приложение слушает порт 8080 и ожидает, что каталог данных смонтирован в /map (база и изображения гридов).

Пример запуска:

docker run -v /srv/hnh-map:/map -p 80:8080 andyleap/hnh-auto-mapper:v-4

Или с переменными:

docker run -v /srv/hnh-map:/map -p 8080:8080 \
  -e HNHMAP_PORT=8080 \
  -e HNHMAP_BOOTSTRAP_PASSWORD=your-secure-password \
  andyleap/hnh-auto-mapper:v-4

Рекомендуется после первой настройки убрать или не передавать HNHMAP_BOOTSTRAP_PASSWORD.

OAuth (Google)

Для входа через Google OAuth:

  1. Создайте проект в Google Cloud Console.
  2. Включите «Google+ API» / «Google Identity» и создайте OAuth 2.0 Client ID (тип «Web application»).
  3. В настройках клиента добавьте Authorized redirect URI: https://your-domain.com/map/api/oauth/google/callback (замените на ваш домен).
  4. Задайте переменные окружения:
    • HNHMAP_OAUTH_GOOGLE_CLIENT_ID — Client ID
    • HNHMAP_OAUTH_GOOGLE_CLIENT_SECRET — Client Secret
    • HNHMAP_BASE_URL — полный URL приложения (например https://map.example.com) для формирования redirect_uri. Если не задан, берётся из Host и X-Forwarded-* заголовков.

Reverse proxy

Разместите сервис за nginx, Traefik, Caddy и т.п. на нужном домене. Проксируйте весь трафик на порт 8080 контейнера (или тот порт, на котором слушает приложение). Отдельная настройка для /map не обязательна: приложение само отдаёт SPA и API по путям /map/, /map/api/, /map/updates, /map/grids/.

Обновление и бэкапы

  • При обновлении образа сохраняйте volume с /map: в нём лежат grids.db и каталоги с тайлами.
  • Регулярно делайте бэкапы каталога данных (и при необходимости экспорт через админку «Export»).