Бързо и лесно инсталиране на Nextcloud чрез Docker Compose в Ubuntu 24.04

Бързо и лесно инсталиране на Nextcloud чрез Docker Compose в Ubuntu 24.04
Wooden Cubes cloud, Cubes with symbol cloud. 3D work and 3D image

В тази статия ще ви преведем стъпка по стъпка през процеса на инсталиране на Nextcloud с помощта на Docker Compose в Ubuntu 24.04. Този метод е идеален за начинаещи, тъй като автоматизира много от сложните аспекти на настройката, позволявайки ви да стартирате личния си облак за минути.

Какво е Nextcloud?

Nextcloud е мощна платформа с отворен код за съхранение, споделяне и синхронизиране на файлове. Тя предлага алтернатива на популярните облачни услуги като Dropbox, Google Drive и OneDrive, но с пълна контролираност на вашите данни. Nextcloud включва и множество допълнителни функции като календар, контакти, видеочатове и дори офис приложения.

Какво е Docker?

Docker е платформа за контейнеризация, която позволява изпълнението на приложения в изолирани среди, наречени контейнери. Тези контейнери са леки, преносими и съдържат всичко необходимо за работа на приложението – код, системни инструменти, библиотеки и настройки.

Какво е Docker Compose?

Docker Compose е инструмент за дефиниране и управление на многоконтейнерни Docker приложения. С помощта на YAML файл (docker-compose.yml) можете да конфигурирате всички услуги, мрежи и томове, необходими за вашето приложение, и да ги стартирате с една команда.

Предварителни изисквания

Преди да започнете, ще ви трябва:

  • Ubuntu 24.04 сървър с root достъп
  • Минимум 2GB RAM (4GB препоръчително)
  • Минимум 20GB дисково пространство
  • Интернет връзка

Стъпка 1: Инсталиране на Docker и Docker Compose

Първо, нека инсталираме необходимите пакети.

  1. Обновете системните пакети:
sudo apt update && sudo apt upgrade -y

2. Изтеглете скрипта

curl -fsSL https://get.docker.com -o install-docker.sh

3. Стартирайте скрипта

sudo sh install-docker.sh

Стъпка 2: Подготовка на средата за Nextcloud

  1. Създайте директория за вашия Nextcloud проект (можете да изберете друго име вместо „nex“):
mkdir -p /root/nex/db
mkdir -p /root/nex/html

Стъпка 3: Създаване на docker-compose.yml файл

  1. Създайте нов файл docker-compose.yml:
nano /root/nex/docker-compose.yml

Копирайте следния конфигурационен код, като замените „yourdomain.com“ с вашия домейн (или IP адрес, ако нямате домейн):

version: '3'

services:
  db:
    image: mariadb:10.6
    restart: always
    volumes:
      - /root/nex/db:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_PASSWORD: cloudpass
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud

  redis:
    image: redis:alpine
    restart: always

  app:
    image: nextcloud:26.0.3-apache
    restart: always
    ports:
      - 8080:80
    volumes:
      - /root/nex/html:/var/www/html
    environment:
      MYSQL_PASSWORD: cloudpass
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_HOST: db
      REDIS_HOST: redis
      OVERWRITEPROTOCOL: https
    depends_on:
      - db
      - redis

  cron:
    image: nextcloud:26.0.3-apache
    restart: always
    volumes:
      - /root/nex/html:/var/www/html
    entrypoint: /cron.sh
    depends_on:
      - app

  1. Запазете файла (Ctrl+O, Enter) и излезте от nano (Ctrl+X).

Естествено, можете да промените порта: ports: – 8080:80 ,

примерно на ports: – 8586:80

Стъпка 4: Стартиране на Nextcloud контейнерите

  1. Навигирайте до директорията на проекта:
cd /root/nex

Стартирайте контейнерите в режим на демон (на заден план):

docker-compose up -d

Проверете статуса на контейнерите:

docker-compose ps

Трябва да видите три работещи контейнера: db, redis и app.

Стъпка 5: Достъп до Nextcloud през браузър

Отворете вашия браузър и навигирайте до:

http://вашият_сървър_IP:8080

или, ако сте конфигурирали домейн ( за предпочитане ):

http://вашият_домейн:8080

Трябва да видите началната страница на Nextcloud, където можете да създадете администраторски акаунт.

Стъпка 6: Настройка на Nextcloud

Първо, инсталирайте текстовия редактор nano (ако не е инсталиран):

docker exec -it nex_app_1 apt update
docker exec -it nex_app_1 apt install -y nano

Редактирайте config.php файла:

docker exec -it nex_app_1 nano /var/www/html/config/config.php

Добавете или модифицирайте следните настройки (между ‘); и ?>) , ако е необходимо:

  'trusted_domains' => 
  array (
    0 => 'localhost',
    1 => 'вашият_домейн',
    2 => 'вашият_IP',
  ),
  'overwrite.cli.url' => 'https://вашият_домейн',
  'overwritehost' => 'вашият_домейн',
  'overwriteprotocol' => 'https',
  'default_phone_region' => 'BG',
  'mail_smtpmode' => 'smtp',
  'mail_smtpauthtype' => 'LOGIN',
  'mail_from_address' => 'nextcloud',
  'mail_domain' => 'вашият_домейн',
  'mail_smtphost' => '',
  'mail_smtpport' => '',
  'mail_smtpname' => '',
  'mail_smtppassword' => '',
  'maintenance' => false,
  'memcache.local' => '\\OC\\Memcache\\Redis',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' => 
  array (
    'host' => 'redis',
    'port' => 6379,
  ),

  1. Запазете промените (Ctrl+O, Enter) и излезте от nano (Ctrl+X).
  2. Рестартирайте Nextcloud контейнера:
docker-compose restart app

Стъпка 8: Допълнителни препоръки

  1. SSL сертификат: Използвайте Let’s Encrypt за безплатен SSL сертификат. Можете да използвате Nginx като reverse proxy.
  2. Резервни копия: Редовно правете резервни копия на вашите данни:
    • /root/nex/db – съдържа MariaDB данните
    • /root/nex/html – съдържа Nextcloud файловете и конфигурациите
  3. Обновления: Редовно обновявайте вашите Docker образи:
docker-compose pull
docker-compose up -d

Заключение

Чрез тази стъпка по стъпка инструкция, вие успешно инсталирахте Nextcloud с Docker Compose на Ubuntu 24.04. Този метод предлага няколко предимства:

  1. Изолиране: Nextcloud и неговите зависимости са изолирани в контейнери
  2. Лесни обновления: Можете лесно да обновявате Nextcloud чрез Docker образи
  3. Преносимост: Конфигурацията може да бъде пренесена на друг сървър с минимални усилия
  4. Автоматично възстановяване: Контейнерите се рестартират автоматично при проблеми

След като вашият Nextcloud е работещ, можете да разгледате неговите многочислени приложения и функции, които могат да заменят много популярни онлайн услуги, като същевременно запазвате вашите данни под ваш контрол.

Федя Серафиев

Федя Серафиев

Федя Серафиев e собственик на уебсайта urocibg.eu. Той намира удовлетворение в това да помага на хората да решават и най-сложните технически проблеми. Сегашната му цел е да пише лесни за следване статии, така че подобни проблеми изобщо да не възникват.

Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:

×