Почему Nextcloud? Nextcloud предоставляет личное пространство для хранения, синхронизации и совместного использования файлов с нескольких устройств через веб-интерфейс и выделенные клиенты.
Почему самостоятельный хостинг? Он позволяет сохранить контроль над местом хранения, циклом обновлений и правилами доступа. Взамен приходится самостоятельно обеспечивать доступность, усиление защиты, объём диска, резервное копирование и тестирование восстановления.
🧩 Реализованная архитектура
- Выделенная ВМ Ubuntu 24.04 для сервиса (VM205)
- Docker-контейнер для приложения Nextcloud
- Отдельный Docker-контейнер для MariaDB
- Два тома Docker, разделяющие файлы приложения и базу данных
- Автозапуск ВМ после приоритетных сервисов, затем восстановление обоих контейнеров
- Публикация по HTTPS за общим обратным прокси (VM200)
🎯 Применённые компетенции
- Эксплуатация самостоятельно размещённого приложения в ВМ Proxmox
- Разделение приложений Nextcloud / MariaDB
- Устойчивость данных через тома Docker
- Комплексная диагностика: systemd · Docker · HTTP · инструмент
occ - Построение воспроизводимого и очищенного доказательства после перезагрузки
🌐 Проверенная публикация по HTTPS
Nextcloud доступен по адресу nextcloud.stephanemuraro.fr. Сервис сохраняет собственную аутентификацию, а обратный прокси (VM200) централизует терминацию TLS и перенаправляет запросы на прикладную ВМ.
Проверено из внешней сети:
- установление HTTPS-соединения
- аутентификация
- просмотр файлов
- загрузка файла через веб-интерфейс
- синхронизация через настольный клиент
Предварительная диагностика выявила два неисправных расширения приложения, обратимо нейтрализованных для восстановления интерфейса, а затем записи данных, без удаления самих данных.
🔄 Воспроизводимое доказательство — состояние после перезагрузки
Выполняемые внутри ВМ, эти команды автоматически определяют имя контейнера и опубликованный локальный порт — поэтому доказательство не зависит от меток, специфичных для конкретной установки.
bash — проверка состояния
date --iso-8601=seconds
systemctl is-system-running
systemctl --failed --no-pager
nextcloud_container=$(
sudo docker ps --filter ancestor=nextcloud --format '{{.Names}}' | head -n 1
)
nextcloud_port=$(
sudo docker port "$nextcloud_container" 80/tcp | awk -F: 'NR == 1 {print $NF}'
)
sudo docker ps --format \
'table {{.Image}}\t{{.Status}}' | awk 'NR == 1 || /nextcloud|mariadb/'
sudo docker exec -u www-data "$nextcloud_container" php occ status
curl -fsS "http://127.0.0.1:${nextcloud_port}/status.php"очищенный фрагмент — проверка после перезагрузки хоста
Horodatage : 2026-08-15T07:51:40+00:00 État système : running Unités systemd en échec : 0 nextcloud Up About an hour mariadb Up About an hour installed: true versionstring: 33.0.0 maintenance: false needsDbUpgrade: false productname: Nextcloud
Как читать:
occ status и HTTP-эндпоинт состояния подтверждают, что Nextcloud 33.0.0 установлен, находится вне режима обслуживания и не имеет ожидающих миграций базы данных. Одновременное наличие контейнеров Nextcloud и MariaDB после перезагрузки демонстрирует их автоматическое восстановление.Ограничения и открытые задачи:
- Тома Docker находятся на системном диске ВМ — запланированное выделенное хранилище ZFS ещё не смонтировано/не используется.
- Свободное место на системном диске нужно отслеживать перед значительным ростом данных.
- Независимое резервное копирование и тестирование восстановления: пока не продемонстрированы.
- Цепочку антивирусного сканирования нужно развернуть в постоянной форме перед повторным включением её расширения Nextcloud.
- Отключённый коннектор внешнего хранилища нужно заменить совместимой версией или удалить окончательно.