diff --git a/chernyshov_nikita_lab_1/README.md b/chernyshov_nikita_lab_1/README.md new file mode 100644 index 0000000..4764294 --- /dev/null +++ b/chernyshov_nikita_lab_1/README.md @@ -0,0 +1,55 @@ +# Лабораторная работа №1 + +## Описание +Цель данной лабораторной работы — настройка трех сервисов: **Gitea**, **Redmine** и базы данных **MySQL** с использованием **Docker Compose**. +- **Gitea** — лёгкая система контроля версий с веб-интерфейсом. +- **Redmine** — система управления проектами, задачами и баг-трекер. +- **MySQL** — база данных, используемая **Redmine** для хранения данных. + +## Запуск проекта +1. Убедитесь, что у вас установлены **Docker** и **Docker Compose**. +2. Клонируйте репозиторий проекта или создайте файл `docker-compose.yml` с соответствующей конфигурацией. +3. В терминале перейдите в директорию с файлом `docker-compose.yml`. +4. Выполните команду: + ```bash + docker-compose up -d + ``` +Эта команда запустит все контейнеры в фоновом режиме. +5. После запуска: + - Gitea будет доступен по адресу: http://localhost:8082. + - Redmine будет доступен по адресу: http://localhost:8081. + +## Конфигурация +В файле `docker-compose.yml` настроены следующие сервисы: + +- **Gitea**: + + - Используется официальный образ `gitea/gitea:latest`. + - Хранение данных осуществляется в базе `SQLite`. + - Доступен на порту 8082. + +- **Redmine**: + + - Используется официальный образ redmine. + - Подключен к базе данных MySQL. + - Работает на порту 8081. + +- **MySQL**: + + - Используется образ mysql:8.0. + - Обеспечивает хранение данных для Redmine. + - Настроен с предустановленными параметрами: пользователь, база данных и пароль. + +## Остановка проекта +Для остановки контейнеров выполните команду: +```bash +docker-compose down +``` +Она завершит работу всех контейнеров и освободит используемые порты. + +## Примечания +- Вы можете изменить порты или другие параметры в файле docker-compose.yml. +- Данные сохраняются в именованных томах gitea_data и db_data, что позволяет избежать их потери при перезапуске контейнеров. + +## Ссылка на видео: +- https://vkvideo.ru/video286865610_456239224?list=ln-JflowbDnfatB40WRwz \ No newline at end of file diff --git a/chernyshov_nikita_lab_1/docker-compose.yml b/chernyshov_nikita_lab_1/docker-compose.yml new file mode 100644 index 0000000..607de37 --- /dev/null +++ b/chernyshov_nikita_lab_1/docker-compose.yml @@ -0,0 +1,68 @@ +version: '3' + +services: + wordpress: + image: wordpress:latest + container_name: wordpress + ports: + - "8080:80" + environment: + WORDPRESS_DB_HOST: db + WORDPRESS_DB_USER: example_user + WORDPRESS_DB_PASSWORD: example_password + WORDPRESS_DB_NAME: example_db + volumes: + - wordpress_data:/var/www/html + depends_on: + - db + + db: + image: mysql:5.7 + container_name: wordpress_db + environment: + MYSQL_DATABASE: example_db + MYSQL_USER: example_user + MYSQL_PASSWORD: example_password + MYSQL_ROOT_PASSWORD: root_password + volumes: + - db_data:/var/lib/mysql + + redmine: + image: redmine:latest + container_name: redmine + ports: + - "8081:43000" + environment: + REDMINE_DB_MYSQL: redmine_db + REDMINE_DB_USERNAME: redmine_user + REDMINE_DB_PASSWORD: redmine_password + depends_on: + - redmine_db + + redmine_db: + image: mysql:5.7 + container_name: redmine_db + environment: + MYSQL_DATABASE: redmine + MYSQL_USER: redmine_user + MYSQL_PASSWORD: redmine_password + MYSQL_ROOT_PASSWORD: root_password + volumes: + - redmine_db_data:/var/lib/mysql + + gitea: + image: gitea/gitea:latest + container_name: gitea + ports: + - "8082:3000" + environment: + - USER_UID=1000 + - USER_GID=1000 + volumes: + - gitea_data:/data + +volumes: + wordpress_data: + db_data: + redmine_db_data: + gitea_data: