Раздел описывает создание, хранение, запуск, публикацию, резервное копирование и удаление проектов пользователей.
Проект — отдельное рабочее приложение внутри пространства пользователя. По умолчанию пользователи не видят проекты друг друга.
/data/vibe-students/<пользователь>/<проект>
Внутри Docker-контейнера тот же каталог доступен как:
/home/student/workspace/<проект>
При создании проекта портал выполняет следующие действия:
Основные настройки проекта хранятся в файле
.portal-meta.json.
{
"owner": "admin",
"publish": {
"enabled": true
},
"visibility": "owner",
"autosleep": true,
"port": 3002
}
owner — владелец проекта;publish.enabled — разрешена ли публикация;visibility — режим доступа;autosleep — автоматическая остановка;port — внутренний порт приложения.Шаблоны проектов находятся в каталоге:
/opt/dev-portal/templates
Шаблон задаёт исходную структуру проекта, технологический стек, стартовые файлы и служебные настройки.
Перед изменением шаблона необходимо:
Пользователь открывает проект в собственной среде VS Code. Файлы проекта физически сохраняются на сервере в пользовательском Workspace.
/home/student/workspace
Команда запуска зависит от технологического стека проекта. Для Node.js обычно используется:
cd /home/student/workspace/<проект>
npm install
npm start
Проверка процессов внутри контейнера:
docker ps
docker exec -it vibe-<пользователь> sh
ps aux
Публикация создаёт доступную для просмотра версию приложения. Это не заменяет полноценный производственный деплой и должна использоваться как контролируемая публикация или предпросмотр.
Публикация должна учитывать:
publish.enabled;
Параметр autosleep разрешает автоматически
останавливать неактивный проект для экономии ресурсов.
"autosleep": true
Базовый режим — проект виден только владельцу. Совместный доступ должен назначаться явно администратором.
owner — только владелец;Проекты не следует удалять безвозвратно сразу. Сначала их необходимо перемещать в архив или каталог удалённых проектов.
/data/vibe-students/<пользователь>/.deleted
Перед удалением необходимо проверить:
Для важных проектов рекомендуется хранить отдельную резервную копию и контрольную сумму архива.
tar -czf project-backup.tar.gz /data/vibe-students/<пользователь>/<проект>
sha256sum project-backup.tar.gz > project-backup.tar.gz.sha256
find /data/vibe-students -mindepth 2 -maxdepth 2 -type d
docker ps -a
journalctl -u vibe-panel.service -n 100 --no-pager
.env и токены в Git.