This commit is contained in:
commit
46af290db3
100 files changed
+16663
No files matched your search
@@ -0,0 +1,91 @@
|
||||
# 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`.
|
||||
Reference in new issue
Block a user