mnemo
This commit is contained in:
parent
cdf6f9aa95
commit
78ae1a557d
14 changed files with 42 additions and 42 deletions
|
|
@ -93,7 +93,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
flutter pub get
|
flutter pub get
|
||||||
flutter build web --release \
|
flutter build web --release \
|
||||||
--dart-define=API_BASE_URL=https://api.memo-cards.online:8444 \
|
--dart-define=API_BASE_URL=https://api.mnemo-cards.online:8444 \
|
||||||
--dart2js-optimization=O4
|
--dart2js-optimization=O4
|
||||||
|
|
||||||
- name: Deploy Web App
|
- name: Deploy Web App
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
## 2025-11-16 (Evening) - Let's Encrypt SSL Certificate Setup ✅ COMPLETED
|
## 2025-11-16 (Evening) - Let's Encrypt SSL Certificate Setup ✅ COMPLETED
|
||||||
|
|
||||||
**Feature:** SSL Certificate Configuration for API Domain (api.memo-cards.online)
|
**Feature:** SSL Certificate Configuration for API Domain (api.mnemo-cards.online)
|
||||||
|
|
||||||
**Completed Tasks:**
|
**Completed Tasks:**
|
||||||
- ✅ Configured nginx with ACME challenge support for Let's Encrypt
|
- ✅ Configured nginx with ACME challenge support for Let's Encrypt
|
||||||
|
|
@ -19,17 +19,17 @@
|
||||||
- **Automation:** Cron job for daily certificate renewal with nginx reload
|
- **Automation:** Cron job for daily certificate renewal with nginx reload
|
||||||
|
|
||||||
**Configuration Details:**
|
**Configuration Details:**
|
||||||
- **Domain:** api.memo-cards.online
|
- **Domain:** api.mnemo-cards.online
|
||||||
- **Backend Port:** 8081 (corrected from 8443)
|
- **Backend Port:** 8081 (corrected from 8443)
|
||||||
- **Webroot Path:** /var/www/html/.well-known/acme-challenge/
|
- **Webroot Path:** /var/www/html/.well-known/acme-challenge/
|
||||||
- **Certificate Path:** /etc/letsencrypt/live/api.memo-cards.online/
|
- **Certificate Path:** /etc/letsencrypt/live/api.mnemo-cards.online/
|
||||||
|
|
||||||
**Scripts Updated:**
|
**Scripts Updated:**
|
||||||
- `backend-build_app_webroot.sh` - Changed from dual HTTP/HTTPS mode to HTTPS-only mode, added automatic nginx config update
|
- `backend-build_app_webroot.sh` - Changed from dual HTTP/HTTPS mode to HTTPS-only mode, added automatic nginx config update
|
||||||
- `backend-build_app.sh` - Changed from dual HTTP/HTTPS mode to HTTPS-only mode, fixed port configuration, replaced netstat with ss/lsof, added automatic nginx config update
|
- `backend-build_app.sh` - Changed from dual HTTP/HTTPS mode to HTTPS-only mode, fixed port configuration, replaced netstat with ss/lsof, added automatic nginx config update
|
||||||
|
|
||||||
**Documentation Updated:**
|
**Documentation Updated:**
|
||||||
- `public/open_api.yaml` - Updated server URL from localhost:8080 to https://api.memo-cards.online
|
- `public/open_api.yaml` - Updated server URL from localhost:8080 to https://api.mnemo-cards.online
|
||||||
|
|
||||||
**Nginx Configuration:**
|
**Nginx Configuration:**
|
||||||
- Updated `/etc/nginx/sites-available/api` for HTTPS-only mode
|
- Updated `/etc/nginx/sites-available/api` for HTTPS-only mode
|
||||||
|
|
@ -47,7 +47,7 @@
|
||||||
- `backend-build_app.sh` - Now requests multi-domain certificate with all subdomains
|
- `backend-build_app.sh` - Now requests multi-domain certificate with all subdomains
|
||||||
- Nginx configs updated to use mnemo-cards.online certificate for API
|
- Nginx configs updated to use mnemo-cards.online certificate for API
|
||||||
- Backend service configured to use shared certificate path
|
- Backend service configured to use shared certificate path
|
||||||
- Fixed all domain names from memo-cards to mnemo-cards
|
- Fixed all domain names from mnemo-cards to mnemo-cards
|
||||||
|
|
||||||
**Next Action:**
|
**Next Action:**
|
||||||
- Run backend-build_app.sh to generate multi-domain certificate
|
- Run backend-build_app.sh to generate multi-domain certificate
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
## Medium Priority
|
## Medium Priority
|
||||||
- [ ] Review existing codebase architecture
|
- [ ] Review existing codebase architecture
|
||||||
- [x] **COMPLETED** - Set up Let's Encrypt SSL certificates for api.memo-cards.online with automatic renewal
|
- [x] **COMPLETED** - Set up Let's Encrypt SSL certificates for api.mnemo-cards.online with automatic renewal
|
||||||
- [x] **COMPLETED** - Update nginx configuration for HTTPS-only API (redirect HTTP to HTTPS, proxy to port 8443)
|
- [x] **COMPLETED** - Update nginx configuration for HTTPS-only API (redirect HTTP to HTTPS, proxy to port 8443)
|
||||||
- [x] **COMPLETED** - Changed to multi-domain certificate approach (bypasses DNS subdomain requirements)
|
- [x] **COMPLETED** - Changed to multi-domain certificate approach (bypasses DNS subdomain requirements)
|
||||||
- [ ] Verify HTTPS-only functionality and test API endpoints over SSL
|
- [ ] Verify HTTPS-only functionality and test API endpoints over SSL
|
||||||
|
|
|
||||||
|
|
@ -19,10 +19,10 @@ sudo cp server_build.exe server.exe
|
||||||
rm server_build.exe
|
rm server_build.exe
|
||||||
|
|
||||||
# Проверяем наличие Let's Encrypt сертификатов для двойного режима
|
# Проверяем наличие Let's Encrypt сертификатов для двойного режима
|
||||||
if [ -d "/etc/letsencrypt/live/api.memo-cards.online" ]; then
|
if [ -d "/etc/letsencrypt/live/api.mnemo-cards.online" ]; then
|
||||||
echo "✅ Let's Encrypt сертификаты найдены. Запускаем в двойном режиме (HTTP + HTTPS)"
|
echo "✅ Let's Encrypt сертификаты найдены. Запускаем в двойном режиме (HTTP + HTTPS)"
|
||||||
# Обновляем systemd сервис для двойного режима
|
# Обновляем systemd сервис для двойного режима
|
||||||
sudo sed -i 's|ExecStart=/root/mnemo_cards_backend/server.exe.*|ExecStart=/root/mnemo_cards_backend/server.exe --dual --certs /etc/letsencrypt/live/api.memo-cards.online -a 0.0.0.0 -p 8081|' /etc/systemd/system/mnemo_cards_server.service
|
sudo sed -i 's|ExecStart=/root/mnemo_cards_backend/server.exe.*|ExecStart=/root/mnemo_cards_backend/server.exe --dual --certs /etc/letsencrypt/live/api.mnemo-cards.online -a 0.0.0.0 -p 8081|' /etc/systemd/system/mnemo_cards_server.service
|
||||||
else
|
else
|
||||||
echo "⚠️ Let's Encrypt сертификаты не найдены. Пытаемся создать..."
|
echo "⚠️ Let's Encrypt сертификаты не найдены. Пытаемся создать..."
|
||||||
|
|
||||||
|
|
@ -30,16 +30,16 @@ else
|
||||||
sudo systemctl stop mnemo_cards_server 2>/dev/null || true
|
sudo systemctl stop mnemo_cards_server 2>/dev/null || true
|
||||||
|
|
||||||
# Пытаемся получить Let's Encrypt сертификат
|
# Пытаемся получить Let's Encrypt сертификат
|
||||||
echo "🔐 Получаем Let's Encrypt сертификат для домена api.memo-cards.online..."
|
echo "🔐 Получаем Let's Encrypt сертификат для домена api.mnemo-cards.online..."
|
||||||
if sudo certbot certonly --standalone -d api.memo-cards.online --non-interactive --agree-tos --email admin@api.memo-cards.online; then
|
if sudo certbot certonly --standalone -d api.mnemo-cards.online --non-interactive --agree-tos --email admin@api.mnemo-cards.online; then
|
||||||
echo "✅ Let's Encrypt сертификат успешно создан!"
|
echo "✅ Let's Encrypt сертификат успешно создан!"
|
||||||
echo "🚀 Запускаем в двойном режиме (HTTP + HTTPS)"
|
echo "🚀 Запускаем в двойном режиме (HTTP + HTTPS)"
|
||||||
# Обновляем systemd сервис для двойного режима
|
# Обновляем systemd сервис для двойного режима
|
||||||
sudo sed -i 's|ExecStart=/root/mnemo_cards_backend/server.exe.*|ExecStart=/root/mnemo_cards_backend/server.exe --dual --certs /etc/letsencrypt/live/api.memo-cards.online -a 0.0.0.0 -p 8081|' /etc/systemd/system/mnemo_cards_server.service
|
sudo sed -i 's|ExecStart=/root/mnemo_cards_backend/server.exe.*|ExecStart=/root/mnemo_cards_backend/server.exe --dual --certs /etc/letsencrypt/live/api.mnemo-cards.online -a 0.0.0.0 -p 8081|' /etc/systemd/system/mnemo_cards_server.service
|
||||||
else
|
else
|
||||||
echo "❌ Не удалось создать Let's Encrypt сертификат. Запускаем в HTTP режиме"
|
echo "❌ Не удалось создать Let's Encrypt сертификат. Запускаем в HTTP режиме"
|
||||||
echo "💡 Убедитесь, что:"
|
echo "💡 Убедитесь, что:"
|
||||||
echo " - Домен api.memo-cards.online указывает на этот сервер"
|
echo " - Домен api.mnemo-cards.online указывает на этот сервер"
|
||||||
echo " - Порт 80 доступен извне"
|
echo " - Порт 80 доступен извне"
|
||||||
echo " - Firewall разрешает входящие соединения на порт 80"
|
echo " - Firewall разрешает входящие соединения на порт 80"
|
||||||
# Возвращаем обычный режим
|
# Возвращаем обычный режим
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ flutter run -d chrome --web-port=8080
|
||||||
3. **Nginx** настроен без конфликтующих COEP/COOP headers ✅
|
3. **Nginx** настроен без конфликтующих COEP/COOP headers ✅
|
||||||
|
|
||||||
Текущая конфигурация позволяет:
|
Текущая конфигурация позволяет:
|
||||||
- ✅ Запросы с `memo-cards.online` на `https://api.mnemo-cards.online`
|
- ✅ Запросы с `mnemo-cards.online` на `https://api.mnemo-cards.online`
|
||||||
- ✅ Все необходимые HTTP методы и headers
|
- ✅ Все необходимые HTTP методы и headers
|
||||||
- ✅ Preflight OPTIONS запросы
|
- ✅ Preflight OPTIONS запросы
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
mnemo_cards_web_v2/
|
mnemo_cards_web_v2/
|
||||||
├── deploy.sh # Wrapper script (run this!)
|
├── deploy.sh # Wrapper script (run this!)
|
||||||
└── deploy/
|
└── deploy/
|
||||||
├── nginx.conf # Main domain nginx config (memo-cards.online)
|
├── nginx.conf # Main domain nginx config (mnemo-cards.online)
|
||||||
├── vscode-nginx.conf # VSCode server nginx config
|
├── vscode-nginx.conf # VSCode server nginx config
|
||||||
├── setup-vscode-domain.sh # VSCode domain setup script
|
├── setup-vscode-domain.sh # VSCode domain setup script
|
||||||
└── README.md # This file
|
└── README.md # This file
|
||||||
|
|
@ -33,7 +33,7 @@ cd mnemo_cards_web_v2
|
||||||
This wrapper script will:
|
This wrapper script will:
|
||||||
1. Use centralized config from `tools/deploy/web-app/config.sh`
|
1. Use centralized config from `tools/deploy/web-app/config.sh`
|
||||||
2. Build the Flutter web app locally with `-O4` optimization
|
2. Build the Flutter web app locally with `-O4` optimization
|
||||||
3. Deploy to `memo-cards.online` using `deploy/nginx.conf`
|
3. Deploy to `mnemo-cards.online` using `deploy/nginx.conf`
|
||||||
|
|
||||||
### Setup VSCode Server (Optional)
|
### Setup VSCode Server (Optional)
|
||||||
|
|
||||||
|
|
@ -46,7 +46,7 @@ cd deploy
|
||||||
|
|
||||||
All deployment settings are in `tools/deploy/web-app/config.sh`:
|
All deployment settings are in `tools/deploy/web-app/config.sh`:
|
||||||
- Server IP: `147.45.152.129`
|
- Server IP: `147.45.152.129`
|
||||||
- Main domain: `memo-cards.online`
|
- Main domain: `mnemo-cards.online`
|
||||||
- API URL: `https://api.mnemo-cards.online` (nginx reverse proxy on port 443)
|
- API URL: `https://api.mnemo-cards.online` (nginx reverse proxy on port 443)
|
||||||
|
|
||||||
## 📝 Project-Specific Files
|
## 📝 Project-Specific Files
|
||||||
|
|
|
||||||
|
|
@ -131,7 +131,7 @@ SYSTEMD_EOF
|
||||||
# Stop nginx temporarily for certificate issuance
|
# Stop nginx temporarily for certificate issuance
|
||||||
systemctl stop nginx 2>/dev/null || true
|
systemctl stop nginx 2>/dev/null || true
|
||||||
|
|
||||||
if certbot certonly --standalone -d vscode.mnemo-cards.online --non-interactive --agree-tos --email admin@memo-cards.online; then
|
if certbot certonly --standalone -d vscode.mnemo-cards.online --non-interactive --agree-tos --email admin@mnemo-cards.online; then
|
||||||
echo "✅ Let's Encrypt certificate obtained successfully for vscode.mnemo-cards.online!"
|
echo "✅ Let's Encrypt certificate obtained successfully for vscode.mnemo-cards.online!"
|
||||||
else
|
else
|
||||||
echo "❌ Failed to get Let's Encrypt certificate. Generating self-signed certificate..."
|
echo "❌ Failed to get Let's Encrypt certificate. Generating self-signed certificate..."
|
||||||
|
|
|
||||||
|
|
@ -54,8 +54,8 @@ tools/
|
||||||
|
|
||||||
### Компоненты
|
### Компоненты
|
||||||
|
|
||||||
- **Backend** (Dart) → `api.memo-cards.online`
|
- **Backend** (Dart) → `api.mnemo-cards.online`
|
||||||
- **Web App** (Flutter) → `memo-cards.online`
|
- **Web App** (Flutter) → `mnemo-cards.online`
|
||||||
- **Mobile App** (Flutter) → GitHub releases
|
- **Mobile App** (Flutter) → GitHub releases
|
||||||
|
|
||||||
## Требования
|
## Требования
|
||||||
|
|
@ -67,7 +67,7 @@ tools/
|
||||||
|
|
||||||
### Деплой
|
### Деплой
|
||||||
- SSH доступ к серверу `147.45.152.129`
|
- SSH доступ к серверу `147.45.152.129`
|
||||||
- DNS: `memo-cards.online`, `api.memo-cards.online`
|
- DNS: `mnemo-cards.online`, `api.mnemo-cards.online`
|
||||||
- Forgejo с настроенными secrets
|
- Forgejo с настроенными secrets
|
||||||
|
|
||||||
## Документация
|
## Документация
|
||||||
|
|
|
||||||
|
|
@ -50,8 +50,8 @@ Forgejo Actions workflows для автоматической сборки, те
|
||||||
- **Mobile App**: Сборка APK для Android и app для iOS
|
- **Mobile App**: Сборка APK для Android и app для iOS
|
||||||
|
|
||||||
### 3. Развертывание
|
### 3. Развертывание
|
||||||
- **Backend**: Автоматическое обновление сервиса на `api.memo-cards.online`
|
- **Backend**: Автоматическое обновление сервиса на `api.mnemo-cards.online`
|
||||||
- **Web App**: Rsync на веб сервер `memo-cards.online` + перезагрузка Nginx
|
- **Web App**: Rsync на веб сервер `mnemo-cards.online` + перезагрузка Nginx
|
||||||
- **Mobile App**: Создание GitHub релиза с APK
|
- **Mobile App**: Создание GitHub релиза с APK
|
||||||
|
|
||||||
## Секреты Forgejo
|
## Секреты Forgejo
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
cd mnemo_cards_web_v2
|
cd mnemo_cards_web_v2
|
||||||
flutter pub get
|
flutter pub get
|
||||||
flutter build web --release --dart-define=API_BASE_URL=https://api.memo-cards.online:8444 --dart2js-optimization=O4
|
flutter build web --release --dart-define=API_BASE_URL=https://api.mnemo-cards.online:8444 --dart2js-optimization=O4
|
||||||
|
|
||||||
- name: Deploy Web App
|
- name: Deploy Web App
|
||||||
run: |
|
run: |
|
||||||
|
|
|
||||||
|
|
@ -88,8 +88,8 @@ else
|
||||||
sudo chown -R www-data:www-data /var/www/html
|
sudo chown -R www-data:www-data /var/www/html
|
||||||
|
|
||||||
# Пытаемся получить Let's Encrypt сертификат через webroot
|
# Пытаемся получить Let's Encrypt сертификат через webroot
|
||||||
echo "🔐 Получаем Let's Encrypt сертификат через webroot для домена api.memo-cards.online..."
|
echo "🔐 Получаем Let's Encrypt сертификат через webroot для домена api.mnemo-cards.online..."
|
||||||
if sudo certbot certonly --webroot -w /var/www/html -d api.memo-cards.online --non-interactive --agree-tos --email admin@api.mnemo-cards.online; then
|
if sudo certbot certonly --webroot -w /var/www/html -d api.mnemo-cards.online --non-interactive --agree-tos --email admin@api.mnemo-cards.online; then
|
||||||
echo "✅ Let's Encrypt сертификат успешно создан через webroot!"
|
echo "✅ Let's Encrypt сертификат успешно создан через webroot!"
|
||||||
echo "🚀 Запускаем в HTTPS-only режиме"
|
echo "🚀 Запускаем в HTTPS-only режиме"
|
||||||
# Обновляем systemd сервис для HTTPS-only режима
|
# Обновляем systemd сервис для HTTPS-only режима
|
||||||
|
|
@ -98,7 +98,7 @@ else
|
||||||
echo "❌ Не удалось создать Let's Encrypt сертификат через webroot"
|
echo "❌ Не удалось создать Let's Encrypt сертификат через webroot"
|
||||||
echo "💡 Убедитесь, что:"
|
echo "💡 Убедитесь, что:"
|
||||||
echo " - У вас установлен и запущен веб-сервер (nginx/apache)"
|
echo " - У вас установлен и запущен веб-сервер (nginx/apache)"
|
||||||
echo " - Домен api.memo-cards.online указывает на этот сервер"
|
echo " - Домен api.mnemo-cards.online указывает на этот сервер"
|
||||||
echo " - Директория /var/www/html доступна для записи certbot"
|
echo " - Директория /var/www/html доступна для записи certbot"
|
||||||
echo " - Firewall разрешает входящие соединения на порт 80"
|
echo " - Firewall разрешает входящие соединения на порт 80"
|
||||||
echo " - Веб-сервер правильно настроен для обслуживания .well-known/acme-challenge/"
|
echo " - Веб-сервер правильно настроен для обслуживания .well-known/acme-challenge/"
|
||||||
|
|
|
||||||
|
|
@ -42,8 +42,8 @@ OPENAI_API_KEY # Для AI-агента
|
||||||
## Настройка серверов
|
## Настройка серверов
|
||||||
|
|
||||||
### Единый сервер (147.45.152.129)
|
### Единый сервер (147.45.152.129)
|
||||||
- **API Backend** (api.memo-cards.online): Dart SDK, systemd сервис `mnemo_cards_server.service`
|
- **API Backend** (api.mnemo-cards.online): Dart SDK, systemd сервис `mnemo_cards_server.service`
|
||||||
- **Web App** (memo-cards.online): Nginx, Flutter Web приложение
|
- **Web App** (mnemo-cards.online): Nginx, Flutter Web приложение
|
||||||
- **SSL**: Let's Encrypt сертификаты для обоих доменов
|
- **SSL**: Let's Encrypt сертификаты для обоих доменов
|
||||||
- **CORS**: Правильно настроен между доменами, COEP/COOP headers отключены для совместимости
|
- **CORS**: Правильно настроен между доменами, COEP/COOP headers отключены для совместимости
|
||||||
- Доступ по SSH для деплоя
|
- Доступ по SSH для деплоя
|
||||||
|
|
@ -71,7 +71,7 @@ OPENAI_API_KEY # Для AI-агента
|
||||||
### ✅ Чек-лист готовности
|
### ✅ Чек-лист готовности
|
||||||
|
|
||||||
- [ ] **SSH ключ сгенерирован и добавлен на сервер**
|
- [ ] **SSH ключ сгенерирован и добавлен на сервер**
|
||||||
- [ ] **DNS домены настроены** (`memo-cards.online`, `api.memo-cards.online`, `code.memo-cards.online`)
|
- [ ] **DNS домены настроены** (`mnemo-cards.online`, `api.mnemo-cards.online`, `code.mnemo-cards.online`)
|
||||||
- [ ] **Forgejo secrets настроены** (`DEPLOY_SSH_PRIVATE_KEY`)
|
- [ ] **Forgejo secrets настроены** (`DEPLOY_SSH_PRIVATE_KEY`)
|
||||||
- [ ] **Код готов к деплою** (все тесты проходят)
|
- [ ] **Код готов к деплою** (все тесты проходят)
|
||||||
|
|
||||||
|
|
@ -80,7 +80,7 @@ OPENAI_API_KEY # Для AI-агента
|
||||||
1. **Подготовка:**
|
1. **Подготовка:**
|
||||||
```bash
|
```bash
|
||||||
# Генерация и настройка SSH ключа
|
# Генерация и настройка SSH ключа
|
||||||
ssh-keygen -t ed25519 -C "forgejo-deploy@memo-cards.online" -f ~/.ssh/forgejo_deploy
|
ssh-keygen -t ed25519 -C "forgejo-deploy@mnemo-cards.online" -f ~/.ssh/forgejo_deploy
|
||||||
ssh-copy-id -i ~/.ssh/forgejo_deploy.pub root@147.45.152.129
|
ssh-copy-id -i ~/.ssh/forgejo_deploy.pub root@147.45.152.129
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -112,9 +112,9 @@ cat ~/.ssh/forgejo_deploy
|
||||||
|
|
||||||
#### 2. Настройка DNS доменов
|
#### 2. Настройка DNS доменов
|
||||||
Убедитесь, что DNS записи настроены:
|
Убедитесь, что DNS записи настроены:
|
||||||
- `memo-cards.online` → `147.45.152.129`
|
- `mnemo-cards.online` → `147.45.152.129`
|
||||||
- `api.memo-cards.online` → `147.45.152.129`
|
- `api.mnemo-cards.online` → `147.45.152.129`
|
||||||
- `code.memo-cards.online` → `147.45.152.129` (для Forgejo)
|
- `code.mnemo-cards.online` → `147.45.152.129` (для Forgejo)
|
||||||
|
|
||||||
#### 3. Проверка доступа к серверу
|
#### 3. Проверка доступа к серверу
|
||||||
```bash
|
```bash
|
||||||
|
|
@ -227,15 +227,15 @@ ssh root@147.45.152.129 "nginx -t"
|
||||||
ssh root@147.45.152.129 "ls -la /etc/letsencrypt/live/"
|
ssh root@147.45.152.129 "ls -la /etc/letsencrypt/live/"
|
||||||
|
|
||||||
# Ручное получение сертификатов
|
# Ручное получение сертификатов
|
||||||
ssh root@147.45.152.129 "certbot certonly --standalone -d memo-cards.online -d api.memo-cards.online --email admin@memo-cards.online"
|
ssh root@147.45.152.129 "certbot certonly --standalone -d mnemo-cards.online -d api.mnemo-cards.online --email admin@mnemo-cards.online"
|
||||||
```
|
```
|
||||||
|
|
||||||
#### DNS проблемы
|
#### DNS проблемы
|
||||||
```bash
|
```bash
|
||||||
# Проверка DNS разрешения
|
# Проверка DNS разрешения
|
||||||
nslookup memo-cards.online
|
nslookup mnemo-cards.online
|
||||||
nslookup api.memo-cards.online
|
nslookup api.mnemo-cards.online
|
||||||
nslookup code.memo-cards.online
|
nslookup code.mnemo-cards.online
|
||||||
|
|
||||||
# Проверка доступности портов
|
# Проверка доступности портов
|
||||||
telnet 147.45.152.129 80
|
telnet 147.45.152.129 80
|
||||||
|
|
@ -254,7 +254,7 @@ flutter pub cache repair
|
||||||
### Проблемы с SSH
|
### Проблемы с SSH
|
||||||
```bash
|
```bash
|
||||||
# Проверка SSH ключа
|
# Проверка SSH ключа
|
||||||
ssh -T git@code.memo-cards.online
|
ssh -T git@code.mnemo-cards.online
|
||||||
|
|
||||||
# Проверка доступа к серверам
|
# Проверка доступа к серверам
|
||||||
ssh -i ~/.ssh/forgejo_deploy root@147.45.152.129
|
ssh -i ~/.ssh/forgejo_deploy root@147.45.152.129
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ if [ -f "$SSH_KEY" ]; then
|
||||||
print_status "SSH private key found at $SSH_KEY"
|
print_status "SSH private key found at $SSH_KEY"
|
||||||
else
|
else
|
||||||
print_error "SSH private key not found at $SSH_KEY"
|
print_error "SSH private key not found at $SSH_KEY"
|
||||||
echo " Generate with: ssh-keygen -t ed25519 -C 'forgejo-deploy@memo-cards.online' -f $SSH_KEY"
|
echo " Generate with: ssh-keygen -t ed25519 -C 'forgejo-deploy@mnemo-cards.online' -f $SSH_KEY"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -74,7 +74,7 @@ fi
|
||||||
|
|
||||||
# Check 4: DNS resolution
|
# Check 4: DNS resolution
|
||||||
echo "4. Checking DNS resolution..."
|
echo "4. Checking DNS resolution..."
|
||||||
for domain in "memo-cards.online" "api.memo-cards.online" "code.memo-cards.online"; do
|
for domain in "mnemo-cards.online" "api.mnemo-cards.online" "code.mnemo-cards.online"; do
|
||||||
if nslookup "$domain" 2>/dev/null | grep -q "$SERVER_IP"; then
|
if nslookup "$domain" 2>/dev/null | grep -q "$SERVER_IP"; then
|
||||||
print_status "DNS for $domain resolves to $SERVER_IP"
|
print_status "DNS for $domain resolves to $SERVER_IP"
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ print_success() {
|
||||||
# Check if key exists
|
# Check if key exists
|
||||||
if [ ! -f "$SSH_KEY" ]; then
|
if [ ! -f "$SSH_KEY" ]; then
|
||||||
print_error "SSH key not found at $SSH_KEY"
|
print_error "SSH key not found at $SSH_KEY"
|
||||||
print_info "Generate it first with: ssh-keygen -t ed25519 -C 'forgejo-deploy@memo-cards.online' -f $SSH_KEY"
|
print_info "Generate it first with: ssh-keygen -t ed25519 -C 'forgejo-deploy@mnemo-cards.online' -f $SSH_KEY"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue