Add auto-deploy workflow and fix dashboard URLs

This commit is contained in:
2026-04-20 22:44:10 +05:00
parent 53bfb305c6
commit b281778792
7 changed files with 593 additions and 3 deletions
+164
View File
@@ -0,0 +1,164 @@
# 🔗 Интеграция 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`