Перед тем как приступить к работе, следует установить Docker и Docker Compose. Для вашего удобства мы предоставили инструкции по установке Docker в зависимости от ОС: на нашей странице для Centos 7 или для Ubuntu 20.04.
Настройка 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
Подготовка Docker Compose конфигурации: Чтобы деплоить filegator с помощью Docker Compose, создайте файл docker-compose.yaml в главной директории вашего проекта, который будет содержать параметры для контейнера filegator.
Для удобства организации создадим специальную директорию для этого проекта:
mkdir /home/filegator && cd /home/filegator
Если вам удобнее, можете выбрать другое место для размещения данного и других ваших проектов.
Используйте следующий репозиторий для получения файла docker-compose.yaml: https://hub.docker.com/r/filegator/filegator.
Создадим файл *.yaml для Docker-Compose:
version: '2'
services:
filegator:
container_name: filegator
image: filegator/filegator
restart: always
ports:
- "8080:8080"
volumes:
# common mount points are listed here
# make sure filegator can read/write to the mounted volume
# mount local folder as a repository
- ./files:/var/www/filegator/repository
# locally stored users.json file
# - ./users.json:/var/www/filegator/private/users.json
# load your own custom configuration file
# - ./configuration.php:/var/www/filegator/configuration.php
services:
: Это основной ключ, указывающий на сервисы, которые будут запущены с использованием этой конфигурации.filegator:
: Это имя сервиса. Вы можете называть свои сервисы как угодно, но здесь он назван "filegator".container_name: filegator
: Здесь указано имя контейнера Docker, который будет создан. Если не указать это имя, Docker автоматически сгенерирует уникальное имя для контейнера.image: filegator/filegator
: Это Docker образ, который будет использован для создания контейнера. Этот образ находится на Docker Hub под именем "filegator/filegator".restart: always
: Эта директива указывает Docker перезапускать контейнер всегда, когда он останавливается. Это может быть полезно, если вы хотите, чтобы ваш сервис был постоянно доступен.ports:
: Это порты, которые будут проброшены из контейнера на хост-машину."8080:8080"
: Порт 8080 хоста будет проброшен на порт 8080 в контейнере.
volumes:
: Описывает тома или папки, которые будут проброшены из хост-системы в контейнер../files:/var/www/filegator/repository
: Локальная папка "files" (расположенная рядом с файлом docker-compose) будет проброшена в контейнер в качестве/var/www/filegator/repository
../users.json:/var/www/filegator/private/users.json
: Эта строка закомментирована, но если ее разкомментировать, локальный файлusers.json
будет доступен в контейнере как/var/www/filegator/private/users.json
../configuration.php:/var/www/filegator/configuration.php
: Это также закомментировано, но при активации проброситconfiguration.php
в контейнер.
Запуск и установка Filegator
Теперь, когда у нас есть файл docker-compose.yaml, и мы можем запустить Filegator контейнер с помощью команды:
docker-compose up -d
Эта команда инициирует контейнер Filegator и работает в фоне благодаря параметру -d. Используя инструкции из файла docker-compose.yaml, Docker Compose автоматизирует процесс загрузки и инициализации контейнера Filegator.
Чтобы убедиться в активности контейнера Filegator, примените следующую команду:
docker ps | grep filegator
Заключение
На данном этапе Filegator успешно интегрирован и настроен в Docker. Чтобы попасть в рабочую область Filegator, откройте браузер и перейдите по ссылке http://your_domain_or_ip/filegator.
Логин и пароль: admin:admin123
Если вы получили ошибку:
Folder not writable: /repository/
Даем права для папки:
chmod -R 777 ./files