Files
writer-ide/backend/README.md
T
admin 46af290db3
Build and Push Docker Images / build-and-push (push) Failing after 3m33s
initial commit
2026-11-07 16:39:43 +03:00

92 lines
3.1 KiB
Markdown

# Writer IDE Backend
## Установка
```bash
cd backend
python3 -m venv venv
source venv/bin/activate # На Windows: venv\Scripts\activate
pip install -r requirements.txt
```
## Переменные окружения
Все настройки читаются из переменных окружения. Создайте файл `.env` на основе `.env.example`:
```bash
cp .env.example .env
# Отредактируйте .env, указав ваши значения
```
### Ключевые переменные
| Переменная | Описание | По умолчанию |
|------------|----------|--------------|
| `OPENROUTER_API_KEY` | API ключ OpenRouter | (пусто) |
| `OPENROUTER_BASE_URL` | URL OpenRouter API | https://openrouter.ai/api/v1 |
| `OLLAMA_BASE_URL` | URL Ollama сервера | http://localhost:11434 |
| `DATA_DIR` | Путь к папке с данными | data |
| `CORS_ORIGINS` | Разрешённые источники (через запятую) | http://localhost:3000 |
| `JWT_SECRET_KEY` | Секрет для JWT токенов | (захардкожен, изменить в production!) |
| `ENVIRONMENT` | Окружение | development |
### Docker-окружение
При запуске в Docker используйте файл `.env.docker` как шаблон:
```bash
cp .env.docker .env
```
Обратите внимание:
- `OLLAMA_BASE_URL` должен указывать на контейнер Ollama (например, http://ollama:11434)
- `DATA_DIR` должен быть `/app/data` (монтируется volume)
- `CORS_ORIGINS` должен включать домен/IP вашего сервера
- `JWT_SECRET_KEY` **обязательно** измените на случайную строку!
## Запуск
```bash
uvicorn main:app --reload --host 0.0.0.0 --port 8000
```
## Проверка
- API Health: http://localhost:8000/api/health
- Swagger UI: http://localhost:8000/docs
## Если возникли проблемы с Python 3.14
Если пакеты не устанавливаются, используйте pyenv для создания окружения с Python 3.12:
```bash
pyenv install 3.12.0
pyenv local 3.12.0
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
## Установка Pandoc (для экспорта в EPUB, FB2, PDF, DOCX)
Для работы функции экспорта необходимо установить [Pandoc](https://pandoc.org/) — универсальный конвертер документов.
### Ubuntu / Debian
```bash
sudo apt-get install pandoc
```
### macOS
```bash
brew install pandoc
```
### Windows
Скачайте установщик с официального сайта: [pandoc.org/installing.html](https://pandoc.org/installing.html)
### Проверка установки
```bash
pandoc --version
```
> **Примечание:** Для экспорта в PDF также требуется LaTeX-движок (например, `texlive-xetex` на Ubuntu или `MacTeX` на macOS). По умолчанию используется `xelatex`.