Установка Nextcloud превращает домашний сервер в своё облако: файлы, общий доступ по ссылке, синхронизация с компьютером и телефоном, как в Яндекс Диске или Google Drive, только все данные лежат у вас дома. Я поставил Nextcloud 35.0.2 с нуля во временном контейнере на своём Proxmox, прошёл мастер, загрузил файлы, раздал ссылку и сделал резервную копию, а потом удалил стенд.
Ниже весь путь по шагам: что такое Nextcloud, почему для дома я выбрал Docker Compose, а не Nextcloud AIO, готовый compose-файл с MariaDB и Redis, мастер установки, обязательные настройки после него, клиенты для Windows и телефона, обновление и резервная копия. Скриншоты сняты на этом стенде в октябре 2026 года.
Коротко
- Nextcloud это бесплатная программа с открытым кодом для своего облачного хранилища. Файлы лежат на вашем диске, а заходить к ним можно из браузера, программы для Windows и приложения на телефоне.
- Для дома без домена проще всего Docker Compose с образом nextcloud, базой MariaDB и Redis. Nextcloud AIO удобнее в обслуживании, но требует доменное имя и настоящий сертификат HTTPS даже для работы только в домашней сети.
- Установка состоит из пяти шагов: папка, файл с паролями, compose-файл,
docker compose up -dи мастер в браузере. Сам мастер у меня отработал за 23 секунды. - После мастера переключите фоновые задания на Cron и задайте окно обслуживания. Остальные предупреждения на странице проверки для домашней сети не критичны.
- Обновляться можно только на одну основную версию за раз. Перед обновлением делайте копию базы и папки с файлами.
Nextcloud: что это и зачем он на домашнем сервере
Nextcloud это серверная программа, которая делает из любого компьютера с Linux личное облако. Главное в ней приложение «Файлы»: папки, загрузка из браузера, корзина, версии файлов, общий доступ по ссылке и другим пользователям. Вокруг него есть магазин приложений: календарь, контакты, заметки, почта, видеозвонки Talk, офисные документы. Для начала хватит одних файлов.
Зачем это дома:
- Свой «облачный диск» без подписки. Объём ограничен только вашим диском, а не тарифом.
- Синхронизация папок. Программа для Windows держит папку Nextcloud на компьютере в том же состоянии, что и на сервере.
- Ссылки для родственников. Отправить архив с фотографиями или документ можно ссылкой, без вложений в почте.
- Отдельные учётные записи для каждого члена семьи, у каждого свои файлы и своя квота.
Для фотографий с телефона у меня стоит отдельная программа, Immich: у неё лента по датам, поиск по лицам и по смыслу. Nextcloud тоже хранит фотографии, но как фотоархив он проще. Поэтому я делю так: Immich для фото, Nextcloud для документов и обмена файлами.
Если домашнего сервера ещё нет, начните со статьи Домашний сервер: зачем он нужен и из чего его собрать.
Что понадобится
| Что | Требования | Что было на стенде |
|---|---|---|
| Компьютер | Любой 64-битный, лучше работающий круглосуточно | Мини-ПК Beelink SER5 с Proxmox VE 9.2 |
| Система | Linux. Официально рекомендованы Ubuntu 26.04 LTS и RHEL 10, подходит и Debian | Контейнер LXC с Debian 13 |
| Память | По документации минимум 128 МБ на процесс PHP, рекомендовано от 512 МБ | Выделено 4 ГБ, после установки четыре контейнера заняли около 480 МБ |
| Диск | Место под программы плюс объём ваших файлов | 16 ГБ, после установки занято 4,9 ГБ |
| Docker | Docker Engine и Compose | Docker 29.9.1 и Compose 5.6.0 из официального скрипта get.docker.com |
| Сеть | Постоянный адрес сервера в домашней сети | Адрес по DHCP, для теста этого хватило |
Windows для сервера Nextcloud не подходит: на странице загрузки прямо написано, что Nextcloud Server не поддерживает Microsoft Windows. Клиенты для Windows при этом есть, о них ниже.
Как поставить Docker и что такое compose-файл, подробно разобрано в статье Docker для новичков.
Docker Compose или Nextcloud AIO
Кроме ручной установки, snap-пакета и образа NextcloudPi, для сервера с Docker есть два основных варианта.
| Docker Compose с образом nextcloud | Nextcloud All-in-One (AIO) | |
|---|---|---|
| Кто делает | Сообщество, это официальный образ Docker Hub | Компания Nextcloud GmbH |
| Как устроено | Вы сами пишете compose-файл: Nextcloud, база, Redis | Один управляющий контейнер сам запускает и обновляет остальные |
| Вход по IP-адресу | Работает: http://192.168.1.126:8080 |
Не поддерживается, нужен домен |
| HTTPS | Не обязателен в домашней сети | Обязателен настоящий сертификат, самоподписанный не подходит |
| Резервные копии | Делаете сами | Встроены (BorgBackup) |
| Офис и Talk | Ставите сами | Включаются галочкой |
Разработчики честно пишут, что образ nextcloud поддерживают добровольцы и он рассчитан на опытных пользователей, а для полного набора функций рекомендуют AIO. Но у AIO есть условие, которое для новичка всё меняет: ему нужно доменное имя и настоящий сертификат HTTPS. Даже в инструкции для работы только в домашней сети предлагаются варианты с доменом: бесплатный поддомен dedyn.io, свой домен с обратным прокси или проверка через DNS. Заходить в AIO по IP-адресу нельзя, и разработчики пишут, что добавлять это не будут.
Поэтому для первого знакомства я выбрал Docker Compose: четыре контейнера в одном понятном файле, вход по адресу сервера в домашней сети, никаких доменов и сертификатов. Если позже захотите открыть облако в интернет и у вас появится домен, AIO станет хорошим вариантом.
Nextcloud: установка через Docker Compose
Шаг 1. Папка и пароли
Каждому сервису удобно выделять свою папку. В ней будут лежать compose-файл, файл с паролями, база и все файлы Nextcloud:
mkdir -p ~/nextcloud
cd ~/nextcloudПароли для базы данных не пишите прямо в compose-файл, а вынесите в файл .env рядом с ним. Docker Compose сам подставит из него значения. Придумывать пароли не нужно, их сгенерирует команда:
printf "DB_ROOT_PASSWORD=%s\nDB_PASSWORD=%s\n" "$(openssl rand -hex 16)" "$(openssl rand -hex 16)" > .env
chmod 600 .envПолучится файл из двух строк со случайными паролями из 32 символов. Вводить их руками не придётся, а chmod 600 закрывает файл от других пользователей системы.
Шаг 2. Compose-файл
Создайте файл compose.yaml:
nano compose.yamlИ вставьте:
services:
# База данных MariaDB
db:
image: mariadb:lts
restart: unless-stopped
# Уровень изоляции транзакций, который требует Nextcloud
command: --transaction-isolation=READ-COMMITTED
volumes:
- ./db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD}
- MYSQL_PASSWORD=${DB_PASSWORD}
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
# Redis: кэш и блокировки файлов, ускоряет работу
redis:
image: redis:alpine
restart: unless-stopped
# Сам Nextcloud с веб-сервером Apache
app:
image: nextcloud:35
restart: unless-stopped
# Открывать в браузере: http://адрес-сервера:8080
ports:
- "8080:80"
depends_on:
- db
- redis
# Программа, настройки и все файлы пользователей
volumes:
- ./nextcloud:/var/www/html
environment:
- MYSQL_HOST=db
- MYSQL_PASSWORD=${DB_PASSWORD}
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- REDIS_HOST=redis
# Максимальный размер файла при загрузке через браузер
- PHP_UPLOAD_LIMIT=16G
- TZ=Europe/Moscow
# Фоновые задания каждые 5 минут
cron:
image: nextcloud:35
restart: unless-stopped
entrypoint: /cron.sh
depends_on:
- app
volumes:
- ./nextcloud:/var/www/htmlСохраните: Ctrl+O, Enter, Ctrl+X.
Что здесь важно:
- Тег
nextcloud:35, а неlatest. Nextcloud обновляется только на одну основную версию за раз, с 34 на 35, с 35 на 36. С тегомlatestоднажды можно получить прыжок через версию, а с номером вы сами решаете, когда переходить дальше. На 19 октября 2026 годаlatestи35указывали на 35.0.2, аstableна 34.0.5. - Папки
./dbи./nextcloudрядом с compose-файлом. В первой лежит база, во второй сам Nextcloud, его настройки (config) и файлы пользователей (data). Всё облако хранится в папке~/nextcloud, а как правильно её копировать, написано в разделе о резервной копии. - Контейнер cron запускает тот же образ, но вместо веб-сервера работает планировщик. Внутри у него одна строка:
*/5 * * * * php -f /var/www/html/cron.php, то есть фоновые задания раз в 5 минут, как рекомендует документация.
Шаг 3. Запуск
docker compose up -dDocker скачает образы и запустит четыре контейнера. Образы занимают на диске около 2,8 ГБ, из них 2,1 ГБ приходится на сам Nextcloud. Проверьте, что всё работает:
docker compose psNAME IMAGE COMMAND SERVICE STATUS PORTS
nextcloud-app-1 nextcloud:35 "/entrypoint.sh apac…" app Up 40 seconds 0.0.0.0:8080->80/tcp, [::]:8080->80/tcp
nextcloud-cron-1 nextcloud:35 "/cron.sh" cron Up 40 seconds 80/tcp
nextcloud-db-1 mariadb:lts "docker-entrypoint.s…" db Up 40 seconds 3306/tcp
nextcloud-redis-1 redis:alpine "docker-entrypoint.s…" redis Up 40 seconds 6379/tcpВ журнале контейнера app (docker compose logs app --tail 20) должны появиться строки Initializing nextcloud 35.0.2.2 ... и Next step: Access your instance to finish the web-based installation!. Это значит, что Nextcloud распаковался и ждёт мастера в браузере.
В журнале cron при этом может мелькнуть Not installed: планировщик запустился раньше, чем вы прошли мастер. После установки ошибка не повторяется.
Мастер установки
Откройте в браузере http://IP-сервера:8080. IP сервера покажет команда hostname -I (первый адрес в списке). На стенде это был http://192.168.1.126:8080.

Зелёная плашка «Обнаружен файл автоконфигурации» означает, что мастер получил параметры базы из переменных MYSQL_* в compose-файле. Если раскрыть «Хранилище и база данных», видно выбранную MySQL/MariaDB, пользователя nextcloud, хост db и каталог данных /var/www/html/data. Ничего здесь менять не нужно.
Заполните только два поля:
- Имя учётной записи администратора. Можно
admin, но лучше своё имя: администратора первым делом пытаются подобрать боты, если сервер когда-нибудь окажется в интернете. - Пароль. Мастер сразу оценивает его надёжность, у меня он написал «Пароль чрезвычайно надёжный». Сохраните его в менеджере паролей.
Нажмите Установить. У меня установка заняла 23 секунды.
Следующий экран предлагает рекомендованные приложения: Calendar, Contacts, Mail, Nextcloud Office, Notes и Talk.

Я нажал Пропустить: для начала нужны только файлы, а каждое приложение можно поставить позже в меню Приложения. После этого откроется панель «Виджеты» и окно с новостями версии (Nextcloud Hub 26 Summer), его можно закрыть.
Первые настройки после установки
Все команды ниже выполняются в папке ~/nextcloud. Управляется Nextcloud утилитой occ, и запускать её нужно от пользователя веб-сервера www-data:
docker compose exec -u www-data app php occ status - installed: true
- version: 35.0.2.2
- versionstring: 35.0.2
- maintenance: false
- needsDbUpgrade: falseТеперь откройте Параметры (аватар в правом верхнем углу) → Общие сведения. Там Nextcloud сам проверяет свою настройку и показывает список замечаний.

Что я исправил сразу:
# Фоновые задания через планировщик (контейнер cron), а не при открытии страниц
docker compose exec -u www-data app php occ background:cron
# Тяжёлые ежедневные задачи ночью: с 01:00 до 05:00 UTC, это 04:00-08:00 по Москве
docker compose exec -u www-data app php occ config:system:set maintenance_window_start --type=integer --value=1
# Страна для телефонных номеров в профиле
docker compose exec -u www-data app php occ config:system:set default_phone_region --value=RU
# Миграция типов файлов, о которой просит проверка
docker compose exec -u www-data app php occ maintenance:repair --include-expensiveПервая команда самая важная. По умолчанию Nextcloud выполняет фоновые задания режимом AJAX, по одному при каждом открытии страницы. Документация называет этот режим наименее надёжным и рекомендует Cron. Контейнер cron у нас уже есть, но без этой команды Nextcloud продолжит запускать задания ещё и при открытии страниц.
Остальные замечания на свежей установке выглядят страшнее, чем они есть:
| Замечание | Что это значит | Что делать дома |
|---|---|---|
| HTTPS и адреса | Сайт открыт по HTTP. Nextcloud предупреждает, что некоторые функции браузера без HTTPS не работают | В домашней сети можно оставить так. Перед выходом в интернет HTTPS обязателен |
| Заголовки HTTP: Strict-Transport-Security | Тот же HTTPS, заголовок имеет смысл только с ним | Ничего |
| Ошибки в журнале | Одна ошибка Not installed от cron, который запустился до мастера |
Ничего, новых ошибок не появляется |
| Конфигурация базы данных | Советы по тонкой настройке MariaDB: журнал медленных запросов, размер журнала InnoDB для нагруженных серверов | Для семьи не нужно |
| AppAPI, второй фактор, почта, идентификатор сервера | Информационные пункты | Почту стоит настроить в Основные параметры, если нужны письма о сбросе пароля и общих файлах |
Файлы и общий доступ по ссылке
Откройте Файлы. В новой учётной записи уже лежат примеры: папки Documents, Photos, «Шаблоны», руководство в PDF и короткое видео. Их можно удалить.

Загрузить файл можно двумя способами: перетащить его в окно браузера или нажать Новый → Загрузить файлы. В том же меню есть «Загрузить папки», «Новая папка», «Создать запрос файлов» и «Текстовый документ». Я загрузил тестовую картинку на 89 КБ, она появилась в списке через пару секунд.
На диске сервера файлы лежат как обычные файлы, без шифрования и переименования: моя картинка оказалась в ~/nextcloud/nextcloud/data/admin/files/dacha-2026.jpg. Но класть файлы в эту папку руками в обход Nextcloud не стоит: он не узнает о них, пока не пересканирует папку командой occ files:scan.
Как поделиться файлом по ссылке
- Нажмите значок общего доступа в строке файла (человечек с плюсом). Справа откроется панель с вкладкой Общий доступ.
- В разделе Внешние общие ресурсы нажмите на пункт «Создать общедоступную ссылку». Появится строка «Общий доступ по ссылке», и Nextcloud сообщит «Ссылка создана».
- Под ссылкой выбирается режим: Для просмотра, Разрешить редактирование или свои права.
- В меню из трёх точек есть Настроить ссылку: там в разделе Расширенные параметры можно задать пароль, срок действия, лимит скачиваний и скрыть кнопку скачивания («Скрыть скачивание»).

Ссылка выглядит так: http://192.168.1.126:8080/s/5fZ3wZW8gxdyWAM. В окне браузера без входа картинка открылась сразу, а по ссылке с /download на конце скачался файл того же размера, 91 213 байт.
Есть одно ограничение. Пока сервер доступен только из домашней сети, ссылка тоже работает только дома. Родственнику в другом городе она не откроется. Чтобы ссылки работали снаружи, сервер нужно открывать в интернет, а это отдельная большая тема с HTTPS, доменом и защитой.
Учётные записи для семьи
Работать под администратором каждый день не стоит. Заведите обычную учётную запись себе и каждому члену семьи: Параметры → Учётные записи → Создать учётную запись.

Обязательны имя учётной записи и пароль (или адрес почты, если почта настроена: тогда Nextcloud пришлёт ссылку для задания пароля). Поле Квота ограничивает место, например 200 ГБ на человека: так один любитель видео не займёт весь диск.
Клиенты для Windows и телефона
Этот раздел я написал по официальной документации и странице загрузок, на стенде клиенты не ставил.
Программа для Windows
На странице nextcloud.com/install есть Nextcloud Files для Windows 10 версии 1809 и новее (только 64-битной), macOS 13 и новее, а для Linux в формате AppImage. На октябрь 2026 года там лежит версия 35.0.0. По документации настройка идёт так:
- Установите программу и запустите. Откроется мастер, выберите вход на свой сервер (в документации эта кнопка называется «Login to your Nextcloud»).
- Введите адрес сервера, тот же, что в браузере:
http://192.168.1.126:8080. - Откроется браузер со страницей входа Nextcloud. Войдите и нажмите кнопку разрешения доступа (Grant access).
- Выберите, синхронизировать всё или только отдельные папки, и где хранить папку на компьютере. По умолчанию это папка
Nextcloudв вашей домашней папке. - Нажмите кнопку подключения (в документации Connect). Значок в трее покажет ход синхронизации.
Все браузеры и клиенты, в которых выполнен вход, видны в Параметры → Безопасность → «Активные устройства и сеансы». Там же есть кнопка «Создать пароль приложения»: отдельный пароль для программы или телефона, который можно отключить, не меняя основной.
Приложение для телефона
Приложение Nextcloud Files для Android есть в Google Play, в F-Droid и отдельным файлом APK на сайте, для iPhone в App Store. При первом запуске оно так же попросит адрес сервера и вход в учётную запись. Повторю: пока сервер не открыт в интернет, телефон видит его только в домашнем Wi-Fi.
Без клиента к файлам можно подключиться по протоколу WebDAV, адрес http://IP-сервера:8080/remote.php/dav/files/ИМЯ/. Загрузку через него я проверил командой curl: сервер ответил кодом 201, файл появился в веб-интерфейсе.
Nextcloud на домашнем сервере: постоянный адрес и доверенные домены
Мастер запоминает адрес, по которому вы его открыли, и пускает в Nextcloud только по нему. В настройках это параметр trusted_domains. После установки на стенде в нём был один адрес, 192.168.1.126:8080.
Отсюда два практических вывода:
- Адрес сервера должен быть постоянным. Задайте серверу статический IP вне пула DHCP или закрепите адрес в настройках роутера. Как попасть в настройки роутера, рассказано в статье Как зайти в настройки роутера с телефона.
- Если зайти по другому адресу (по имени сервера или с новым IP), Nextcloud покажет страницу «Доступ через недоверенный домен». Новый адрес добавляется так:
docker compose exec -u www-data app php occ config:system:set trusted_domains 1 --value=nc.home.lan:8080Цифра 1 это номер записи в списке: под номером 0 уже стоит адрес из мастера. Я проверил: до команды Nextcloud по имени nc.home.lan:8080 показывал «Доступ через недоверенный домен», после неё страница входа открылась. Посмотреть весь список можно командой occ config:system:get trusted_domains.
Как обновлять Nextcloud
Обновления в пределах версии 35 (35.0.2, 35.0.3 и так далее) ставятся двумя командами в папке ~/nextcloud:
docker compose pull
docker compose up -dDocker скачает свежий образ с тегом 35 и пересоздаст контейнеры, а при запуске контейнер app сам обновит файлы Nextcloud и базу. Ваши файлы и настройки лежат в папках db и nextcloud, поэтому не пропадают.
Переход на следующую основную версию делается сменой тега: nextcloud:35 → nextcloud:36 в обоих местах compose-файла, затем те же две команды. Перескакивать через версию нельзя, это прямо сказано в описании образа. По графику выпусков Nextcloud 36 (Hub 27 Winter) запланирован на 17 февраля 2027 года, а поддержка версии 35 продлится до сентября 2027 года. Перед сменой основной версии сделайте резервную копию.
Резервная копия
По документации в копию Nextcloud должны попасть папки с настройками, данными, темами и сторонними приложениями, а также база данных. В нашей схеме первые четыре лежат внутри ~/nextcloud/nextcloud, а базу удобнее сохранить отдельным дампом: копировать файлы работающей MariaDB ненадёжно.
Порядок, который я проверил на стенде:
cd ~/nextcloud
# 1. Режим обслуживания: пользователи и клиенты временно отключаются
docker compose exec -u www-data app php occ maintenance:mode --on
# 2. Дамп базы. Пароль берётся из переменной внутри контейнера
docker compose exec -T db sh -c 'mariadb-dump --single-transaction -u nextcloud -p"$MYSQL_PASSWORD" nextcloud' > nextcloud-db-$(date +%F).sql
# 3. Архив папки с программой, настройками и файлами
sudo tar czf ~/nextcloud-files-$(date +%F).tar.gz nextcloud
# 4. Выключить режим обслуживания
docker compose exec -u www-data app php occ maintenance:mode --offНа свежей установке дамп базы весил 571 КБ, а архив папки 348 МБ (сам Nextcloud и файлы-примеры), он собрался за 26 секунд. С вашими данными архив будет расти, поэтому большое облако удобнее копировать на внешний диск программой rsync.
Не забудьте сохранить и compose.yaml с .env: без пароля из .env восстановленная база не подключится. Копии храните не на том же диске, что и сервер.
Частые вопросы
Nextcloud что это, простыми словами?
Своё облачное хранилище вроде Яндекс Диска, которое работает на вашем компьютере. Файлы лежат дома, а доступ к ним есть из браузера, программы на компьютере и приложения на телефоне. Программа бесплатная, с открытым кодом.
Nextcloud Docker или AIO: что выбрать новичку?
Если домена нет и облако нужно только дома, Docker Compose из этой статьи: он работает по IP-адресу без сертификатов. AIO требует домен и настоящий HTTPS, зато сам делает резервные копии и обновляет все свои контейнеры. Когда соберётесь открывать облако в интернет, на AIO стоит посмотреть.
Сколько памяти нужно Nextcloud на домашнем сервере?
Сразу после установки четыре контейнера заняли около 480 МБ. Документация рекомендует от 512 МБ на процесс PHP, а при нескольких пользователях процессов будет несколько. Контейнеру с 2-4 ГБ памяти этого хватает с запасом.
Есть ли клиент Nextcloud для Windows и телефона?
Да. Программа Nextcloud Files есть для Windows 10 и 11 (64-бит), macOS и Linux, приложение для Android в Google Play и F-Droid, для iPhone в App Store. Все бесплатные и скачиваются со страницы nextcloud.com/install.
Можно ли установить сервер Nextcloud на Windows?
Напрямую нет: на сайте Nextcloud сказано, что сервер не поддерживает Windows. Для Windows там предлагают виртуальную машину или Docker, но для постоянной работы лучше отдельный компьютер с Linux.
Источники (10)
- Официальный образ Nextcloud для Docker - GitHub
- Nextcloud All-in-One - GitHub
- AIO только в локальной сети - GitHub
- Установка Nextcloud: серверы и клиенты - Nextcloud
- Системные требования - документация Nextcloud
- Мастер установки и доверенные домены - документация Nextcloud
- Фоновые задания - документация Nextcloud
- Резервное копирование - документация Nextcloud
- Установка клиента для компьютера - документация Nextcloud
- График выпусков и поддержки - GitHub

Комментарии
Пока никто не написал. Будьте первым.