-
Notifications
You must be signed in to change notification settings - Fork 3
/
docker-compose.yml
101 lines (93 loc) · 2.93 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
version: '3.1'
services:
mysql:
image: 'mariadb:10.6'
container_name: ${PROJECT_NAME}_mysql
restart: always
command: --max_allowed_packet=256M
environment:
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
volumes:
- ${MYSQL_DATA_DIR}:/var/lib/mysql
networks:
- internal
webserver:
image: 'nginx:alpine'
container_name: ${PROJECT_NAME}_nginx
restart: always
security_opt:
- no-new-privileges:true
working_dir: /wordpress
volumes:
- ${WWW_DATA_DIR}:/wordpress
- ./php-${PHP_VERSION}_docker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf
ports:
- '${WP_PORT}:80'
networks:
- internal
php-fpm:
build: php-${PHP_VERSION}_docker/php-fpm
container_name: ${PROJECT_NAME}_php-fpm
restart: always
working_dir: /wordpress
volumes:
- ${WWW_DATA_DIR}:/wordpress
- ./php-${PHP_VERSION}_docker/php-fpm/php-ini-overrides.ini:/etc/php/${PHP_VERSION}/fpm/conf.d/99-overrides.ini
# - ./php-${PHP_VERSION}_docker/php-fpm/www.conf-overrides:/etc/php/${PHP_VERSION}/fpm/pool.d/z-optimised.conf
networks:
- internal
wordpress-cli:
container_name: ${PROJECT_NAME}_wpcli
depends_on:
- mysql
- webserver
image: wordpress:cli
working_dir: /wordpress
user: xfs # This is required to run wordpress-cli with the same user-id as wordpress.
volumes:
- ${WWW_DATA_DIR}:/wordpress
networks:
- internal
redis:
image: 'redis:6.0-alpine'
container_name: ${PROJECT_NAME}_redis
restart: unless-stopped
volumes:
- ${REDIS_DATA}:/data
networks:
- internal
# phpmyadmin:
# image: phpmyadmin/phpmyadmin
# container_name: ${PROJECT_NAME}_phpmyadmin
# restart: always
# ports:
# - ${PHPMYADMIN_PORT}:80
# hostname: ${PHPMYADMIN_DOMAIN}
# environment:
# PMA_HOST: mysql
# networks:
# - internal
#
# server:
# container_name: ${PROJECT_NAME}_ssh
# build:
# context: ./ssh_docker
# args:
# SSH_MASTER_USER: ${SSH_MASTER_USER}
# SSH_MASTER_PASS: ${SSH_MASTER_PASS}
# restart: always
# hostname: ${PROJECT_DOMAIN}
# working_dir: /home/${SSH_MASTER_USER}/application
# volumes:
# - ${WWW_DATA_DIR}:/home/${SSH_MASTER_USER}/application
# ports:
# - "${SSH_HOST_PORT}:22"
# networks:
# - internal
networks:
internal:
name: ${PROJECT_NAME}_network
driver: bridge