263b0c1b64
- Change Gitea port from 3000 to 3001 - Change API port from 8080 to 8082 - Change Nginx port from 80 to 8083 - Add docker-compose.override.yml for local development - Add deployment guide for existing servers
4.4 KiB
4.4 KiB
🚀 Деплой 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. На сервере создайте директорию
ssh root@YOUR_SERVER_IP
mkdir -p /opt/nanaxe-server
cd /opt/nanaxe-server
2. Скопируйте файлы
# Клонируйте репозиторий
git clone https://github.com/YOUR_USERNAME/NANAXE.git temp
cp -r temp/server/* .
rm -rf temp
3. Настройте окружение
cp .env.example .env
nano .env
Заполните:
GITEA_DOMAIN=your-domain.com
JWT_SECRET=your-secret-key
POSTGRES_PASSWORD=your-db-password
WEBDAV_USER=admin
WEBDAV_PASSWORD=your-password
4. Запустите
docker compose up -d
5. Проверьте
# Проверьте статус
docker compose ps
# Проверьте логи
docker compose logs -f
# Проверьте API
curl http://localhost:8082/health
# Откройте Gitea
open http://YOUR_SERVER_IP:3001
🔧 Настройка Nginx Reverse Proxy (опционально)
Если у вас уже есть 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;
}
}
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 ветку:
- Собирается Docker образ
- Публикуется в GitHub Container Registry
- Деплоится на ваш сервер
- Перезапускаются контейнеры
🧪 Локальная разработка
Для локального тестирования с стандартными портами:
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
🐛 Устранение неполадок
Порт уже занят
# Найдите процесс
netstat -tlnp | grep 3001
# Или измените порт в docker-compose.yml
Конфликт имён контейнеров
# Проверьте запущенные контейнеры
docker ps
# Если есть конфликт, измените имена в docker-compose.yml
Проблемы с сетью
# Пересоздайте сеть
docker compose down
docker network prune
docker compose up -d
✅ Готово!
Nanaxe Server работает параллельно с вашим другим проектом!