app v1
This commit is contained in:
155
mvpDocker
Normal file
155
mvpDocker
Normal file
@@ -0,0 +1,155 @@
|
||||
🐳 DOCKERIZATION (ОБЯЗАТЕЛЬНО)
|
||||
🎯 Цель
|
||||
|
||||
Весь проект должен запускаться одной командой через Docker, без ручной установки зависимостей на хост-машине.
|
||||
|
||||
📦 Требования к Docker
|
||||
1. Общие требования
|
||||
|
||||
Использовать Docker + Docker Compose
|
||||
|
||||
Проект должен запускаться командой:
|
||||
|
||||
docker-compose up --build
|
||||
|
||||
|
||||
После запуска:
|
||||
|
||||
Backend доступен на http://localhost:8000
|
||||
|
||||
Frontend доступен на http://localhost:5173 (или 3000)
|
||||
|
||||
🧩 Архитектура контейнеров
|
||||
🔹 Контейнер 1 — Backend
|
||||
|
||||
Содержит:
|
||||
|
||||
Python 3.11+
|
||||
|
||||
FastAPI
|
||||
|
||||
FFmpeg (обязательно установлен внутри контейнера)
|
||||
|
||||
MoviePy
|
||||
|
||||
Все Python-зависимости
|
||||
|
||||
Требования:
|
||||
|
||||
FFmpeg должен быть доступен через CLI (ffmpeg -version)
|
||||
|
||||
Видео и временные файлы хранятся в volume
|
||||
|
||||
Поддержка долгих задач (video rendering)
|
||||
|
||||
🔹 Контейнер 2 — Frontend
|
||||
|
||||
Содержит:
|
||||
|
||||
Node.js 18+
|
||||
|
||||
Vue 3
|
||||
|
||||
Vite
|
||||
|
||||
Требования:
|
||||
|
||||
Горячая перезагрузка (dev mode)
|
||||
|
||||
API-запросы проксируются на backend
|
||||
|
||||
📁 Структура проекта (обязательная)
|
||||
project-root/
|
||||
│
|
||||
├── backend/
|
||||
│ ├── app/
|
||||
│ ├── requirements.txt
|
||||
│ ├── Dockerfile
|
||||
│
|
||||
├── frontend/
|
||||
│ ├── src/
|
||||
│ ├── package.json
|
||||
│ ├── Dockerfile
|
||||
│
|
||||
├── media/
|
||||
│ ├── audio/
|
||||
│ ├── backgrounds/
|
||||
│ ├── posters/
|
||||
│
|
||||
├── output/
|
||||
│ └── videos/
|
||||
│
|
||||
├── docker-compose.yml
|
||||
└── README.md
|
||||
|
||||
🐳 Backend Dockerfile — требования
|
||||
|
||||
Базовый образ: python:3.11-slim
|
||||
|
||||
Установка FFmpeg через apt
|
||||
|
||||
Установка Python-зависимостей
|
||||
|
||||
Запуск FastAPI через uvicorn
|
||||
|
||||
🐳 Frontend Dockerfile — требования
|
||||
|
||||
Базовый образ: node:18
|
||||
|
||||
Установка зависимостей
|
||||
|
||||
Запуск Vite dev server
|
||||
|
||||
🔁 Volumes (обязательно)
|
||||
volumes:
|
||||
- ./media:/app/media
|
||||
- ./output:/app/output
|
||||
|
||||
|
||||
Чтобы:
|
||||
|
||||
не терять видео при перезапуске
|
||||
|
||||
удобно подменять контент
|
||||
|
||||
🧪 Проверка Docker-сборки (Acceptance)
|
||||
|
||||
После docker-compose up:
|
||||
|
||||
Frontend открывается в браузере
|
||||
|
||||
Backend отвечает на /health
|
||||
|
||||
Генерация видео работает
|
||||
|
||||
FFmpeg корректно вызывается
|
||||
|
||||
MP4 сохраняется в /output/videos
|
||||
|
||||
⚠️ ВАЖНО для AI
|
||||
|
||||
При генерации кода:
|
||||
|
||||
обязательно показать Dockerfile для backend
|
||||
|
||||
обязательно показать Dockerfile для frontend
|
||||
|
||||
обязательно показать docker-compose.yml
|
||||
|
||||
код должен работать без ручной донастройки
|
||||
|
||||
📌 Итог
|
||||
|
||||
AI должен выдать:
|
||||
|
||||
Backend код
|
||||
|
||||
Frontend (Vue) код
|
||||
|
||||
FFmpeg пайплайн
|
||||
|
||||
Dockerfile (2 шт.)
|
||||
|
||||
docker-compose.yml
|
||||
|
||||
Инструкцию запуска
|
||||
Reference in New Issue
Block a user