ФИНАЛЬНАЯ ИНСТРУКЦИЯ ПО УСТАНОВКЕ ALEXANDRIE НА VPS
ДОСТУП К СИСТЕМЕ
- Адрес: https://78.17.187.53.nip.io:8200
- Логин: alensav
- Пароль: admin123
ПОЛНЫЙ ЗАПУСК ВСЕХ КОНТЕЙНЕРОВ
bash
# Очистка (если нужно)
docker stop $(docker ps -aq) 2>/dev/null
docker rm $(docker ps -aq) 2>/dev/null
# Создание сети
docker network create alexandrie-net 2>/dev/null
# MySQL
docker run -d \
--name alexandrie-mysql \
--network alexandrie-net \
--restart=always \
-p 3307:3306 \
-e MYSQL_DATABASE=alexandrie \
-e MYSQL_USER=alexandrie \
-e MYSQL_PASSWORD=password \
-e MYSQL_ROOT_PASSWORD=rootpassword \
mysql:8.0.36
# MinIO
docker run -d \
--name alexandrie-rustfs \
--network alexandrie-net \
--restart=always \
-p 9000:9000 \
-e MINIO_ROOT_USER=alexandrie-key \
-e MINIO_ROOT_PASSWORD=alexandrie-secret \
rustfs/rustfs:latest
# Бэкенд
docker run -d \
--name alexandrie-backend \
--network alexandrie-net \
--restart=always \
-p 8201:8201 \
-e BACKEND_PORT=8201 \
-e COOKIE_DOMAIN=78.17.187.53.nip.io \
-e COOKIE_SECURE=false \
-e FRONTEND_URL=https://78.17.187.53.nip.io:8200 \
-e DATABASE_HOST=alexandrie-mysql \
-e DATABASE_PORT=3306 \
-e DATABASE_USER=alexandrie \
-e DATABASE_PASSWORD=password \
-e DATABASE_NAME=alexandrie \
-e MINIO_ENDPOINT=alexandrie-rustfs:9000 \
-e MINIO_PUBLIC_URL=https://78.17.187.53.nip.io:8200 \
-e MINIO_ACCESSKEY=alexandrie-key \
-e MINIO_SECRETKEY=alexandrie-secret \
-e MINIO_BUCKET=alexandrie \
-e MINIO_SECURE=false \
-e JWT_SECRET=your-secure-jwt-secret-key-change-this-in-production \
ghcr.io/smaug6739/alexandrie-backend:latest
# Фронтенд (БЕЗ проброса порта)
docker run -d \
--name alexandrie-frontend \
--network alexandrie-net \
--restart=always \
ghcr.io/smaug6739/alexandrie-frontend:latest
НАСТРОЙКА NGINX (для HTTPS)
bash
cat > /etc/nginx/sites-available/alexandrie << 'EOF'
server {
listen 8200 ssl;
server_name 78.17.187.53.nip.io;
ssl_certificate /etc/letsencrypt/live/78.17.187.53.nip.io/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/78.17.187.53.nip.io/privkey.pem;
location / {
proxy_pass http://172.18.0.5:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /api/ {
proxy_pass http://172.18.0.4:8201/api/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
EOF
ln -sf /etc/nginx/sites-available/alexandrie /etc/nginx/sites-enabled/
nginx -t
systemctl restart nginx
СОЗДАНИЕ ПОЛЬЗОВАТЕЛЯ
bash
curl -X POST https://78.17.187.53.nip.io:8200/api/users \
-H "Content-Type: application/json" \
-d '{
"username": "alensav",
"email": "sav27951@yandex.ru",
"password": "admin123"
}'
🛠️ ПОЛЕЗНЫЕ КОМАНДЫ
|
Действие |
Команда |
|
Проверка статуса |
docker ps |
|
Логи бэкенда |
docker logs alexandrie-backend --tail 20 |
|
Логи фронтенда |
docker logs alexandrie-frontend --tail 20 |
|
Перезапуск контейнеров |
docker restart alexandrie-mysql alexandrie-rustfs alexandrie-backend alexandrie-frontend |
|
Остановка всех контейнеров |
docker stop $(docker ps -aq) |
|
Удаление всех контейнеров |
docker rm $(docker ps -aq) |
|
Полная очистка Docker |
docker system prune -a -f --volumes |
ВАЖНЫЕ ЗАМЕЧАНИЯ
|
Параметр |
Значение |
|
IP VPS |
78.17.187.53 |
|
Домен |
78.17.187.53.nip.io |
|
Порт |
8200 |
|
Протокол |
HTTPS |
|
Пользователь |
alensav |
|
Пароль |
admin123 |
|
База данных |
MySQL 8.0.36 |
|
Хранилище |
MinIO (Rustfs) |
✅ ПРОВЕРКА РАБОТОСПОСОБНОСТИ
- Откройте https://78.17.187.53.nip.io:8200
- Войдите с alensav / admin123
- Создайте документ
- Загрузите файл через CDN
ИТОГ
Alexandrie успешно установлена на VPS и готова к работе! 🚀
- ✅ Все контейнеры работают
- ✅ HTTPS настроен
- ✅ Вход работает
- ✅ Файлы загружаются
- ✅ Документы создаются
Инструкция сохранена! 😊