WordPress with Redis Cache with Docker Compose
WordPress, MariaDB and Redis for an object cache plug-in. The services are ticked below: set your project name and port, then copy compose.yaml and .env.
- Free
- No Sign-Up
- Runs in Your Browser
Services
NoteReplace every change-me in .env with a long random password (openssl rand -base64 24) before the first start: databases keep the first password they are given.
NoteDatabase ports are bound to 127.0.0.1, so only this server can reach them. Never publish them on all addresses: Docker's ports bypass UFW.
compose.yaml
# compose.yaml, generated at frabs.net/tools/docker-compose-generator/
services:
wordpress:
image: wordpress:6-php8.3-apache
restart: unless-stopped
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: mariadb
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}
volumes:
- wordpress:/var/www/html
depends_on:
mariadb:
condition: service_healthy
mariadb:
image: mariadb:11
restart: unless-stopped
ports:
- "127.0.0.1:3306:3306"
environment:
MARIADB_DATABASE: wordpress
MARIADB_USER: wordpress
MARIADB_PASSWORD: ${DB_PASSWORD}
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
volumes:
- mariadb:/var/lib/mysql
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
retries: 5
redis:
image: redis:7-alpine
restart: unless-stopped
command: ["redis-server", "--appendonly", "yes", "--requirepass", "${REDIS_PASSWORD}"]
ports:
- "127.0.0.1:6379:6379"
volumes:
- redis:/data
volumes:
wordpress:
mariadb:
redis:
.env
# .env (keep out of version control) DB_PASSWORD=change-me DB_ROOT_PASSWORD=change-me-too REDIS_PASSWORD=change-me
Start It
docker compose up -d && docker compose ps
Docker Compose Generator
What you get
Serviceswordpress, mariadb, redis
ImagesPinned to a major version
DataNamed volumes
Secrets.env file
DatabasesNot published to the internet
WordPress, MariaDB and Redis for an object cache plug-in.
Start it with docker compose up -d; update later with docker compose pull && docker compose up -d.
Stacks
Questions
How do I run WordPress with Redis Cache with Docker Compose?
Save compose.yaml and .env in an empty folder, set real passwords in .env, then run docker compose up -d.
Free Tools
More tools
Docker Compose GeneratorStarter compose.yaml files for common stacks, with safe defaults.Nginx Config GeneratorServer blocks for reverse proxies, static sites and PHP, with HTTPS.VPS RAM CalculatorHow much memory a server needs for its OS, apps, databases and caches.Linux Command GeneratorReady-to-run commands for disks, networking, services, logs and diagnostics.
Run VMs for other people?
Frabs stops spam, scans and floods leaving your customers' VMs, before the abuse report lands.