WooCommerce + MariaDB + Redis
WooCommerce é a plataforma de comércio eletrônico para WordPress: catálogo, carrinho, meios de pagamento, frete e impostos, integrados no mesmo painel de administração.
Este Stack adiciona Redis além de MariaDB, porque uma loja tem muito mais carga de leitura do que um site de conteúdo e o cache em memória é o que sustenta os tempos de resposta quando o catálogo ou o tráfego aumentam.
Serviços incluídos
Além da aplicação, o Stack inicializa MariaDB, Redis, WooCommerce, um nginx que recebe o tráfego na porta 80, um serviço de backups automáticos e o gerenciador de arquivos web.
Estrutura do projeto
.
├── backup
│ └── backup-runner.sh
├── health
│ └── status.php
├── nginx
│ └── default.conf
├── .env.example
└── compose.yaml
Colocando em funcionamento
Instale o Stack e inicie-o:
docker-deploy-stack --stack php/woocommerce-mariadb-redis
cd /root/stack/php/woocommerce-mariadb-redis
docker compose up -d
Esta é uma aplicação pronta para uso: não é necessário enviar código. Os temas, plugins, extensões e arquivos que você enviar através do painel de administração são armazenados no Stack e entram nos backups automáticos.
Configuração
Os valores editáveis estão no arquivo .env do Stack:
| Variável | Padrão | Para que serve |
|---|---|---|
APP_PORT |
80 |
Porta pública do Stack. |
APP_ENV |
development |
Ambiente da aplicação. |
DB_NAME |
wordpress |
Nome do banco de dados. |
DB_USER |
wordpress |
Usuário do banco de dados. |
BACKUP_ENABLED |
1 |
Backups automáticos: 1 ativados, 0 desativados. |
BACKUP_INTERVAL_SECONDS |
86400 |
Intervalo em segundos entre backups. |
BACKUP_RETENTION_DAYS |
7 |
Quantos dias os backups são mantidos. |
MARIADB_VERSION |
11.4 |
Versão da imagem correspondente. |
REDIS_VERSION |
7-alpine |
Versão da imagem correspondente. |
WORDPRESS_CLI_VERSION |
cli-php8.3 |
Versão da imagem correspondente. |
WORDPRESS_VERSION |
php8.3-apache |
Versão da imagem correspondente. |
Depois de alterá-los, aplique as mudanças com docker compose up -d.
Comandos úteis
docker compose ps # mostrar os contêineres em execução
docker compose logs -f # ver os logs em tempo real
docker compose restart # reiniciar os serviços
docker compose down # parar e remover os contêineres