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

Выполнил: студент гр. ИСЭБД-41 Клементьева Жанна.

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

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

```yaml
version: '3'

services: # Описание контейнеров
  db: # База данных
    image: mysql:5.7 # Образ базы данных и версия
    volumes: # Тома для хранения данных, для контейнеров
      - db_data:/var/lib/mysql
    restart: always # Параметр перезапуска БД
    environment: # Переменные среды для контейнера
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    networks: # Параметры сети
      - wpsite

  wordpress: # Контейнер с Wordpress
    depends_on: # Параметр зависимости от работы базы данных (в данном случае)
      - db
    image: wordpress:latest # Образ Wordpress (последняя версия)
    ports: # Порт, проложенный из контейнера в хост
      - '8000:80'
    restart: always # Параметр перезапуска
    volumes: ['./:/var/www/html'] # Тома для хранения данных, для контейнеров
    environment: # Переменные среды для контейнера
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
    networks: # Параметры сети
      - wpsite
networks:
  wpsite:
volumes:
  db_data:
```

Разворачивается командой `docker-compose up`.

Убеждаемся, что всё работает, прописываем в браузере "localhost:8000", так как docker-compose.yaml мы указали порт 8000:

![port8000](port8000.png)

![localhost:8000](localhost8000.png)

Открывается стартовое окно Wordpress, где мы можем выбрать язык и приступить к работе, если это потребуется:
![WPLanguage](WPLanguage.png)

![WPSettings](WPSettings.png)



Удаляется всё командой `docker-compose down` или `docker-compose down -v`.


## Разворачивание сервера 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:80"
      - "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`.

Убеждаемся, что всё работает, прописываем в браузере "localhost:3000", так как docker-compose.yaml мы указали порт 3000. Открывается стартовое окно Gitea, где мы можем настроить систему и приступить к работе, если это потребуется:

![localhost:3000](localhost3000.png)

Удаляется всё командой `docker-compose down` или `docker-compose down -v`.


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

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

```yaml
version: '3.2'
services: # Описание контейнеров
  web: # Контейнер с Mediawiki
    image: mediawiki:lts # Образ Mediawiki
    ports: # Порт, проложенный из контейнера в хост
      - 9999:80
    links: # Ссылка на контейнер "database"
      - database
    restart: unless-stopped # Параметр перезапуска
    volumes: # Тома для хранения данных, для контейнеров
     - ./images:/var/www/html/images

  database: # База данных
    image: mariadb # Образ базы данных
    environment: # Переменные среды для контейнера
      MYSQL_DATABASE: 'wiki'
      MYSQL_USER: 'wikiuser234234'
      MYSQL_PASSWORD: 'YOUR_SECURE_PASSWORD'
      MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
    volumes: # Тома для хранения данных, для контейнеров
      - ./database:/var/lib/mysql
    restart: unless-stopped # Параметр перезапуска
```

Разворачивается командой `docker-compose up`.

Убеждаемся, что всё работает, прописываем в браузере "localhost:9999", так как docker-compose.yaml мы указали порт 9999. Открывается стартовое окно Mediawiki, где мы можем настроить систему и приступить к работе, если это потребуется:

![Mediawiki](Mediawiki.png)

Удаляется всё командой `docker-compose down` или `docker-compose down -v`.
