# Калышев Ян ПИбд-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); Запуск всех сервисов происходит через команду: ```bash docker-compose up -d ``` ## 1. Gitea - **Образ**: `gitea/gitea:latest` - **Порты**: - `3000:3000` — http порт Gitea http://localhost:3000. - `222:22` - порт для проброса ssh - **Переменные окружения**: - `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` - **Порты**: - `8080:3000` — http порт Readmine http://localhost:8080. - **Переменные окружения**: - `REDMINE_DB_MYSQL: readmine-db` - адрес бд - `REDMINE_DB_PASSWORD: example` - пароль бд - `REDMINE_SECRET_KEY_BASE: supersecretkey` - секретный ключ текущего инстанса - **links, depends_on** - `readmine-db` - для запуска строго после бд и гарантированной связи сетей ## 3. Mediawiki - **Образ**: `mediawiki:latest` - **Порты**: - `8081:3000` — http порт Mediawiki http://localhost:8081. - **Тома**: - `./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. Остановка сервисов Для остановки и удаления всех контейнеров необходимо выполнить команду: ```bash docker-compose down ``` ## 7. Ссылка на видео [Видео-отчёт Калышев Ян ПИбд-42](https://zyzf.space/s/stezZksnbyqaWYo)