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

3.5 KiB
Raw Blame History

🚀 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

Проверка

После запуска проверьте:

  1. Приложение работает:

    curl http://localhost:3000
    
  2. БД создалась:

    ls -lh .wrangler/state/v3/d1/webapp-production.sqlite
    
  3. Health check OK:

    docker-compose ps
    # Должно быть: (healthy)
    
  4. Демо-данные загружены:

    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