# 🚀 Деплой Nanaxe Server на существующий Docker сервер Если у вас уже работает другой проект на Docker, Nanaxe Server можно развернуть на других портах. ## 📋 Маппинг портов | Сервис | Внутренний порт | Внешний порт | Описание | |--------|----------------|--------------|----------| | Gitea | 3000 | **3001** | Git сервер | | Gitea SSH | 22 | **2221** | Git SSH | | PostgreSQL | 5432 | **5433** | База данных | | Nanaxe API | 8080 | **8082** | REST API | | Nginx | 80 | **8083** | Web UI | | Nginx HTTPS | 443 | **8444** | Web UI SSL | | WebDAV | 80 | **8084** | Файловый доступ | ## 🚀 Быстрый старт ### 1. На сервере создайте директорию ```bash ssh root@YOUR_SERVER_IP mkdir -p /opt/nanaxe-server cd /opt/nanaxe-server ``` ### 2. Скопируйте файлы ```bash # Клонируйте репозиторий git clone https://github.com/YOUR_USERNAME/NANAXE.git temp cp -r temp/server/* . rm -rf temp ``` ### 3. Настройте окружение ```bash cp .env.example .env nano .env ``` Заполните: ```env GITEA_DOMAIN=your-domain.com JWT_SECRET=your-secret-key POSTGRES_PASSWORD=your-db-password WEBDAV_USER=admin WEBDAV_PASSWORD=your-password ``` ### 4. Запустите ```bash docker compose up -d ``` ### 5. Проверьте ```bash # Проверьте статус docker compose ps # Проверьте логи docker compose logs -f # Проверьте API curl http://localhost:8082/health # Откройте Gitea open http://YOUR_SERVER_IP:3001 ``` ## 🔧 Настройка Nginx Reverse Proxy (опционально) Если у вас уже есть Nginx для другого проекта, добавьте: ```nginx # /etc/nginx/sites-available/nanaxe server { listen 80; server_name nanaxe.yourdomain.com; location / { proxy_pass http://localhost:8083; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } server { listen 80; server_name git.yourdomain.com; location / { proxy_pass http://localhost:3001; 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://localhost:8082; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } ``` ```bash ln -s /etc/nginx/sites-available/nanaxe /etc/nginx/sites-enabled/ nginx -t systemctl reload nginx ``` ## 🔄 GitHub Actions деплой ### 1. Добавьте Secrets В GitHub репозитории: **Settings → Secrets → Actions** ``` NANAXE_SSH_KEY=-----BEGIN OPENSSH PRIVATE KEY----- (приватный ключ) -----END OPENSSH PRIVATE KEY----- NANAXE_HOST=YOUR_SERVER_IP NANAXE_USER=root NANAXE_PATH=/opt/nanaxe-server ``` ### 2. Workflow уже настроен При push в `master` ветку: 1. Собирается Docker образ 2. Публикуется в GitHub Container Registry 3. Деплоится на ваш сервер 4. Перезапускаются контейнеры ## 🧪 Локальная разработка Для локального тестирования с стандартными портами: ```bash cd server docker compose -f docker-compose.yml -f docker-compose.override.yml up -d ``` ## 📱 Доступ к сервисам После деплоя: - **Gitea**: http://YOUR_SERVER_IP:3001 - **API**: http://YOUR_SERVER_IP:8082 - **Web UI**: http://YOUR_SERVER_IP:8083 - **WebDAV**: http://YOUR_SERVER_IP:8084 ## 🐛 Устранение неполадок ### Порт уже занят ```bash # Найдите процесс netstat -tlnp | grep 3001 # Или измените порт в docker-compose.yml ``` ### Конфликт имён контейнеров ```bash # Проверьте запущенные контейнеры docker ps # Если есть конфликт, измените имена в docker-compose.yml ``` ### Проблемы с сетью ```bash # Пересоздайте сеть docker compose down docker network prune docker compose up -d ``` ## ✅ Готово! Nanaxe Server работает параллельно с вашим другим проектом!