Skip to content

Instantly share code, notes, and snippets.

@alexishida
Last active April 27, 2022 15:35
Show Gist options
  • Save alexishida/125d0d9f54c0c17873d9fa9a096e4446 to your computer and use it in GitHub Desktop.
Save alexishida/125d0d9f54c0c17873d9fa9a096e4446 to your computer and use it in GitHub Desktop.
Docker config wordpress mariadb phpmyadmin
docker run -d \
--name=mariadb \
--restart=always \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=senha \
-v /storage/mariadb:/var/lib/mysql \
mariadb:latest
docker run -d \
--restart=always \
--name=myadmin \
-v /etc/localtime:/etc/localtime:ro \
--link mariadb:db \
-p 9595:80 \
phpmyadmin/phpmyadmin
docker run -d \
--restart=always \
-v /etc/localtime:/etc/localtime:ro \
--name=wordpress \
-v /storage/wordpress:/var/www/html \
-e WORDPRESS_DB_USER=root \
-e WORDPRESS_DB_NAME=site_db \
-e WORDPRESS_DB_PASSWORD=senha \
--link mariadb:mysql \
-p 80:80 \
wordpress
docker cp wordpress:/var/www/html ./
# Direct download without ftp ( wp-config.php )
define('FS_METHOD', 'direct');
# Send to minio
$client = S3Client::factory([
'credentials' => [
'key' => $dos_key,
'secret' => $dos_secret,
],
'endpoint' => $dos_endpoint,
'region' => 'us-east-1',
'version' => 'latest',
'use_path_style_endpoint' => true,
]);
###### docker-compose.yml
# docker-compose up -d
version: "3.5"
services:
mariadb:
image: mariadb:10
container_name: mariadb
restart: always
volumes:
- /storage/mariadb:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: db
MYSQL_USER: dbuser
MYSQL_PASSWORD: dbpass
networks:
- wordpress-network
wordpress:
depends_on:
- mariadb
image: wordpress:5.1.0
ports:
- "8080:80"
restart: always
container_name: wordpress
networks:
- wordpress-network
volumes:
- /storage/wordpress:/var/www/html
- /etc/localtime:/etc/localtime:ro
environment:
WORDPRESS_DB_HOST: mariadb:3306
WORDPRESS_DB_USER: dbuser
WORDPRESS_DB_PASSWORD: dbpass
WORDPRESS_DB_NAME: db
networks:
wordpress-network:
name: wordpress-network
driver: bridge
##### PHPMYADMIN with composer
docker run -d \
--restart=always \
--name=myadmin \
-v /etc/localtime:/etc/localtime:ro \
--network=wordpress-network \
-e PMA_HOST=mariadb \
-p 9595:80 \
phpmyadmin/phpmyadmin
###### Nginx Security
# https://bjornjohansen.no/block-access-to-php-files-with-nginx
# https://www.cloudways.com/blog/protect-wordpress-with-htaccess/
location ~* /wp-includes/.*.php$ {
deny all;
access_log off;
log_not_found off;
}
location ~* /wp-content/.*.php$ {
deny all;
access_log off;
log_not_found off;
}
location ~* /(?:uploads|files)/.*.php$ {
deny all;
access_log off;
log_not_found off;
}
location ~* /modules/.*.php$ {
deny all;
access_log off;
log_not_found off;
}
location ~* /skins/.*.php$ {
deny all;
access_log off;
log_not_found off;
}
location = /xmlrpc.php {
deny all;
access_log off;
log_not_found off;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment