89 lines
2.6 KiB
Markdown
89 lines
2.6 KiB
Markdown
# 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
|