Skip to content

Instantly share code, notes, and snippets.

@minademian
Created October 18, 2025 07:07
Show Gist options
  • Select an option

  • Save minademian/9042333a1cde17eeb3e97835d65edabf to your computer and use it in GitHub Desktop.

Select an option

Save minademian/9042333a1cde17eeb3e97835d65edabf to your computer and use it in GitHub Desktop.
Local Setup for WordPress + MySQL + PHPMyAdmin
services:
wordpress:
image: wordpress
container_name: wordpress
restart: always
depends_on:
- db
ports:
- 8090:80
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wp_user
WORDPRESS_DB_PASSWORD: <PASSWORD>
WORDPRESS_DB_NAME: wordpress
WORDPRESS_TABLE_PREFIX: wpmk_
WORDPRESS_DEBUG: 1
command: >
bash -c "apt-get update &&
apt-get install -y curl less &&
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar &&
chmod +x wp-cli.phar &&
mv wp-cli.phar /usr/local/bin/wp &&
apache2-foreground"
volumes:
- ./wp-content:/var/www/html/wp-content
- wordpress:/var/www/html
- ./uploads:/var/www/html/wp-content/uploads
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
db:
image: mysql:latest
container_name: mysqldb
restart: always
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wp_user
MYSQL_PASSWORD: <PASSWORD>
MYSQL_ROOT_PASSWORD: <ROOT_PASSWORD>
volumes:
- db:/var/lib/mysql
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
container_name: phpmyadmin
restart: always
depends_on:
- db
ports:
- 8091:80
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: moo
volumes:
- phpmyadmin:/etc/phpmyadmin
volumes:
wordpress:
db:
phpmyadmin:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment