WooCommerce + MariaDB + Redis
WooCommerce is the e-commerce platform for WordPress: catalog, cart, payment methods, shipping and taxes, integrated into the same administration panel.
This Stack adds Redis in addition to MariaDB, because a store has much more read load than a content site and in-memory caching is what sustains response times when the catalog or traffic grow.
Services included
In addition to the application, the Stack brings up MariaDB, Redis, WooCommerce, an nginx that receives traffic on port 80, an automatic backups service and the web file manager.
Project structure
.
├── backup
│ └── backup-runner.sh
├── health
│ └── status.php
├── nginx
│ └── default.conf
├── .env.example
└── compose.yaml
Getting started
Install the Stack and bring it up:
docker-deploy-stack --stack php/woocommerce-mariadb-redis
cd /root/stack/php/woocommerce-mariadb-redis
docker compose up -d
This is a ready-to-use application: you don’t need to upload code. Themes, plugins, extensions and files you upload from its administration panel are stored in the Stack and are included in the automatic backups.
Configuration
Editable values are in the Stack’s .env file:
| Variable | Default | Purpose |
|---|---|---|
APP_PORT |
80 |
Public port of the Stack. |
APP_ENV |
development |
Application environment. |
DB_NAME |
wordpress |
Database name. |
DB_USER |
wordpress |
Database user. |
BACKUP_ENABLED |
1 |
Automatic backups: 1 enabled, 0 disabled. |
BACKUP_INTERVAL_SECONDS |
86400 |
How many seconds between backups. |
BACKUP_RETENTION_DAYS |
7 |
How many days backups are kept. |
MARIADB_VERSION |
11.4 |
Image version. |
REDIS_VERSION |
7-alpine |
Image version. |
WORDPRESS_CLI_VERSION |
cli-php8.3 |
Image version. |
WORDPRESS_VERSION |
php8.3-apache |
Image version. |
After changing it, apply the changes with docker compose up -d.
Useful commands
docker compose ps # see running containers
docker compose logs -f # view live logs
docker compose restart # restart services
docker compose down # stop and remove containers