DAS_2024_1/kalyshev_yan_lab_1
2024-09-29 12:39:22 +04:00
..
.gitignore kalyshev_yan_lab_1 is ready 2024-09-29 12:39:22 +04:00
docker-compose.yml kalyshev_yan_lab_1 is ready 2024-09-29 12:39:22 +04:00
README.md kalyshev_yan_lab_1 is ready 2024-09-29 12:39:22 +04:00

Калышев Ян ПИбд-42

Описание

Этот проект разворачивает среду с баг-трекером Redmine, сервис для хранения репозиториев git Gitea, вики Mediawiki и базы данных для каждого сервиса с использованием Docker Compose. Ниже приведены шаги для запуска и настройки.

0. Предварительные действия

Перед запуском Docker Compose выполнил следующие шаги:

  1. Установил docker, docker-buildx (пусть будет) и docker-compose для моей операционной системы.
  2. Запустил и поставил в автозапуск docker через sudo systemctl enable --now docker.

1. Структура и запуск сервиса

Файл docker-compose.yml содержит описание 6 сервисов:

  • gitea (Gitea);
  • gitea-db (MySQL для Gitea);
  • readmine (Readmine);
  • readmine-db (MySQL для Readmine);
  • mediawiki (Mediawiki);
  • mediawiki-db (MariaDB для Mediawiki);

Запуск всех сервисов происходит через команду:

docker-compose up -d

1. Gitea

  • Образ: gitea/gitea:latest
  • Порты:
  • Переменные окружения:
    • USER_UID=1000 - uid пользователя, от которого запускается gitea
    • USER_GID=1000 - gid пользователя, от которого запускается gitea
    • GITEA__database__DB_TYPE: mysql - тип бд
    • GITEA__database__HOST: gitea-db:3306 - адрес бд
    • GITEA__database__NAME: gitea - имя бд
    • GITEA__database__USER: gitea - пользователь бд
    • GITEA__database__PASSWD: gitea - пароль бд
  • Тома:
    • ./gitea:/data — хранение файлов gitea.
    • /etc/timezone:/etc/timezone:ro - проброс часового пояса из хост-системы
    • /etc/localtime:/etc/localtime:ro - проброс часового пояса из хост-системы
  • links, depends_on
    • gitea-db - для запуска строго после бд и гарантированной связи сетей

2. Readmine

  • Образ: readmine:latest
  • Порты:
  • Переменные окружения:
    • REDMINE_DB_MYSQL: readmine-db - адрес бд
    • REDMINE_DB_PASSWORD: example - пароль бд
    • REDMINE_SECRET_KEY_BASE: supersecretkey - секретный ключ текущего инстанса
  • links, depends_on
    • readmine-db - для запуска строго после бд и гарантированной связи сетей

3. Mediawiki

  • Образ: mediawiki:latest
  • Порты:
  • Тома:
    • ./images:/var/www/html/images — хранение изображений mediawiki.
    • ./LocalSettings.php:/var/www/html/LocalSettings.php - проброс файла с настройками после прохождения первичной настройки
  • links, depends_on
    • mediawiki-db - для запуска строго после бд и гарантированной связи сетей

4. Базы данных

  • Образы: mariadb, mysql:8.0 (в соответствии с офф. документациями)
  • Тома:
    • ./gitea-db:/var/lib/mysql — хранение данных бд gitea.
    • ./readmine-db:/var/lib/mysql — хранение данных бд readmine.
    • ./mediawiki-db:/var/lib/mysql — хранение данных бд mediawiki.
  • Переменные окружения - взяты в соответствии с офф. документациями

6. Остановка сервисов

Для остановки и удаления всех контейнеров необходимо выполнить команду:

docker-compose down

7. Ссылка на видео

Видео-отчёт Калышев Ян ПИбд-42