# Writer IDE Fullstack IDE для написания и редактирования текстов с интеграцией AI. ## 📁 Структура проекта ``` writer-ide/ ├── frontend/ # Next.js приложение ├── backend/ # FastAPI сервер ├── .gitea/workflows/ # CI/CD pipelines └── docker-compose.yml # Оркестрация контейнеров ``` ## 🚀 CI/CD и Деплой Проект настроен на автоматическую сборку и публикацию Docker-образов через **Gitea Actions**. ### Как это работает: 1. При пуше в ветку `main`/`master` или создании тега (например, `v1.0.0`) запускается workflow `.gitea/workflows/ci.yml`. 2. Собираются образы `backend` и `frontend` с использованием Docker Buildx и кэширования. 3. Образы публикуются во встроенный **Gitea Container Registry**. 4. (Опционально) Workflow `deploy.yml` автоматически подключается к серверу по SSH, стягивает новые образы и перезапускает сервисы через `docker-compose`. ### Настройка секретов в репозитории Gitea: Перейдите в **Settings → Secrets and variables → Actions** и добавьте: - `GITEA_TOKEN` — токен с доступом к Container Registry (используется в ci.yml) - `DEPLOY_HOST` — IP или домен вашего сервера - `DEPLOY_USER` — Имя пользователя для SSH - `DEPLOY_SSH_KEY` — Приватный SSH-ключ (без парольной фразы) для подключения к серверу ### Включение Actions в репозитории: Убедитесь, что в настройках репозитория (**Settings → Repository**) включена опция **Enable Actions**. ## 🛠 Разработка ### Установка зависимостей #### Frontend (Next.js) ```bash cd frontend npm install ``` #### Backend (FastAPI) ```bash cd backend pip install -r requirements.txt ``` ### Запуск в режиме разработки #### Frontend ```bash cd frontend npm run dev ``` #### Backend ```bash cd backend uvicorn main:app --reload ``` ## 🐳 Docker ### Сборка образов ```bash docker-compose build ``` ### Запуск ```bash docker-compose up ``` ### Остановка ```bash docker-compose down ``` ## 📄 Лицензия MIT