| name | wp-docker |
| description | Docker-based WordPress development environment. Use when setting up new WordPress sites, managing Docker containers, or automating site deployment with WP-CLI. |
| allowed-tools | Bash, Read, Write, Edit, Task |
WordPress Docker Environment Skill
Complete Docker Compose setup for WordPress development with WP-CLI automation.
Quick Start
cd /path/to/project
cp ~/.claude/skills/wp-docker/templates/* .
docker-compose up -d
./wp-setup.sh "http://localhost:8080" "Site Name" "admin" "password" "admin@example.com"
Docker Compose Stack
Services
| Service | Image | Purpose | Port |
|---|
db | mariadb:10.11 | MySQL database | 3306 (internal) |
wordpress | wordpress:php8.3-apache | WordPress + Apache | 8080 |
wpcli | wordpress:cli | WP-CLI commands | - |
Volume Mounts
| Host Path | Container Path | Purpose |
|---|
./wp-content | /var/www/html/wp-content | Themes, plugins, uploads |
db_data | /var/lib/mysql | Database persistence |
./uploads.ini | /usr/local/etc/php/conf.d/uploads.ini | PHP config |
WP-CLI Commands
Site Installation
docker-compose run --rm wpcli core install \
--url="http://localhost:8080" \
--title="Site Name" \
--admin_user="admin" \
--admin_password="password" \
--admin_email="admin@example.com"
Plugin Management
docker-compose run --rm wpcli plugin install \
admin-site-enhancements \
branda-white-labeling \
admin-menu-editor \
yoast-seo \
litespeed-cache \
ewww-image-optimizer \
wp-mail-smtp \
instant-images \
--activate
docker-compose run --rm wpcli plugin list
docker-compose run --rm wpcli plugin update --all
Theme Management
docker-compose run --rm wpcli theme install theme-name --activate
docker-compose run --rm wpcli theme list
Content Creation
docker-compose run --rm wpcli post create \
--post_type=page \
--post_title="About Us" \
--post_status=publish
docker-compose run --rm wpcli post create \
--post_type=post \
--post_title="Hello World" \
--post_content="Welcome to our site." \
--post_status=publish
Options Management
docker-compose run --rm wpcli option update blogname "Site Name"
docker-compose run --rm wpcli option update blogdescription "Site tagline"
docker-compose run --rm wpcli option update permalink_structure '/%postname%/'
docker-compose run --rm wpcli option update admin_site_enhancements \
'{"change_login_url":{"enabled":true,"slug":"secure-login"}}' \
--format=json
Database Operations
docker-compose run --rm wpcli db export backup.sql
docker-compose run --rm wpcli db import backup.sql
docker-compose run --rm wpcli search-replace "old-domain.com" "new-domain.com"
Environment Commands
Start/Stop
docker-compose up -d
docker-compose down
docker-compose down -v
docker-compose logs -f wordpress
docker-compose restart wordpress
Health Checks
docker-compose ps
docker-compose run --rm wpcli core version
docker-compose run --rm wpcli db check
Common Workflows
New Site Setup
- Copy templates to project directory
- Start Docker environment
- Run wp-setup.sh script
- Configure white-labeling
- Create initial pages
- Run SEO setup
Site Migration
docker-compose run --rm wpcli db export backup.sql
docker-compose run --rm wpcli db import backup.sql
docker-compose run --rm wpcli search-replace "old-url.com" "new-url.com"
docker-compose run --rm wpcli cache flush
Plugin Audit
docker-compose run --rm wpcli plugin list --update=available
docker-compose run --rm wpcli plugin verify-checksums --all
Troubleshooting
Container Won't Start
docker-compose logs db
docker-compose logs wordpress
docker-compose up -d --build
Database Connection Failed
docker-compose exec db mysqladmin ping -h localhost -u root -p
docker-compose config
Permission Issues
docker-compose exec wordpress chown -R www-data:www-data /var/www/html/wp-content
WP-CLI Not Working
docker-compose run --rm --entrypoint /bin/sh wpcli
docker-compose run --rm wpcli core is-installed
PHP Configuration
uploads.ini
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
memory_limit = 256M
Related Skills
- white-label: Configure ASE + Branda for admin branding
- wordpress-admin: REST API and content management
- wp-performance: LiteSpeed Cache and optimization
- seo-optimizer: Yoast SEO configuration
Templates Location
All templates are in: ~/.claude/skills/wp-docker/templates/
docker-compose.yml - Full stack configuration
wp-setup.sh - Automated site setup script
uploads.ini - PHP configuration
.env.example - Environment variables template