Code Monkey home page Code Monkey logo

inception's Introduction

✏️ Inception


Esse projeto visa ampliar seu conhecimento em administração de sistemas usando Docker. Você vai virtualizar diversas imagens Docker, criando Docker Containers em sua nova máquina virtual.

GitHub code size in bytes GitHub top language GitHub last commit


📦 Sobre o projeto

One container is not enogh. We need to go deeper

Nesse projeto temos que criar uma pequena infraestrutura composta de diferentes serviços, seguindo regras específicas:

REGRAS GERAIS
• Usar docker-compose;
• Cada imagem Docker tem que ter o nome igual ao de seu serviço;
• Cada serviço tem que rodar em seu próprio container;
• Os containers tem que ser construídos a partir da penúltima versão estável de Debian ou Alpine;
• Escrever nossos próprios Dockerfiles;
• Chamar os Dockerfiles através do docker-compose.yml que, por sua vez, é chamado pelo Makefile;
• Nenhuma credencial deve estar exposta fora do arquivo .env!!!!!!!!!!!!

REGRAS INFRAESTRUTURA
• Um container com NGINX usando apenas o protocolo TLSv1.2 ou TLSv1.3;
• Um container com WordPress + php-fpm, sem NGINX;
• Um container com MariaDB, sem NGINX;
• Um volume com a base de dados do WordPress;
• Um segundo volume com os arquivos do site do WordPress;
• Uma docker-network que estabelece a conexão entre os containers.

🔨 Um pouco sobre os serviços

💾 MARIADB: Banco de dados, necessário para a instalação do Wordpress (os requisitos são PHP e um banco MySQL já instalados e configurados). Precisamos intalar, fazer uma pequena configuração e criar a tabela que o Wordpress vai usar.
🌐 WORDPRESS: Nosso site! Ele precisa de um banco de dados e php instalados para conseguir ser usado. Também precisa já estar instalado quando subirmos o container, para isso, usaremos wp-cli.
🔒 NGINX: Nosso servidor de HTTP e proxy. Vai ser nossa porta de entrada para a infraestrutura que estamos criando. Ele vai lidar com o protocolo de acesso ao nosso site.

💻 Como usar

Em um computador com Docker instalado, crie um arquivo .env dentro da pasta srcs e dê make!
Pronto, você deve ter um site Wordpress rodando no seu localhost:443. Acesse seu navegador e teste o projeto 😉.

No arquivo .env criado, modifique o nome dessas variáveis que deve tudo rodar normalmente:

# MariaDB Access
WORDPRESS_DB_HOST=XXXXXXX #Aqui precisa ser necessariamente "mariadb"
WORDPRESS_DB_NAME=XXXXXXX
WORDPRESS_DB_USER=XXXXXXX
WORDPRESS_DB_PASSWORD=XXXXXXX

# Wordpress Access
WORDPRESS_URL=XXXXXXX
WORDPRESS_ADMIN_USER=XXXXXXX
WORDPRESS_ADMIN_PASSWORD=XXXXXXX
WORDPRESS_ADMIN_EMAIL=XXXXXXX@XXXXXXX

WORDPRESS_GUEST_USER=XXXXXXX
WORDPRESS_GUEST_PASSWORD=XXXXXXX
WORDPRESS_GUEST_EMAIL=XXXXXXX@XXXXXXX

# Certs
CERTS_=/etc/ssl/certs/XXXXXXX.crt
CERTS_KEY=/etc/ssl/private/XXXXXXX.key

inception's People

Contributors

rafaelabdm avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.