Files
anime-qize/mvpDocker
2025-12-30 17:37:14 +03:00

155 lines
3.2 KiB
Plaintext
Raw Permalink 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.
🐳 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
Инструкцию запуска