- Реструктуризация: src/ разбит на middleware/, utils/, repositories/ (удалены), routes/ (удалены) - Добавлен src/original-html.ts — полный HTML с reportModal - Добавлен src/index.tsx.backup — React-компонент с reportModal - Миграции переименованы (0001_initial_schema.sql) - Добавлена миграция 0018 (удалена позже) - Docker: multi-stage build, wrangler.toml - Frontend: public/static/app.js + style.css - seed.sql добавлен - Документация: CHANGELOG, CHANGES_v4.1.0-4.1.9, PROJECT_STRUCTURE
3.5 KiB
3.5 KiB
🚀 Docker Quick Start - AKNAPROFF Tootmine
Быстрый запуск в 3 команды
Development режим:
# 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, а в папке проекта!
Основные команды
# Запустить
docker-compose up
# Запустить в background
docker-compose up -d
# Остановить
docker-compose down
# Посмотреть логи
docker-compose logs -f
# Зайти в контейнер
docker-compose exec webapp sh
# Бэкап БД
./backup.sh
Production режим
# 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
Бэкап базы данных
# Автоматический бэкап
./backup.sh
# Ручной бэкап
cp .wrangler/state/v3/d1/webapp-production.sqlite \
backup-$(date +%Y%m%d).sqlite
Бэкапы сохраняются в папке ./backups/
Сброс базы данных
# Через Docker
docker-compose exec webapp npm run db:reset
# Или удалить и пересоздать
docker-compose down
rm -rf .wrangler/state/v3/d1
docker-compose up
Troubleshooting
Порт 3000 занят
# Убить процесс
fuser -k 3000/tcp
# Или изменить порт в docker-compose.yml
ports:
- "3001:3000"
Контейнер не запускается
# Пересобрать без кэша
docker-compose down -v
docker-compose build --no-cache
docker-compose up
БД не создаётся
# Зайти в контейнер и сбросить БД
docker-compose exec webapp sh
npm run db:reset
exit
Полная документация
Смотрите DOCKER_GUIDE.md для подробной информации:
- Структура файлов
- Мониторинг
- Best practices
- Полный troubleshooting
✅ Проверка
После запуска проверьте:
-
Приложение работает:
curl http://localhost:3000 -
БД создалась:
ls -lh .wrangler/state/v3/d1/webapp-production.sqlite -
Health check OK:
docker-compose ps # Должно быть: (healthy) -
Демо-данные загружены:
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