8.3 KiB
8.3 KiB
Отчет о восстановлении VSCode Server
Дата: 19 ноября 2025
Проблема: После перезагрузки сервера не открываются vscode.mnemo-cards.online и code.mnemo-cards.online
Выполненные работы
1. Диагностика ✅
- Проверен статус code-server на сервере
- Обнаружено, что code-server был запущен, но на неправильном порту (8080 вместо 8443)
- Обнаружено отсутствие nginx конфигурации для vscode.mnemo-cards.online
- Выявлена проблема с IPv6/IPv4 (nginx пытался подключиться к ::1 вместо 127.0.0.1)
- Обнаружен конфликт доменных имен
2. Исправления ✅
code-server Service
- Создан правильный systemd service файл
/etc/systemd/system/code-server.service - Настроен автозапуск при загрузке системы (
systemctl enable) - Исправлен порт с 8080 на 8443
- Настроен bind на 127.0.0.1:8443 (IPv4)
- Добавлен пароль:
AGktOidxrah1KVC0
nginx Конфигурация
- Развернута конфигурация для vscode.mnemo-cards.online
- Исправлен proxy_pass с
http://localhost:8443наhttp://127.0.0.1:8443 - Настроено SSL с Let's Encrypt сертификатами
- Добавлена поддержка WebSocket для VSCode
- Настроено rate limiting для защиты от злоупотреблений
Разрешение конфликта доменов
- vscode.mnemo-cards.online → VSCode Server (code-server)
- code.mnemo-cards.online → Forgejo Git Server (не VSCode!)
- Удален code.mnemo-cards.online из конфигурации VSCode
3. Созданные инструменты ✅
Создано 7 скриптов для автоматизации:
- fix-vscode-server.sh - Автоматическое восстановление code-server
- check-nginx.sh - Проверка и перезагрузка nginx
- deploy-vscode-nginx.sh - Развертывание nginx конфигурации
- fix-nginx-duplicates.sh - Удаление дублирующихся конфигураций
- test-vscode-from-server.sh - Тестирование с сервера
- test-vscode-final.sh - Финальное тестирование
- fix-code-domain-conflict.sh - Исправление конфликтов доменов
4. Документация ✅
Создана подробная документация:
- VSCODE_SERVER_SETUP.md - Полное руководство по настройке
- README.md - Обновлен с информацией о VSCode Server
- RECOVERY_REPORT_2025-11-19.md - Этот отчет
Результаты
✅ Работающие сервисы
| URL | Сервис | Статус |
|---|---|---|
| https://vscode.mnemo-cards.online/ | VSCode Server | 🟢 Работает |
| https://code.mnemo-cards.online/ | Forgejo Git Server | 🟢 Работает |
✅ Проверки
# Тест 1: vscode.mnemo-cards.online
HTTP/2 302
location: ./login
✅ Работает - редирект на страницу логина
# Тест 2: code.mnemo-cards.online
HTTP/2 200
✅ Работает - Forgejo главная страница
# Тест 3: code-server service
● code-server.service - code-server
Active: active (running)
Enabled: enabled
✅ Сервис запущен и включен для автозапуска
Доступ к VSCode Server
URL: https://vscode.mnemo-cards.online/
Пароль: AGktOidxrah1KVC0
Пользователь: root
Рабочая директория: /root/
Быстрое восстановление после перезагрузки
Если после перезагрузки сервера VSCode Server снова не работает:
cd /Users/dmitry/StudioProjects/mnemo_cards/tools/deploy
./fix-vscode-server.sh
Этот скрипт автоматически:
- Проверит установку code-server
- Исправит конфигурацию
- Создаст/обновит systemd service
- Включит автозапуск
- Запустит сервис
- Перезагрузит nginx
Управление сервисом
Проверка статуса
ssh root@147.45.152.129 'systemctl status code-server'
Просмотр логов
ssh root@147.45.152.129 'journalctl -u code-server -f'
Перезапуск
ssh root@147.45.152.129 'systemctl restart code-server'
Предотвращение проблем в будущем
✅ Сделано:
- code-server настроен на автозапуск (
systemctl enable) - Добавлен
Restart=alwaysв systemd service - Созданы скрипты для быстрого восстановления
- Написана подробная документация
🔄 Рекомендации:
- После обновления сервера проверить статус всех сервисов
- Периодически проверять SSL сертификаты (
certbot renew) - Делать backup конфигураций nginx перед изменениями
- Тестировать доступность после каждой перезагрузки сервера
Архитектура
┌─────────────────────────────────────────────────┐
│ Internet │
└────────────────────┬────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────┐
│ nginx (port 443) │
│ SSL Termination │
└─────┬────────────────────────────────────┬──────┘
│ │
▼ ▼
┌─────────────────┐ ┌────────────────┐
│ code-server │ │ Forgejo │
│ 127.0.0.1:8443 │ │localhost:3000 │
│ │ │ │
│ vscode.mnemo... │ │code.mnemo... │
└─────────────────┘ └────────────────┘
Таймлайн восстановления
- 22:24 - Сервер перезагружен
- 22:27 - Обнаружена проблема
- 22:27 - Начата диагностика
- 22:28 - Запущен code-server на правильном порту
- 22:28 - Развернута nginx конфигурация
- 22:29 - Исправлен конфликт доменов
- 22:30 - Исправлена проблема IPv6/IPv4
- 22:32 - ✅ Все сервисы восстановлены и проверены
Время восстановления: ~8 минут
Время автоматизации: +15 минут (создание скриптов и документации)
Итог
🎉 Успешно восстановлены оба сервиса!
- ✅ VSCode Server доступен по https://vscode.mnemo-cards.online/
- ✅ Forgejo Git Server доступен по https://code.mnemo-cards.online/
- ✅ Настроен автозапуск при перезагрузке
- ✅ Созданы инструменты для быстрого восстановления
- ✅ Написана полная документация
Статус: 🟢 Оба сервиса работают стабильно