Files
anime-qize/mvpDocker

155 lines
3.2 KiB
Plaintext
Raw Normal View History

2025-12-30 17:37:14 +03:00
🐳 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
Инструкцию запуска