Este projeto consiste em uma aplicação fullstack com um backend em Strapi 5 e um frontend em Next 15 com TypeScript, configurados para rodar em containers Docker.
Antes de começar, você precisa ter instalado em sua máquina:
- Docker
- Docker Compose
- Git
├── .env.docker.frontend
├── .env.docker.backend
├── docker-compose.yml
├── wm-backend/
│ ├── Dockerfile
│ └── ... (arquivos do Strapi)
└── wm-frontend/
├── Dockerfile
└── ... (arquivos do Next)
Clone por submodulo:
git clone --recurse-submodules -j8 https://github.com/maverickanp/wm-project.git
Construa e inicie os containers:
docker compose up --build
Este comando irá:
Construir as imagens dos containers
- Iniciar o backend na porta 1337
- Iniciar o frontend na porta 3000
📝 Informações Importantes
URL: http://localhost:1337
URL: http://localhost:3000
- Importante realizar o cadastro no Strapi para carregar no frontend os dados do ambiente.
🔍 Monitoramento
docker compose ps
# Todos os containers
docker compose logs
# Apenas backend
docker compose logs wm-backend
# Apenas frontend
docker compose logs wm-frontend
🛑 Parando os Containers
docker compose down
🔧 Resolução de Problemas
- Portas em uso
Erro: "port is already allocated"
- Solução: Verifique se as portas 1337 e 3000 estão livres
# Windows/Linux
netstat -ano | findstr 1337
netstat -ano | findstr 3000
Erro: "permission denied"
- Solução: Execute os comandos com sudo (Linux/Mac)
Erro de conexão entre containers
- Verifique se a variável de ambiente NEXT_PUBLIC_STRAPI_URL está correta no .env.local do wm-frontend
NEXT_PUBLIC_STRAPI_URL=http://localhost:3000
Verifique se as variáveis de ambiente do Strapi está correta no .env do wm-backend, use o .env.example como parametro, por padrao foi configurado o sqlite como banco de dados
sudo docker compose up
🔄 Atualizações e Manutenção
docker compose down
docker compose build --no-cache
docker compose up