# Отчёт по лабораторной работе №1

Выполнил: студент гр. ИСЭбд-41 Фомичев А.И.

## Разворачивание сервиса Redmine

Содержимое файла `docker-compose.yml` в папке Redmine:

```yaml
version: "3.8"

services: # Задаем сервисы.
  db: # Сервис 1. База данных Postgres.
    image: postgres:13.2-alpine # Образ БД.
    restart: unless-stopped
    environment: # Переменные окружения.
      POSTGRES_PASSWORD: example # Пароль от postgres.
    container_name: db_redmine # Название контейнера.
    volumes: # Место хранения данных для БД.
      - database:/var/lib/postgresql/data
  redmine: # Сервис 2. Редмайн.
    image: redmine:4.1-alpine # Образ.
    environment: # Переменные окружения.
      - REDMINE_DB_POSTGRES=db
      - REDMINE_DB_PASSWORD=example
    ports: # Прослушиваемые порты.
      - 9999:3000
    volumes: # Файлы редмайна.
      - files:/usr/src/redmine/files
    depends_on: # Зависимость от БД.
      - db

volumes:
  database:
  files:
```

Далее в командной строке разворачиваем сервис командой `docker-compose up -d`:
![](images/image1.PNG)

Смотрим в Docker Desktop, что контейнеры БД и сервиса Redmine запущены успешно.
![](images/image2.PNG)

Переходим на http://localhost:9999 и авторизовываемся под администратором.
![](images/image3.PNG)

Создаем проект и некоторые данные.
![](images/image4.PNG)

Наблюдаем полностью рабочий сервис с БД.

## Разворачивание сервиса Wordpress

Также в файл `docker-compose.yml` в папке Wordpress прописываем следующий код:

```yaml
version: '3.1'

services:
  wordpress:
    image: wordpress 
    restart: always
    ports: 
      - 8080:80
    environment: 
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: test2
      WORDPRESS_DB_PASSWORD: test123
      WORDPRESS_DB_NAME: wordpressDB
    volumes:
      - wordpress:/var/www/html

  db:
    image: mysql:5.7
    restart: always 
    environment:
      MYSQL_DATABASE: wordpressDB
      MYSQL_USER: test2
      MYSQL_PASSWORD: test123
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - db:/var/lib/mysql

volumes:
  wordpress:
  db:
```

Далее в командной строке разворачиваем сервис командой `docker-compose up -d`:
![](images/image5.PNG)

Смотрим в Docker Desktop, что контейнеры БД и сервиса Wordpress запущены успешно.
![](images/image6.PNG)

Переходим на http://localhost:8080, авторизовываемся под администратором и создаем наш сайт.
![](images/image7.PNG)

Сервис развернут успешно.

## Разворачивание сервиса Gitea

В файл `docker-compose.yml` прописываем следующий код:

```yaml
version: "3"

networks:
  gitea:
    external: false
services:
  server:
    image: gitea/gitea:1.20.4
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=mysql
      - GITEA__database__HOST=db:3306
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=gitea
    restart: always
    networks:
      - gitea
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "222:22"
    depends_on:
      - db
  db:
    image: mysql:8
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=gitea
      - MYSQL_USER=gitea
      - MYSQL_PASSWORD=gitea
      - MYSQL_DATABASE=gitea
    networks:
      - gitea
    volumes:
      - ./mysql:/var/lib/mysql
```

Далее в командной строке разворачиваем сервис командой `docker-compose up -d`:
![](images/image10.PNG)

Смотрим в Docker Desktop, что контейнеры БД и сервиса Wordpress запущены успешно.
![](images/image8.PNG)

Переходим на http://localhost:3000, авторизовываемся под администратором и создаем наш сайт.
![](images/image9.PNG)

Сервис развернут успешно.