Google Диск и Dropbox удобны ровно до того момента, пока не упрёшься в лимит бесплатного места или пока сервис не решит, что ваш аккаунт ему больше не нужен. Файлы лежат у чужой компании, доступ к ним зависит от её настроения и от того, работает ли она в вашей стране.
Nextcloud — это то же самое, только на вашем сервере: файлы, синхронизация с телефоном и компьютером, общие ссылки, календарь и заметки. Разберём установку.
Сколько нужно ресурсов
| Пользователей | Память | Ядра | Диск |
|---|---|---|---|
| 1–3 (личное) | 2 ГБ | 2 | 40 ГБ+ |
| до 10 (семья, команда) | 4 ГБ | 2 | 100 ГБ+ |
Главный параметр здесь — диск, потому что на нём лежат ваши файлы. Прикиньте объём и возьмите с запасом: расширять диск потом сложнее, чем память.
Где взять много места дёшево
Обычные VPS дают NVMe-диски — быстро, но дорого за гигабайт. Под облако выгоднее брать тариф с большим обычным диском или отдельное объектное хранилище, которое Nextcloud умеет подключать. Смотрите каталог хостингов и обращайте внимание на объём.
Шаг 1. Домен
Nextcloud без домена ставить не стоит: мобильные приложения требуют HTTPS, а сертификат выдаётся только на имя.
Купите домен и направьте его A-записью на IP сервера. Подождите 10–30 минут, проверьте:
root@vps:~#dig +short мойоблако.руДолжен показаться адрес вашего сервера.
Шаг 2. Docker
Ставим Docker — с ним Nextcloud поднимается одним файлом:
root@vps:~#apt update && apt install -y ca-certificates curlroot@vps:~#install -m 0755 -d /etc/apt/keyringsroot@vps:~#curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascroot@vps:~#chmod a+r /etc/apt/keyrings/docker.ascroot@vps:~#echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" > /etc/apt/sources.list.d/docker.listroot@vps:~#apt update && apt install -y docker-ce docker-ce-cli containerd.io docker-compose-pluginШаг 3. Описываем сервисы
root@vps:~#mkdir -p /opt/nextcloud && cd /opt/nextcloud && nano docker-compose.ymlservices:
db:
image: postgres:16-alpine
restart: unless-stopped
volumes:
- ./db:/var/lib/postgresql/data
environment:
POSTGRES_DB: nextcloud
POSTGRES_USER: nextcloud
POSTGRES_PASSWORD: ПРИДУМАЙТЕ_ПАРОЛЬ
redis:
image: redis:alpine
restart: unless-stopped
app:
image: nextcloud:apache
restart: unless-stopped
ports:
- "127.0.0.1:8080:80"
volumes:
- ./data:/var/www/html
environment:
POSTGRES_HOST: db
POSTGRES_DB: nextcloud
POSTGRES_USER: nextcloud
POSTGRES_PASSWORD: ПРИДУМАЙТЕ_ПАРОЛЬ
REDIS_HOST: redis
NEXTCLOUD_TRUSTED_DOMAINS: мойоблако.ру
depends_on:
- db
- redis
Замените пароль в двух местах на одинаковый и подставьте свой домен.
Redis тут не для красоты: без него интерфейс заметно тормозит при работе нескольких устройств.
Запускаем:
root@vps:~#docker compose up -droot@vps:~#docker compose psШаг 4. Nginx и сертификат
Контейнер слушает только внутри сервера. Наружу его выведет nginx, он же выдаст HTTPS.
root@vps:~#apt install -y nginx certbot python3-certbot-nginxroot@vps:~#nano /etc/nginx/sites-available/nextcloudserver {
listen 80;
server_name мойоблако.ру;
# файлы могут быть большими — снимаем ограничение
client_max_body_size 10G;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_request_buffering off;
}
}
root@vps:~#ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/root@vps:~#nginx -t && systemctl reload nginxroot@vps:~#certbot --nginx -d мойоблако.руСтрочка про размер файла обязательна
По умолчанию nginx не пропускает файлы больше 1 МБ. Без client_max_body_size загрузка любого нормального файла будет обрываться с непонятной ошибкой — это самая частая жалоба новичков.
Шаг 5. Первый вход
Откройте https://мойоблако.ру — увидите экран создания администратора. Придумайте логин и длинный пароль: панель доступна из интернета, и её будут перебирать.
После входа зайдите в Параметры → Основные сведения и посмотрите список предупреждений. Nextcloud сам подскажет, что стоит донастроить.
Шаг 6. Подключаем устройства
Телефон. Установите приложение Nextcloud из магазина, укажите адрес https://мойоблако.ру, войдите. Включите автозагрузку фотографий — и снимки будут копироваться к вам, а не в чужое облако.
Компьютер. Скачайте клиент с nextcloud.com, он создаст папку, которая синхронизируется как Dropbox.
Календарь и контакты. Работают по стандартным протоколам CalDAV и CardDAV — подключаются в стандартные приложения iPhone и Android без сторонних программ.
Что важно сделать сразу
Бэкапы. Своё облако означает, что и отвечаете за данные вы. Настройте резервное копирование папок /opt/nextcloud/data и дампа базы. Без этого одна ошибка диска сотрёт весь семейный фотоархив.
Защита сервера. Панель с личными файлами, торчащая в интернет, — заманчивая цель. Пройдитесь по гайду «Как защитить VPS от взлома».
Двухфакторная аутентификация. В Nextcloud включается в разделе приложений — стоит потратить пять минут.
Сколько это стоит по сравнению с Google
Сервер с 4 ГБ памяти и диском на 100 ГБ обойдётся примерно в 1000–1500 ₽ в месяц. Google One на 200 ГБ стоит около 200 ₽ — дешевле.
Так что дело не в экономии, а в контроле: файлы лежат у вас, никто не сканирует их содержимое, не блокирует аккаунт и не меняет условия. Для многих это стоит разницы в цене — особенно когда речь о рабочих документах или семейном архиве.
Подобрать сервер под облакоГлавное — объём диска. Память и процессор для личного облака нужны скромные.
Смотреть тарифыЧто дальше
Разобрались с Docker — по той же схеме на этот сервер можно поставить свой менеджер паролей или автоматизацию n8n. Один сервер спокойно тянет несколько таких сервисов.