โจ This project is not under active development. It may not work with the latest Docker. Future DWS updates uncertain at this time. โจ
DWS is a small set of scripts to manage WordPress containers in Docker. It uses a Traefik docker network for *.localhost
domains to avoid manual port assignment.
This is work in progress and unstable!
This is somewhat of a personal project but it solves a fairly common problem so I'm sharing it for anyone to use and adapt. Follow @dbushell for updates and feedback.
- Docker must be installed and running on your machine
- Traefik docker network
Run npm init
if you don't have a package.json
.
Install docker-wordpress-scripts
to the project repository:
npm install docker-wordpress-scripts --save
Or use the --global
flag to use dws
commands anywhere without npx
.
Usage: dws <command> [options]
Commands:
dws up spin up a new project
dws stop stop running containers
dws start start existing containers
dws url output the *.localhost URL
dws down stop and remove existing containers
dws eject replace DWS dependency with config files
Options:
--help, -h Show help
--version, -v Show version number
npx dws up
DWS will spin up new Docker containers and install WordPress. You'll be asked a few configuration values.
Once successful you'll see:
๐ค Success: WordPress is up and running!
phpMyAdmin: โ http://pma.wordpress.localhost
WordPress: โ http://wordpress.localhost
WordPress (auto login): โ http://wordpress.localhost/wp-auto-login.php
The wp-content
directory is mounted to wordpress
in the project repository.
npx dws stop
Stop all running containers for the project.
npx dws start
Start all existing containers for the project.
npx dws url
Output the *.localhost
URL for the project.
npx dws down
Stop and remove all containers and volumes for the project leaving no trace in Docker. The WordPress content directories will persist in the project repository.
npx dws eject
Remove the DWS dependency. There is no going back! This adds a copy of docker-compose.yml
and other config files to the project repository. You can continue by using docker-compose
in the terminal.
The hostname & port for WordPress and phpMyAdmin moves to respectively:
localhost:8080
localhost:8081
See v0.9.1 for older configurations.
MIT License | Copyright ยฉ 2021 David Bushell | @dbushell