Как да инсталираме Nextcloud с Docker Compose на Ubuntu 24.04?

Как да инсталираме Nextcloud с Docker Compose на Ubuntu 24.04?

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

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

Преди да започнем, уверете се, че разполагате със следното:

  1. Сървър с Ubuntu 24.04 LTS.
  2. Потребител с sudo привилегии.
  3. Docker – за създаване и управление на контейнери.
  4. Docker Compose – за конфигуриране и стартиране на Portainer чрез YAML файл.
  5. Ако нямате инсталирани тези инструменти, можете да прочетете: Как да инсталирате Docker на Ubuntu.

Стъпка 1: Актуализиране на системата

Първо, нека актуализираме системата, за да сме сигурни, че имаме най-новите пакети. Отворете терминала и въведете следните команди:

sudo apt update
sudo apt upgrade -y

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

Стъпка 2: Създаване на директория за Nextcloud

Сега ще създадем директория за нашата Nextcloud инсталация. Изпълнете следната команда:

sudo mkdir -p nextcloud

Тази команда създава директорията /nextcloud, където ще съхраняваме всички файлове, свързани с Nextcloud.

Стъпка 3: Създаване на Docker Compose файл

Следващата стъпка е създаването на Docker Compose файл. Този файл ще дефинира услугите за Nextcloud. Създайте файла с команда:

sudo vi nextcloud/docker-compose.yml

Копирайте и поставете следното съдържание във файла:

version: '3.9'  # Можете да пропуснете тази линия, ако желаете

services:
  db:
    image: mariadb:latest
    restart: always
    volumes:
      - db_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: parola123
      MYSQL_PASSWORD: parola123
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
  app:
    image: nextcloud:26.0.3-apache
    restart: always
    ports:
      - 8086:80
    volumes:
      - ./nextcloud:/var/www/html
    environment:
      MYSQL_PASSWORD: parola123
      MYSQL_DATABASE: nextcloud
      MYSQL_USER: nextcloud
      MYSQL_HOST: db
      OVERWRITEPROTOCOL=https
volumes:
  db_data:
  nextcloud:

Ето какво прави този файл:

  • Дефинира две услуги:
    • db: Стартира контейнер с база данни MariaDB за съхранение на данните на Nextcloud.
    • app: Стартира контейнер с Nextcloud приложението, което се свързва с базата данни.
  • Определя обеми:
    • db_data: Създава обем за съхранение на данните на базата данни, което гарантира, че те няма да бъдат загубени при рестартиране на контейнера.
    • nextcloud: Създава обем за съхранение на файловете, които ще качваш в Nextcloud.
  • Конфигурира променливи на средата:
    • Задават се пароли за базата данни и други необходими настройки за свързване между Nextcloud и базата данни.
  • Определя портове:
    • Насочва локалния порт 8086 към порт 80 вътре в контейнера с Nextcloud. Това ти позволява да достъпиш Nextcloud на този порт.

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

Сега сме готови да стартираме Nextcloud. Навигирайте до директорията с Docker Compose файла:

cd /nextcloud

След това стартирайте контейнерите с командата:

sudo docker-compose up -d

Тази команда ще изтегли необходимите образи и ще стартира контейнерите в режим на заден фон.

Стъпка 5: Конфигуриране на Nextcloud

След като контейнерите са стартирани, отворете уеб браузър и въведете адреса на вашия сървър. Използвайте следния формат:

http://вашият_ip_адрес:8086

Ще видите страницата за първоначална настройка на Nextcloud. Следвайте инструкциите на екрана, за да създадете администраторски акаунт.

Инсталиране чрез скрипт

Ако горното ви се вижда трудно, можете да инсталите Nextcloud просто с една команда:

curl -L https://urocibg.eu/wp-content/uploads/2024/10/install_docker_nextcloud.zip -o install_docker_nextcloud.zip && unzip install_docker_nextcloud.zip && bash install_docker_nextcloud.sh

Обяснение на командата:

  • curl -L: Изтегля файла от посочения URL. Опцията -L следва всякакви пренасочвания.
  • -o install_docker_nextcloud.zip: Задава името на изтегления файл.
  • &&: Изпълнява следващата команда само ако предишната команда е успешна.
  • unzip install_docker_nextcloud.zip: Разархивира ZIP файла.
  • bash install_docker_nextcloud.sh: Изпълнява скрипта install_docker_nextcloud.sh.

Забележки:

  • Уверете се, че имате инсталиран пакет unzip, за да можете да разархивирате ZIP файла. Ако не е инсталиран, можете да го инсталирате с:
sudo apt-get install unzip

Изпълнете командата в терминала в директория, където искате да свалите и инсталирате скрипта.

Стъпка 6: Настройка на обратен прокси (опционално)

За по-добра сигурност, препоръчително е да конфигурирате обратен прокси, като Nginx. Това ще позволи използването на HTTPS.

Инсталирайте Nginx:

sudo apt install nginx -y

Създайте конфигурационен файл за Nextcloud:

sudo nano /etc/nginx/sites-available/nextcloud

Добавете следното съдържание:

server {
    listen 80;
    server_name вашият_домейн.com;

    location / {
        proxy_pass http://localhost: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;
    }
}

Активирайте конфигурацията:

sudo ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Заключение

Поздравления! Вие успешно инсталирахте Nextcloud с помощта на Docker Compose на Ubuntu 24.04. Сега имате лична облачна платформа за съхранение и синхронизация на файлове. Не забравяйте редовно да правите резервни копия на вашите данни. Препоръчително е също да настроите SSL сертификат за по-добра сигурност. Насладете се на вашия нов Nextcloud сървър!

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