A infraestrutura local é orquestrada com o docker-compose e configurada via ece-tools, utilizando os seguintes serviços principais:
- Plataforma Base: Magento 2 (Modo Developer)
- Web Server: Nginx 1.24
- Linguagem: PHP 8.4 (FPM & CLI)
- Banco de Dados: MariaDB 10.6
- Cache e Sessões: Redis 7.0
- Motor de Busca: OpenSearch 2.4
- Full Page Cache: Varnish 6.6
Antes de iniciar, certifique-se de ter as seguintes ferramentas instaladas em sua máquina:
- Git
- Docker e Docker Compose
- Nota para usuários Linux: Certifique-se de que seu usuário tem as permissões adequadas para rodar o Docker sem
sudo(adicionando o usuário ao grupodocker), para evitar erros de permissão ao visualizar contêineres ou volumes.
1. Clone o repositório
git clone https://github.com/Linderval-Moura/E-commerceFree.git
cd E-commerceFree2. Suba a infraestrutura Docker
A infraestrutura está mapeada no arquivo docker-compose.yml. Para iniciar todos os serviços em segundo plano:
docker-compose up -d3. Acesse os contêineres e configure o Magento
Com os serviços rodando, você pode acessar o contêiner principal para rodar os comandos de build e deploy do Magento configurados no .magento.docker.yml:
docker-compose exec build bash
php ./vendor/bin/ece-tools run scenario/build/generate.xml
php ./vendor/bin/ece-tools run scenario/deploy.xmlAbaixo estão os principais diretórios e arquivos monitorados neste repositório:
/.docker/ e docker-compose.yml: Configurações de infraestrutura do Magento Cloud Docker.
.magento.docker.yml: Definições de versão de serviços (PHP, MySQL) e rotinas (hooks) de deploy do Magento.
/app/: Módulos customizados, temas e arquivos de configuração geral.
/pub/: Arquivos públicos (media customizadas que não estão no .gitignore).
(Obs: Os diretórios /vendor, /var, /generated e arquivos de credenciais estão omitidos do controle de versão por questões de segurança e boas práticas).
Este projeto é disponibilizado sob a Open Software License (OSL) v. 3.0. Modificações e distribuições comerciais são permitidas, desde que as alterações feitas no núcleo e comunicadas externamente permaneçam de código aberto sob os mesmos termos. Consulte o arquivo de licença para mais detalhes.