version: '3'
services:
wordpress:
image: wordpress:latest
depends_on:
- sslwpdb
container_name: sslwp_cont
restart: always
environment:
WORDPRESS_DB_HOST: sslwpdb:3306
WORDPRESS_DB_NAME: sslwpdb
WORDPRESS_DB_USER: admin
WORDPRESS_DB_PASSWORD: admin
WORDPRESS_TABLE_PREFIX: sslwp_
domainname: wp.example.com
networks:
- frontend_network
- sslwp_db_backend_network
hostname: wp_host
ports:
- '6080:80'
volumes:
- '/share/Volumes/sslwp/sslwp_data:/var/www/html'
sslwpdb:
image: 'osixia/mariadb:10.4.10'
container_name: sslwp_mariadb_cont
hostname: sslwpdb
environment:
- MARIADB_ROOT_USER=admin -
- MARIADB_ROOT_PASSWORD=admin
# - MARIADB_ROOT_ALLOWED_NETWORKS=
# - 172.%.%.%
# - 10.%.%.%
# - localhost
# - 127.0.0.1
# - ::1
- MARIADB_ROOT_ALLOWED_NETWORKS="#PYTHON2BASH:['172.%.%.%','10.0.%.%','localhost','127.0.0.1','::1']"
volumes:
- '/share/Volumes/sslwp/sslwp_db_data:/var/lib/mysql'
- '/share/Volumes/sslwp/certificates:/container/service/mariadb/assets/certs'
networks:
- sslwp_db_backend_network
phpmyadmin:
image: osixia/phpmyadmin:5.0.2
container_name: sslwp_pma_cont
hostname: sslwp_pma_host
ports:
- 2433:443
environment:
- PHPMYADMIN_DB_HOSTS=sslwpdb
- PHPMYADMIN_HTTPS_CRT_FILENAME=mariadb.crt
- PHPMYADMIN_HTTPS_KEY_FILENAME=mariadb.key
- PHPMYADMIN_HTTPS_CA_CRT_FILENAME=ca.crt
networks:
- frontend_network
- sslwp_db_backend_network
volumes:
- '/share/Volumes/sslwp/pma/:/var/www/phpmyadmin'
- '/share/Volumes/sslwp/certificates:/container/service/phpmyadmin/assets/apache2/certs'
volumes:
sslwp_data:
driver: local
certificates:
driver: local
sslwp_db_data:
driver: local
config:
driver: local
pma:
driver: local
networks:
frontend_network:
external:
name: frontend_network
sslwp_db_backend_network:
name: sslwp_db_backend_network
driver: bridge
I am trying to get this working with docker-compose and having hard time. Can you please setup an example to show how to use secure MySQL, phpmyadmin and website like Wordpress to put all of it together?
version: '3'
services:
wordpress:
image: wordpress:latest
depends_on:
- sslwpdb
container_name: sslwp_cont
restart: always
environment:
WORDPRESS_DB_HOST: sslwpdb:3306
WORDPRESS_DB_NAME: sslwpdb
WORDPRESS_DB_USER: admin
WORDPRESS_DB_PASSWORD: admin
WORDPRESS_TABLE_PREFIX: sslwp_
domainname: wp.example.com
networks:
- frontend_network
- sslwp_db_backend_network
hostname: wp_host
ports:
- '6080:80'
volumes:
- '/share/Volumes/sslwp/sslwp_data:/var/www/html'
sslwpdb:
image: 'osixia/mariadb:10.4.10'
container_name: sslwp_mariadb_cont
hostname: sslwpdb
environment:
- MARIADB_ROOT_USER=admin -
- MARIADB_ROOT_PASSWORD=admin
# - MARIADB_ROOT_ALLOWED_NETWORKS=
# - 172.%.%.%
# - 10.%.%.%
# - localhost
# - 127.0.0.1
# - ::1
- MARIADB_ROOT_ALLOWED_NETWORKS="#PYTHON2BASH:['172.%.%.%','10.0.%.%','localhost','127.0.0.1','::1']"
volumes:
- '/share/Volumes/sslwp/sslwp_db_data:/var/lib/mysql'
- '/share/Volumes/sslwp/certificates:/container/service/mariadb/assets/certs'
networks:
- sslwp_db_backend_network
phpmyadmin:
image: osixia/phpmyadmin:5.0.2
container_name: sslwp_pma_cont
hostname: sslwp_pma_host
ports:
- 2433:443
environment:
- PHPMYADMIN_DB_HOSTS=sslwpdb
- PHPMYADMIN_HTTPS_CRT_FILENAME=mariadb.crt
- PHPMYADMIN_HTTPS_KEY_FILENAME=mariadb.key
- PHPMYADMIN_HTTPS_CA_CRT_FILENAME=ca.crt
networks:
- frontend_network
- sslwp_db_backend_network
volumes:
- '/share/Volumes/sslwp/pma/:/var/www/phpmyadmin'
- '/share/Volumes/sslwp/certificates:/container/service/phpmyadmin/assets/apache2/certs'
volumes:
sslwp_data:
driver: local
certificates:
driver: local
sslwp_db_data:
driver: local
config:
driver: local
pma:
driver: local
networks:
frontend_network:
external:
name: frontend_network
sslwp_db_backend_network:
name: sslwp_db_backend_network
driver: bridge
I am trying to get this working with docker-compose and having hard time. Can you please setup an example to show how to use secure MySQL, phpmyadmin and website like Wordpress to put all of it together?