Files
Avtex/server/INTEGRATION_GUIDE.md
T

165 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🔗 Интеграция Nanaxe Server с Consyscab
Это руководство по добавлению Nanaxe Server в существующую инфраструктуру Consyscab.
## 📁 Структура файлов
```
project-root/
├── docker-compose.yml # Объединённый файл
├── docker/
│ ├── nginx/
│ │ └── conf.d/
│ │ ├── default.conf # Существующий конфиг
│ │ └── nanaxe.conf # Новый: конфиг Nanaxe
│ ├── php/
│ └── postgres/
│ └── init-db.sh
├── nanaxe/ # Новая папка
│ ├── api/ # Nanaxe API код
│ │ ├── Dockerfile
│ │ ├── package.json
│ │ └── src/
│ ├── nginx/
│ │ └── nanaxe.conf # Nginx конфиг для Nanaxe
│ ├── html/ # Статические файлы
│ │ └── index.html
│ └── postgres-init/
│ └── init-gitea.sql # Инициализация БД Gitea
├── backend/ # Symfony
├── frontend/ # Quasar
├── moodle/ # Moodle
└── .env # Переменные окружения
```
## 🚀 Быстрый старт
### 1. Скопируйте файлы Nanaxe
```bash
# Скопируйте папку nanaxe/ в корень проекта вашего друга
cp -r /path/to/nanaxe/server/nanaxe ./
# Скопируйте объединённый docker-compose.yml
cp /path/to/nanaxe/server/docker-compose.integrated.yml ./docker-compose.yml
```
### 2. Обновите .env
Добавьте в `.env`:
```env
# Nanaxe Configuration
GITEA_DOMAIN=git.yourdomain.com
GITEA_SECRET_KEY=$(openssl rand -base64 32)
GITEA_TOKEN=
NANAXE_JWT_SECRET=$(openssl rand -base64 32)
WEBDAV_USER=admin
WEBDAV_PASSWORD=$(openssl rand -base64 16)
DB_PASSWORD=your_postgres_password
```
### 3. Настройте DNS
Настройте поддомены:
- `git.yourdomain.com` → IP сервера
- `api.yourdomain.com` → IP сервера
- `nanaxe.yourdomain.com` → IP сервера (опционально)
### 4. Запустите
```bash
docker compose down
docker compose up -d --build
```
## 🔧 Ручная интеграция (если не хотите заменять docker-compose.yml)
### Добавьте сервисы в существующий docker-compose.yml:
```yaml
# Nanaxe Gitea
nanaxe_gitea:
image: gitea/gitea:latest
container_name: nanaxe_gitea
environment:
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=consyscab_db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=user
- GITEA__database__PASSWD=${DB_PASSWORD}
volumes:
- gitea_data:/data
networks:
- consyscab-network
# Nanaxe API
nanaxe_api:
build:
context: ./nanaxe/api
container_name: nanaxe_api
environment:
- NODE_ENV=production
- PORT=8080
- GITEA_URL=http://nanaxe_gitea:3000
- JWT_SECRET=${NANAXE_JWT_SECRET}
volumes:
- mindmap_data:/app/mindmaps
networks:
- consyscab-network
volumes:
pg_data:
gitea_data: # Добавьте
mindmap_data: # Добавьте
```
### Добавьте в nginx конфиг:
Создайте файл `docker/nginx/conf.d/nanaxe.conf`:
```nginx
server {
listen 80;
server_name git.yourdomain.com;
location / {
proxy_pass http://nanaxe_gitea:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
server {
listen 80;
server_name api.yourdomain.com;
location / {
proxy_pass http://nanaxe_api:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
```
## ✅ Проверка
```bash
# Проверьте статус
docker compose ps
# Проверьте API
curl http://api.yourdomain.com/health
# Откройте Gitea
open http://git.yourdomain.com
```
## 📝 Примечания
- Nanaxe использует ту же PostgreSQL базу, что и Consyscab
- Nginx вашего друга проксирует запросы к Nanaxe
- Все сервисы в одной Docker сети `consyscab-network`
- Данные Gitea хранятся в volume `gitea_data`
- Mindmaps хранятся в volume `mindmap_data`