107 lines
3.2 KiB
Markdown
107 lines
3.2 KiB
Markdown
# Быстрый старт с 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/`
|