Skip to content

This project is a Docker Compose-based infrastructure setup for Fatec Estágios. It includes services such as CoreDNS, Traefik, MySQL database, Minio S3, and RabbitMQ. The infrastructure is designed to provide essential components for Fatec Estágios, enabling efficient service communication.

License

Notifications You must be signed in to change notification settings

lotaviods/link-fatec-infra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fatec Estágios Infrastructure

License: MIT Docker Traefik MySQL Minio RabbitMQ

This repository contains a set of Docker Compose containers to set up the infrastructure for Fatec Estágios.

Prerequisites

Make sure you have Docker and Docker Compose installed on your machine.

Usage

1. Clone the repository:

git clone git@github.com:lotaviods/link-fatec-infra.git

2. Navigate to the project directory:

cd fatec-estagios-infrastructure

3. Start the Docker containers:

docker-compose up -d
  • This command starts the necessary containers in detached mode, allowing the process to run in the background.

Infrastructure

The infrastructure includes the following services:

CoreDNS

  • Image: coredns/coredns
  • Container name: estagio-fatec-coredns
  • Ports: 53/udp, 53/tcp
  • Volumes: ./coredns/Corefile:/Corefile, ./coredns/etc/:/coredns-config/

Traefik

  • Image: traefik:v2.5
  • Container name: estagio-fatec-traefik
  • Ports: 80, 443, 8080
  • Volumes: /var/run/docker.sock:/var/run/docker.sock:ro, ./traefik/config:/var/traefik/config, ./traefik/certs:/var/traefik/certs, ./traefik/log:/var/traefik/log, ./traefik/traefik.yml:/etc/traefik/traefik.yml

Database

  • Image: mysql:8.0-debian
  • Container name: fatec-db
  • Ports: MySQL_PORT (default: 3306)
  • Volumes: ${MYSQL_VOLUME_PATH_HOST}:/var/lib/mysql
  • Environment variables: MYSQL_ROOT_PASSWORD, LINK_FATEC_DB_PASSWORD
  • Labels for Traefik: HostSNI(db.fatec.estagio.com), entrypoints=db

Minio S3

  • Image: quay.io/minio/minio:RELEASE.2023-04-07T05-28-58Z.fips
  • Container name: estagio-fatec-minio
  • Ports: LINK_FATEC_MINIO_PORT (default: 9090), LINK_FATEC_MINIO_PORT_CONSOLE (default: 9091)
  • Volumes: minio_storage:/data
  • Environment variables: MINIO_ROOT_USER, MINIO_ROOT_PASSWORD, MINIO_HTTP_ENABLE
  • Command: server /data --console-address ":${LINK_FATEC_MINIO_PORT_CONSOLE}"

RabbitMQ

  • Image: rabbitmq:3.8-management
  • Container name: estagio-fatec-rabbitmq
  • Ports: LINK_FATEC_RABBIT_PORT (default: 5672), LINK_FATEC_RABBIT_WEB_PORT (default: 15672)
  • Environment variables: RABBITMQ_DEFAULT_USER, RABBITMQ_DEFAULT_PASS
  • Labels for Traefik: Host(rabbitmq.fatec.estagio.com), entrypoints=default

Environment Variables

Make sure to set the following environment variables either in your local environment or in a .env file:

  • MYSQL_ENTRYPOINT_INITDB
  • MYSQL_VOLUME_PATH_HOST
  • MYSQL_PORT
  • LINK_FATEC_DB_PASSWORD
  • LINK_FATEC_XDEBUG_PORT
  • LINK_FATEC_MINIO_ROOT_USER
  • LINK_FATEC_MINIO_ROOT_PASSWORD
  • LINK_FATEC_MINIO_PORT
  • LINK_FATEC_MINIO_PORT_CONSOLE
  • LINK_FATEC_RABBIT_WEB_PORT
  • LINK_FATEC_RABBIT_PORT
  • LINK_FATEC_RABBIT_PASSWORD
  • LINK_FATEC_RABBIT_USER

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

This project is a Docker Compose-based infrastructure setup for Fatec Estágios. It includes services such as CoreDNS, Traefik, MySQL database, Minio S3, and RabbitMQ. The infrastructure is designed to provide essential components for Fatec Estágios, enabling efficient service communication.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages