Files
Avtex/server/INTEGRATION_GUIDE.md
T

4.5 KiB
Raw Blame History

🔗 Интеграция 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

# Скопируйте папку 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:

# 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. Запустите

docker compose down
docker compose up -d --build

🔧 Ручная интеграция (если не хотите заменять docker-compose.yml)

Добавьте сервисы в существующий docker-compose.yml:

  # 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:

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;
    }
}

✅ Проверка

# Проверьте статус
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