---
title: 'Как установить NextCloud используя Docker Compose | Zomro'
description: 'NextCloud — это популярная платформа для обмена файлами и совместной работы с открытым исходным кодом, которая позволяет хранить, совместно использовать и совместно...'
image: 'https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1676899478_01.png'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [FAQ](https://zomro.com/rus/blog/faq/)
  * Как установить NextCloud используя Docker Compose 



# Как установить NextCloud используя Docker Compose

26-02-2023

NextCloud — это популярная платформа для обмена файлами и совместной работы с открытым исходным кодом, которая позволяет хранить, совместно использовать и совместно работать над документами, фотографиями, видео и многим другим.  
  
В этой статье мы познакомим вас с процессом установки NextCloud в Docker Compose.  


## **Установка Docker и Docker Compose**

  
Прежде чем начать, вам необходимо установить Docker и Docker Compose. Вы можете найти инструкции по установке для своей операционной системы на нашем блоге для [Centos 7](https://zomro.com/rus/blog/faq/287-kak-ustanovit-docker-na-centos-7) или для [Ubuntu 20.04](https://zomro.com/rus/blog/faq/286-kak-ustanovit-docker-na-ubuntu-2004).

###   
**Установим Docker-Compose**
    
    
    curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Устанавливаем права на запуск.   

    
    
    chmod +x /usr/local/bin/docker-compose

Проверяем как установился Docker-Compose:  

    
    
    docker-compose --version

  
![Как установить NextCloud используя Docker Compose - 1](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1676899478_01.png)

## **Создайте директорию для хранения данных Nextcloud**

В этой директории будут храниться данные пользователей и файлы. Например, вы можете создать директорию /opt/nextcloud-data и перейти:
    
    
    mkdir /opt/nextcloud-data && cd /opt/nextcloud-data
    

### **Создайте файл Docker Compose**

Далее вам нужно создать файл Docker Compose, определяющий сервисы для NextCloud. Чтобы создать файл, откройте текстовый редактор и создайте новый файл с именем docker-compose.yml. Скопируйте и вставьте следующий код в файл:
    
    
    services:
      nextcloud_db:
        image: mariadb:10.5
        command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
        restart: always
        volumes:
          - ./nextcloud-db:/var/lib/mysql
        environment:
          - MYSQL_ROOT_PASSWORD=vAfrhiwaj7spoe1DBARv
          - MYSQL_PASSWORD=22CifgJLFFdeKKuprzT6
          - MYSQL_DATABASE=nextcloud
          - MYSQL_USER=nextcloud
    
      nextcloud:
        image: nextcloud
        ports:
          - 9090:80
        links:
          - nextcloud_db
        volumes:
          - ./nextcloud-dаta:/var/www/html
        environment:
          - NEXTCLOUD_DATA_DIR=/var/www/html/data
          - MYSQL_PASSWORD=22CifgJLFFdeKKuprzT6
          - MYSQL_DATABASE=nextcloud
          - MYSQL_USER=nextcloud
          - MYSQL_HOST=nextcloud_db
        restart: always

  
После сохранения файла, запускаем следующую команду в папке где находиться yaml файл:
    
    
    docker-compose up -d

  
  
И можем наблюдать за развертыванием контейнеров.   
  
![Как установить NextCloud используя Docker Compose - 2](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1676900326_1.png)  
![Как установить NextCloud используя Docker Compose - 3](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1676900332_2.png)

После успешного развертывания, контейнеры будут запущены. 

  
![Как установить NextCloud используя Docker Compose - 4](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1676900362_3.png)

Рассмотрим конфигурацию Docker Compose файла для запуска двух контейнеров: базы данных MariaDB и веб-приложения Nextcloud.  
  
В первом пункте мы определяем службу **nextcloud_db** , которая будет представлять базу данных **MariaDB**. Для этой службы мы используем официальный образ Docker **mariadb:10.5**. 

**Затем мы задаем несколько параметров:**

  * **command** : Этот параметр задает команду, которая будет запущена внутри контейнера. Здесь мы задаем параметры для MariaDB, чтобы использовать **READ-COMMITTED** в качестве уровня изоляции транзакций и **ROW** в качестве формата бинарных журналов.

  * **restart** : Этот параметр указывает, что контейнер следует перезапускать автоматически в случае сбоя.

  * **volumes** : Этот параметр монтирует локальную директорию ./nextcloud-db внутри контейнера по пути**/var/lib/mysql**. Это позволяет сохранять данные базы данных на локальном диске.




**Затем мы задаем переменные среды:**

  * **MYSQL_ROOT_PASSWORD** : Это пароль для суперпользователя базы данных MariaDB (root).

  * **MYSQL_PASSWORD** : Это пароль для пользователя базы данных nextcloud.

  * **MYSQL_DATABASE** : Это название базы данных, которая будет создана для Nextcloud.

  * **MYSQL_USER** : Это имя пользователя, которое будет создано для базы данных Nextcloud.




Во втором пункте мы определяем службу **nextcloud** , которая будет представлять веб-приложение Nextcloud. Для этой службы мы используем официальный образ Docker **nextcloud**. 

**Затем мы задаем несколько параметров:**

  * **ports** : Этот параметр связывает порт **9090** на локальной машине с портом **80** внутри контейнера. Это позволяет получить доступ к Nextcloud из веб-браузера.

  * **links** : Этот параметр связывает контейнер с базой данных MariaDB, чтобы Nextcloud мог использовать ее для хранения данных.

  * **volumes** : Этот параметр монтирует локальную директорию ./nextcloud внутри контейнера по пути **/var/www/html.** Это позволяет сохранять данные приложения на локальном диске.




**Затем мы задаем переменные среды:**

  * **NEXTCLOUD_DATA_DIR** : Это путь, по которому Nextcloud будет сохранять данные.

  * **MYSQL_PASSWORD** : Это пароль для пользователя базы данных nextcloud.

  * **MYSQL_DATABASE** : Это название базы данных, созданной для Nextcloud.

  * **MYSQL_USER** : Это имя пользователя, созданное для базы данных Nextcloud.

  * **MYSQL_HOST** : Этот параметр указывает имя хоста базы данных, с которой должно соединяться приложение Nextcloud.




  
Наконец, мы задаем параметр **restart** , чтобы контейнер Nextcloud также автоматически перезапускался в случае сбоя.

Теперь строке браузера, прописываем IP вашего сервера и порт который вы задали. В нашем случае это 9090.
    
    
    http://192.168.0.100:9090

![Как установить NextCloud используя Docker Compose - 5](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1676899949_03.png)

Теперь можем авторизоваться. В поле вводим нужный нам логин и пароль. Они будут созданы при входе в панель. 

  
![Как установить NextCloud используя Docker Compose - 6](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1676901194_6.png)  
  
После авторизации, можем наблюдать окно приветствия.   
  
![Как установить NextCloud используя Docker Compose - 7](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48@server-panel.net/2023/02/01/1676900196_7.png)

В целом, эта конфигурация Docker Compose позволяет легко запустить Nextcloud с базой данных MariaDB, которая сохраняет данные на локальном диске. Благодаря этому, вы можете легко развернуть Nextcloud на вашей локальной машине или сервере, чтобы использовать его для хранения файлов, календаря и т. д.

Также предлагаем рассмотреть другие полезные статьи:

  * [Список важных команд для работы с Docker-compose](https://zomro.com/rus/blog/faq/304-spisok-vazhnyh-komand-dlja-raboty-s-docker-compose)
  * [Dockerfile: Полное руководство для начинающих и профессионалов](https://zomro.com/rus/blog/faq/477-dockerfile-a-complete-guide-for-beginners-and-professionals)
  * [Как скопировать данные с хоста в Docker и из Docker на хост](https://zomro.com/rus/blog/faq/284-kak-skopirovat-dannye-s-hosta-v-docker-i-iz-docker-na-host)



Похожие статьи

[Сброс пароля на дистрибутиве Ubuntu/Debian с помощью GRUB](https://zomro.com/rus/blog/faq/158-sbros-parolja-na-distributive-ubuntu-debian-s-pomoschju-grub) [Проверка использования диска в ОС Linux](https://zomro.com/rus/blog/faq/393-proverka-ispolzovaniya-diska-v-os-linux) [Внешнее FTP хранилище: Подключение папки к Windows серверу.](https://zomro.com/rus/blog/faq/217-vneshnee-ftp-hranilische-podkljuchenie-k-serveru) [Ядра серверов Minecraft Java](https://zomro.com/rus/blog/faq/332-minecraft-java-server-cores) [Как установить Docker на Centos 7](https://zomro.com/rus/blog/faq/287-kak-ustanovit-docker-na-centos-7)

[ Premium Cloud VPS от €7.95/мес ](/rus/premium-vps)
