Clean up: move docs to Obsidian vault, remove outdated md files

This commit is contained in:
2026-04-21 15:54:20 +05:00
parent 448403d7ee
commit 4c50036172
22 changed files with 1295 additions and 2869 deletions
-369
View File
@@ -1,369 +0,0 @@
# 🚀 Развёртывание Nanaxe Server на Proxmox VPS
## 📋 Содержание
1. [Подготовка VPS](#подготовка-vps)
2. [Установка Docker](#установка-docker)
3. [Настройка сервера](#настройка-сервера)
4. [Запуск](#запуск)
5. [Настройка домена и SSL](#настройка-домена-и-ssl)
6. [Подключение Flutter-приложения](#подключение-flutter-приложения)
---
## Подготовка VPS
### 1. Создание LXC контейнера в Proxmox
```bash
# На хосте Proxmox создайте контейнер
pct create 100 local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.zst \
--hostname nanaxe-server \
--memory 2048 \
--cores 2 \
--rootfs local-lvm:10 \
--net0 name=eth0,bridge=vmbr0,ip=dhcp
# Запустите контейнер
pct start 100
# Войдите в контейнер
pct enter 100
```
### 2. Обновление системы
```bash
apt update && apt upgrade -y
apt install -y curl wget git nano htop
```
---
## Установка Docker
```bash
# Установка Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
# Добавление пользователя в группу docker
usermod -aG docker $USER
# Установка Docker Compose
apt install -y docker-compose-plugin
# Проверка
docker --version
docker compose version
```
---
## Настройка сервера
### 1. Клонирование репозитория
```bash
cd /opt
git clone <your-repo-url> nanaxe-server
cd nanaxe-server/server
```
### 2. Настройка переменных окружения
```bash
cp .env.example .env
nano .env
```
Заполните файл:
```env
# Domain configuration
GITEA_DOMAIN=your-domain.com
# Gitea Configuration
GITEA_TOKEN=your_gitea_api_token_here
# Security (сгенерируйте случайный ключ)
JWT_SECRET=$(openssl rand -base64 32)
# WebDAV (optional)
WEBDAV_USER=admin
WEBDAV_PASSWORD=your_secure_password
# Database (обязательно измените!)
POSTGRES_PASSWORD=$(openssl rand -base64 24)
```
### 3. Создание директорий
```bash
mkdir -p api/logs
mkdir -p nginx/html
```
---
## Запуск
### 1. Первый запуск
```bash
docker compose up -d
```
### 2. Проверка статуса
```bash
docker compose ps
docker compose logs -f
```
### 3. Инициализация Gitea
Откройте `http://your-server-ip:3000` и выполните первоначальную настройку:
1. Установите базу данных (уже настроена PostgreSQL)
2. Создайте администратора
3. Создайте API токен в Settings → Applications
4. Добавьте токен в `.env` файл
```bash
# Перезапустите сервисы
docker compose restart
```
---
## Настройка домена и SSL
### 1. Настройка DNS
Укажите A-записи:
- `your-domain.com` → IP сервера
- `git.your-domain.com` → IP сервера
- `api.your-domain.com` → IP сервера
### 2. Установка Certbot
```bash
apt install -y certbot
# Получение сертификатов
certbot certonly --standalone -d your-domain.com -d git.your-domain.com -d api.your-domain.com
```
### 3. Настройка Nginx
Отредактируйте `nginx/nginx.conf`:
```nginx
# Раскомментируйте HTTPS server section
server {
listen 443 ssl http2;
server_name your-domain.com;
ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
# ... rest of config
}
```
### 4. Обновление docker-compose.yml
Добавьте volume для SSL сертификатов:
```yaml
nginx:
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./nginx/html:/usr/share/nginx/html:ro
- /etc/letsencrypt:/etc/letsencrypt:ro # Добавьте это
```
### 5. Перезапуск
```bash
docker compose down
docker compose up -d
```
---
## Подключение Flutter-приложения
### 1. Настройка сервера в приложении
```dart
import 'package:nanaxe_crm/core/nanaxe_server_service.dart';
final serverService = NanaxeServerService();
// При инициализации
await serverService.initialize();
// Если не настроен - настройте
if (!serverService.isConfigured) {
await serverService.configure(
'https://api.your-domain.com',
);
}
// Проверка соединения
final isConnected = await serverService.checkConnection();
```
### 2. Авторизация
```dart
// Регистрация
await serverService.register(
'user@example.com',
'password',
'username',
);
// Или вход
await serverService.login(
'user@example.com',
'password',
);
```
### 3. Работа с mindmaps
```dart
// Получение списка
final mindmaps = await serverService.getMindMaps();
// Создание
final newMap = await serverService.createMindMap(
title: 'My Project',
description: 'Project planning',
nodes: [
{'id': '1', 'title': 'Root', 'level': 0, 'parentId': null},
{'id': '2', 'title': 'Task 1', 'level': 1, 'parentId': '1'},
],
);
// Синхронизация с Gitea
await serverService.pushToGitea(commitMessage: 'Updated project plan');
```
---
## 🔧 Обслуживание
### Обновление
```bash
cd /opt/nanaxe-server/server
git pull
docker compose pull
docker compose up -d
```
### Бэкап
```bash
# Бэкап данных
tar -czf backup-$(date +%Y%m%d).tar.gz /opt/nanaxe-server/server
# Или бэкап volumes
docker run --rm -v nanaxe-server_mindmap-data:/data -v $(pwd):/backup alpine tar czf /backup/mindmaps-backup.tar.gz -C /data .
```
### Мониторинг
```bash
# Логи
docker compose logs -f
# Статистика
docker stats
# Дисковое пространство
df -h
docker system df
```
---
## 🌐 Доступ к сервисам
После развёртывания:
| Сервис | URL | Описание |
|--------|-----|----------|
| Web UI | `http://your-domain.com` | Главная страница |
| Gitea | `http://your-domain.com:3000` | Git репозиторий |
| API | `http://your-domain.com:8080` | REST API |
| WebDAV | `http://your-domain.com:8081` | Прямой доступ к файлам |
---
## 📱 Obsidian Интеграция
### 1. Git Sync плагин
Установите плагин **Obsidian Git** и настройте:
```bash
# В настройках плагина
Remote URL: http://your-domain.com:3000/username/mindmaps.git
```
### 2. Прямой доступ через WebDAV
Установите плагин **Remote Save** и настройте WebDAV:
```
URL: http://your-domain.com:8081
Username: admin
Password: your_secure_password
```
---
## 🆘 Устранение неполадок
### Проблема: Порты заняты
```bash
# Проверка занятых портов
netstat -tlnp | grep -E '3000|8080|80'
# Измените порты в docker-compose.yml
```
### Проблема: Permission denied
```bash
# Проверьте права
ls -la /opt/nanaxe-server/server
# Исправьте
chown -R $USER:$USER /opt/nanaxe-server/server
```
### Проблема: Контейнеры не запускаются
```bash
# Проверьте логи
docker compose logs
# Пересоберите
docker compose down
docker compose build --no-cache
docker compose up -d
```
---
## 📚 Дополнительно
- [Gitea Documentation](https://docs.gitea.io/)
- [Docker Documentation](https://docs.docker.com/)
- [Nginx Documentation](https://nginx.org/en/docs/)
-164
View File
@@ -1,164 +0,0 @@
# 🔗 Интеграция 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`