with one click
wp-docker
Docker-based WordPress development environment. Use when setting up new WordPress sites, managing Docker containers, or automating site deployment with WP-CLI.
Menu
Docker-based WordPress development environment. Use when setting up new WordPress sites, managing Docker containers, or automating site deployment with WP-CLI.
Professional frontend standards for building, scaffolding, extending, or reviewing any UI or frontend project — new or existing — even when standards aren't explicitly asked for. Keeps generated code consistent, reusable, secure, and production-quality. Framework-agnostic: React, Vue, Angular, Svelte, plain JS.
发布本地生成的 HTML、Markdown、TXT、PDF、Word 或 PPTX 到 ShareOne 平台,生成公网分享短链接;或者当用户提供 ShareOne 链接并要求下载文件、修改文件、拉取/处理评论时使用此技能。当用户要求“发布”、“分享”、“生成链接”、“上线”,或者“下载这个链接的文件”、“修改这个 ShareOne 链接的内容”、“拉取这个链接的评论”时,必须使用此技能。
Generate AI chat completions using GPT-4o through the verging.ai proxy API with streaming (SSE) and non-streaming response support.
Convert text to speech audio using OpenAI TTS-1-HD through the verging.ai proxy API. Supports multiple voices, playback speed control, and various audio output formats.
Generate AI images using DALL-E 3 or gpt-image-1 through the verging.ai proxy API. Supports standard and HD quality, multiple images per request, and returns CDN-hosted image URLs.
Analyze images using GPT-4o Vision through the verging.ai proxy API, supporting both image URL (JSON) and file upload (multipart) modes.
| 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 |
Complete Docker Compose setup for WordPress development with WP-CLI automation.
# Navigate to project directory
cd /path/to/project
# Copy templates
cp ~/.claude/skills/wp-docker/templates/* .
# Start environment
docker-compose up -d
# Run setup script
./wp-setup.sh "http://localhost:8080" "Site Name" "admin" "password" "admin@example.com"
| 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 | - |
| 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 |
# Install WordPress
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"
# Install and activate plugins
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
# List installed plugins
docker-compose run --rm wpcli plugin list
# Update all plugins
docker-compose run --rm wpcli plugin update --all
# Install and activate theme
docker-compose run --rm wpcli theme install theme-name --activate
# List themes
docker-compose run --rm wpcli theme list
# Create page
docker-compose run --rm wpcli post create \
--post_type=page \
--post_title="About Us" \
--post_status=publish
# Create post
docker-compose run --rm wpcli post create \
--post_type=post \
--post_title="Hello World" \
--post_content="Welcome to our site." \
--post_status=publish
# Update site options
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%/'
# Configure ASE
docker-compose run --rm wpcli option update admin_site_enhancements \
'{"change_login_url":{"enabled":true,"slug":"secure-login"}}' \
--format=json
# Export database
docker-compose run --rm wpcli db export backup.sql
# Import database
docker-compose run --rm wpcli db import backup.sql
# Search and replace (for migrations)
docker-compose run --rm wpcli search-replace "old-domain.com" "new-domain.com"
# Start containers
docker-compose up -d
# Stop containers
docker-compose down
# Stop and remove volumes (DESTRUCTIVE)
docker-compose down -v
# View logs
docker-compose logs -f wordpress
# Restart WordPress
docker-compose restart wordpress
# Check running containers
docker-compose ps
# Check WordPress version
docker-compose run --rm wpcli core version
# Check database connection
docker-compose run --rm wpcli db check
# Export from source
docker-compose run --rm wpcli db export backup.sql
# Copy wp-content folder
# Import to destination
docker-compose run --rm wpcli db import backup.sql
# Update URLs
docker-compose run --rm wpcli search-replace "old-url.com" "new-url.com"
# Flush cache
docker-compose run --rm wpcli cache flush
# List plugins with updates available
docker-compose run --rm wpcli plugin list --update=available
# Check for security issues
docker-compose run --rm wpcli plugin verify-checksums --all
# Check logs
docker-compose logs db
docker-compose logs wordpress
# Rebuild containers
docker-compose up -d --build
# Wait for database to be ready
docker-compose exec db mysqladmin ping -h localhost -u root -p
# Check environment variables
docker-compose config
# Fix wp-content permissions
docker-compose exec wordpress chown -R www-data:www-data /var/www/html/wp-content
# Run with shell access
docker-compose run --rm --entrypoint /bin/sh wpcli
# Check WordPress installation
docker-compose run --rm wpcli core is-installed
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
memory_limit = 256M
All templates are in: ~/.claude/skills/wp-docker/templates/
docker-compose.yml - Full stack configurationwp-setup.sh - Automated site setup scriptuploads.ini - PHP configuration.env.example - Environment variables template