Встановлюємо OpenCloud на VPS чи виділений сервер


OpenCloud — це self-hosted платформа для зберігання, синхронізації та спільної роботи з файлами, написана на Go. У цій статті розглянемо, як встановити OpenCloud на VPS через Docker Compose на Debian, Ubuntu та AlmaLinux.

Що таке OpenCloud

OpenCloud — це self-hosted платформа для зберігання, синхронізації та спільної роботи з файлами, написана на Go. На відміну від традиційних PHP-рішень, вона не потребує окремої бази даних — усі метадані зберігаються поряд із самими файлами, що суттєво спрощує адміністрування, бекапи й відновлення після збою.

Звідки взявся OpenCloud

У січні 2025 року близько 15 інженерів команди ownCloud Infinite Scale (OCIS) — тих самих людей, які розробляли Go-переписання ownCloud — покинули компанію та заснували OpenCloud GmbH під егідою берлінської Heinlein Group (та сама компанія, що стоїть за поштовим сервісом mailbox.org). OpenCloud є прямим форком OCIS, і розробляється тими ж людьми, які створювали оригінальний продукт.

Якщо порівнювати з Nextcloud — обидва є нащадками ownCloud, але Nextcloud відгалузився ще у 2016 році й лишився на PHP/MySQL-стеку, тоді як OpenCloud — значно молодший і легший проєкт на Go без бази даних. Якщо потрібна максимальна екосистема плагінів — обирайте Nextcloud, якщо простота адміністрування і менше залежностей — OpenCloud.

Що вміє OpenCloud

  • Синхронізація файлів — десктопні клієнти для Windows, macOS, Linux та мобільні застосунки.
  • Спільна робота над документами — вбудована інтеграція з Collabora Online для редагування Office-файлів прямо в браузері.
  • Повнотекстовий пошук з OCR — знаходить текст навіть усередині сканованих документів.
  • Федеративний шеринг — можна ділитись файлами між різними інстансами OpenCloud, не тільки всередині одного сервера.
  • SSO та MFA — підтримка єдиного входу і багатофакторної автентифікації з коробки.
  • Аудит-логи та файловий фаєрвол — контроль того, хто, коли і з чим працював.

Що має бути готово заздалегідь

  • VPS з Debian 12, Ubuntu 22.04/24.04 або AlmaLinux 8/9
  • Доступ sudo або root
  • Два домени, спрямовані на IP сервера — основний (OC_DOMAIN) і окремий для Traefik (TRAEFIK_DOMAIN), обидва потребують власний DNS A-запис
  • Мінімум 4 ГБ оперативної пам’яті
Важливо: не встановлюйте Docker через стандартні пакети дистрибутива (apt install docker.io чи dnf install docker). У багатьох дистрибутивах, зокрема в Debian 12 “Bookworm”, системний пакет досі тягне за собою застарілий Docker Compose v1, з яким OpenCloud працює нестабільно або не запускається взагалі. Ставте Docker виключно з офіційного репозиторію, як показано нижче.

Встановлення Docker

Debian / Ubuntu:

curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER

AlmaLinux:

sudo dnf install -y dnf-plugins-core
sudo dnf install -y git nano
sudo dnf remove -y httpd
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo systemctl enable --now docker
sudo usermod -aG docker $USER

Перелогіньтесь (або виконайте newgrp docker), щоб зміна групи набула чинності, і перевірте версії:

docker --version
docker compose version

Встановлення OpenCloud

Крок 1. Клонування офіційного репозиторію конфігурацій

git clone https://github.com/opencloud-eu/opencloud-compose.git
cd opencloud-compose

Крок 2. Базове налаштування

cp .env.example .env
nano .env

Вкажіть наступні дані:

  • домен у змінній OC_DOMAIN (наприклад ваш-домен.com)
  • вкажіть TRAEFIK_DOMAIN (наприклад traefik.ваш-домен.com)
  • вкажіть TRAEFIK_ACME_MAIL (наприклад admin@ваш-домен.com)
  • задайте пароль адміністратора в INITIAL_ADMIN_PASSWORD
Важливо для AlmaLinux (firewalld): навіть якщо порти 80/443 відкриті у зоні public, реальний мережевий інтерфейс сервера може перебувати в іншій зоні — найчастіше docker, яку сам Docker створює автоматично. Перевірте, до якої зони прив’язані ваші інтерфейси: sudo firewall-cmd --get-active-zones. Якщо там значиться docker, а не public — правила з public просто не застосовуються до вхідного трафіку, і сайт не відкриється ззовні навіть при повністю правильній конфігурації Traefik. Відкрийте порти саме в потрібній зоні: sudo firewall-cmd --zone=docker --add-port=80/tcp --permanent && sudo firewall-cmd --zone=docker --add-port=443/tcp --permanent && sudo firewall-cmd --reload.

Крок 3. Запуск з автоматичним SSL через вбудований Traefik

Це рекомендований шлях для більшості нових інсталяцій — Traefik сам випускає й оновлює сертифікати Let’s Encrypt.

docker compose -f docker-compose.yml -f traefik/opencloud.yml up -d
Якщо на сервері вже є власний реверс-проксі (Nginx, Apache) — використовуйте профіль external-proxy замість traefik, він не намагається зайняти порти 80/443 самостійно: docker compose -f docker-compose.yml -f external-proxy/opencloud.yml up -d.
Перевірте, що всі контейнери запущені:

docker compose ps

Перший запуск

Відкрийте в браузері адресу вашого домену:

https://ваш-домен.com

Якщо все було зроблено правильно отримаємо вікно входу в систему:

Увійдіть з логіном admin і паролем, який вказали в .env на кроці 2. Одразу після входу варто змінити пароль на новий у налаштуваннях профілю.

Оновлення OpenCloud

cd opencloud-compose
git pull
docker compose -f docker-compose.yml -f traefik/opencloud.yml up -d

Стара версія колаборативного сервісу (WOPI) раніше працювала в окремому контейнері на власному піддомені — зараз вона вбудована прямо в основний процес OpenCloud і обслуговується через головний домен за шляхами /wopi та /collaboration. Якщо оновлюєтесь зі старої версії, окремий піддомен wopiserver.* та його DNS-запис можна прибрати.
Якщо плануєте зберігати на сервері значний обсяг файлів і документів — варто заздалегідь підібрати VPS з достатнім запасом дискового простору та SSD/NVMe накопичувачами, оскільки швидкість диска напряму впливає на чутливість пошуку та синхронізації великих бібліотек файлів.

Прокрутка до верху