forked from Alexey/DAS_2024_1
95 lines
4.4 KiB
Markdown
95 lines
4.4 KiB
Markdown
|
# Калышев Ян ПИбд-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)
|