# 🚀 Docker Quick Start - AKNAPROFF Tootmine ## Быстрый запуск в 3 команды ### Development режим: ```bash # 1. Перейти в папку проекта cd /path/to/webapp # 2. Запустить Docker Compose docker-compose up # 3. Открыть браузер http://localhost:3000 ``` ✅ **БД будет храниться в `.wrangler/state/v3/d1/webapp-production.sqlite`** --- ## Где хранится база данных? ### Development: ``` ./webapp/.wrangler/state/v3/d1/webapp-production.sqlite ✅ На вашем диске! ``` ### Production: ``` ./webapp/data/db/webapp-production.sqlite ✅ На вашем диске! ``` **Важно:** БД НЕ в Docker volume, а в папке проекта! --- ## Основные команды ```bash # Запустить docker-compose up # Запустить в background docker-compose up -d # Остановить docker-compose down # Посмотреть логи docker-compose logs -f # Зайти в контейнер docker-compose exec webapp sh # Бэкап БД ./backup.sh ``` --- ## Production режим ```bash # 1. Создать папку для БД mkdir -p data/db # 2. Build и запуск docker-compose -f docker-compose.prod.yml up --build -d # 3. Проверить логи docker-compose -f docker-compose.prod.yml logs -f ``` ✅ **БД будет в `./data/db/webapp-production.sqlite`** --- ## Бэкап базы данных ```bash # Автоматический бэкап ./backup.sh # Ручной бэкап cp .wrangler/state/v3/d1/webapp-production.sqlite \ backup-$(date +%Y%m%d).sqlite ``` Бэкапы сохраняются в папке `./backups/` --- ## Сброс базы данных ```bash # Через Docker docker-compose exec webapp npm run db:reset # Или удалить и пересоздать docker-compose down rm -rf .wrangler/state/v3/d1 docker-compose up ``` --- ## Troubleshooting ### Порт 3000 занят ```bash # Убить процесс fuser -k 3000/tcp # Или изменить порт в docker-compose.yml ports: - "3001:3000" ``` ### Контейнер не запускается ```bash # Пересобрать без кэша docker-compose down -v docker-compose build --no-cache docker-compose up ``` ### БД не создаётся ```bash # Зайти в контейнер и сбросить БД docker-compose exec webapp sh npm run db:reset exit ``` --- ## Полная документация Смотрите **[DOCKER_GUIDE.md](DOCKER_GUIDE.md)** для подробной информации: - Структура файлов - Мониторинг - Best practices - Полный troubleshooting --- ## ✅ Проверка После запуска проверьте: 1. **Приложение работает:** ```bash curl http://localhost:3000 ``` 2. **БД создалась:** ```bash ls -lh .wrangler/state/v3/d1/webapp-production.sqlite ``` 3. **Health check OK:** ```bash docker-compose ps # Должно быть: (healthy) ``` 4. **Демо-данные загружены:** ```bash sqlite3 .wrangler/state/v3/d1/webapp-production.sqlite \ "SELECT COUNT(*) FROM production_records" # Должно быть: 7 ``` --- **🎉 Готово! AKNAPROFF работает в Docker с локальной БД!** **URL:** http://localhost:3000 **Demo:** `admin` / `demo123` или **Public User** (без логина) **БД:** `.wrangler/state/v3/d1/webapp-production.sqlite`