forked from Alexey/DAS_2024_1
Merge pull request 'kalyshev_yan_lab_1' (#37) from kalyshev_yan_lab_1 into main
Reviewed-on: Alexey/DAS_2024_1#37
This commit is contained in:
commit
84cb26162c
6
kalyshev_yan_lab_1/.gitignore
vendored
Normal file
6
kalyshev_yan_lab_1/.gitignore
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
gitea/
|
||||||
|
gitea-db/
|
||||||
|
images/
|
||||||
|
LocalSettings.php
|
||||||
|
mediawiki-db/
|
||||||
|
readmine-db/
|
94
kalyshev_yan_lab_1/README.md
Normal file
94
kalyshev_yan_lab_1/README.md
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
# Калышев Ян ПИбд-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)
|
81
kalyshev_yan_lab_1/docker-compose.yml
Normal file
81
kalyshev_yan_lab_1/docker-compose.yml
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
services:
|
||||||
|
gitea:
|
||||||
|
image: gitea/gitea:latest
|
||||||
|
environment:
|
||||||
|
USER_UID: 1000
|
||||||
|
USER_GID: 1000
|
||||||
|
GITEA__database__DB_TYPE: mysql
|
||||||
|
GITEA__database__HOST: gitea-db:3306
|
||||||
|
GITEA__database__NAME: gitea
|
||||||
|
GITEA__database__USER: gitea
|
||||||
|
GITEA__database__PASSWD: gitea
|
||||||
|
restart: always
|
||||||
|
links:
|
||||||
|
- gitea-db
|
||||||
|
depends_on:
|
||||||
|
- gitea-db
|
||||||
|
volumes:
|
||||||
|
- ./gitea:/data
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
ports:
|
||||||
|
- "3000:3000"
|
||||||
|
- "222:22"
|
||||||
|
|
||||||
|
gitea-db:
|
||||||
|
image: mysql:8.0
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
MYSQL_ROOT_PASSWORD: gitea
|
||||||
|
MYSQL_USER: gitea
|
||||||
|
MYSQL_PASSWORD: gitea
|
||||||
|
MYSQL_DATABASE: gitea
|
||||||
|
volumes:
|
||||||
|
- ./gitea-db:/var/lib/mysql
|
||||||
|
|
||||||
|
redmine:
|
||||||
|
image: redmine:latest
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 8080:3000
|
||||||
|
links:
|
||||||
|
- readmine-db
|
||||||
|
depends_on:
|
||||||
|
- readmine-db
|
||||||
|
environment:
|
||||||
|
REDMINE_DB_MYSQL: readmine-db
|
||||||
|
REDMINE_DB_PASSWORD: example
|
||||||
|
REDMINE_SECRET_KEY_BASE: supersecretkey
|
||||||
|
|
||||||
|
readmine-db:
|
||||||
|
image: mysql:8.0
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
MYSQL_ROOT_PASSWORD: example
|
||||||
|
MYSQL_DATABASE: redmine
|
||||||
|
volumes:
|
||||||
|
- ./readmine-db:/var/lib/mysql
|
||||||
|
|
||||||
|
mediawiki:
|
||||||
|
image: mediawiki:latest
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- 8081:80
|
||||||
|
links:
|
||||||
|
- mediawiki-db
|
||||||
|
depends_on:
|
||||||
|
- mediawiki-db
|
||||||
|
volumes:
|
||||||
|
- ./images:/var/www/html/images
|
||||||
|
- ./LocalSettings.php:/var/www/html/LocalSettings.php
|
||||||
|
|
||||||
|
mediawiki-db:
|
||||||
|
image: mariadb
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
MYSQL_DATABASE: my_wiki
|
||||||
|
MYSQL_USER: wikiuser
|
||||||
|
MYSQL_PASSWORD: example
|
||||||
|
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
|
||||||
|
volumes:
|
||||||
|
- ./mediawiki-db:/var/lib/mysql
|
Loading…
Reference in New Issue
Block a user