# Быстрый старт с Docker

## Development (разработка)

```bash
# 1. Скопировать переменные окружения
cp .env.dev .env

# 2. Запустить контейнеры
make dev-up
# или
docker-compose up -d --build

# 3. Создать суперпользователя
make createsuperuser
# или
docker-compose exec web python manage.py createsuperuser

# 4. Открыть в браузере
# Django: http://localhost:8000
# Admin: http://localhost:8000/admin
# TileServer: http://localhost:8080
```

## Production (продакшн)

```bash
# 1. Скопировать и настроить переменные
cp .env.prod .env
nano .env  # Измените SECRET_KEY, пароли, ALLOWED_HOSTS

# 2. Запустить контейнеры
make prod-up
# или
docker-compose -f docker-compose.prod.yaml up -d --build

# 3. Создать суперпользователя
make prod-createsuperuser
# или
docker-compose -f docker-compose.prod.yaml exec web python manage.py createsuperuser

# 4. Открыть в браузере
# Nginx: http://localhost
# Django: http://localhost:8000
# TileServer: http://localhost:8080
```

## Полезные команды

```bash
# Просмотр логов
make dev-logs          # development
make prod-logs         # production

# Остановка
make dev-down          # development
make prod-down         # production

# Перезапуск после изменений
make dev-build         # development
make prod-build        # production

# Django shell
make shell             # development
make prod-shell        # production

# Миграции
make migrate           # development
make prod-migrate      # production

# Backup БД
make backup

# Статус контейнеров
make status            # development
make prod-status       # production
```

## Структура проекта

```
.
├── dbapp/                      # Django приложение
│   ├── Dockerfile             # Универсальный Dockerfile
│   ├── entrypoint.sh          # Скрипт запуска
│   ├── manage.py
│   └── ...
├── nginx/                      # Nginx (только prod)
│   └── conf.d/
│       └── default.conf
├── tiles/                      # Тайлы для TileServer GL
│   ├── README.md
│   └── config.json.example
├── docker-compose.yaml         # Development
├── docker-compose.prod.yaml    # Production
├── .env.dev                    # Переменные dev
├── .env.prod                   # Переменные prod
├── Makefile                    # Команды для удобства
└── DOCKER_README.md            # Подробная документация
```

## Что дальше?

1. Прочитайте [DOCKER_README.md](DOCKER_README.md) для подробной информации
2. Настройте TileServer GL - см. [tiles/README.md](tiles/README.md)
3. Для production настройте SSL сертификаты в `nginx/ssl/`
