Files
Aknaproff/DOCKER_QUICKSTART.md
Deploy Bot 64403d6fd6 v4.1.21: Реструктуризация проекта для Synology ARM
- Реструктуризация: 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
2026-01-14 18:37:00 +02:00

185 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🚀 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`