forked from sprintcube/docker-compose-lamp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
86 lines (84 loc) · 2.78 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
version: "3.9"
services:
webserver:
build:
context: ./bin/${PHPVERSION}
container_name: "${COMPOSE_PROJECT_NAME}-${PHPVERSION}"
restart: "always"
# ports:
# - "${HOST_MACHINE_UNSECURE_HOST_PORT}:80"
# - "${HOST_MACHINE_SECURE_HOST_PORT}:443"
links:
- database
volumes:
- ${DOCUMENT_ROOT-./www}:/var/www/html:rw
- ${PHP_INI-./config/php/php.ini}:/usr/local/etc/php/php.ini
# - ${SSL_DIR-./config/ssl}:/etc/apache2/ssl/
- ${VHOSTS_DIR-./config/vhosts}:/etc/apache2/sites-enabled
- ${LOG_DIR-./logs/apache2}:/var/log/apache2
# - ${XDEBUG_LOG_DIR-./logs/xdebug}:/var/log/xdebug
environment:
APACHE_DOCUMENT_ROOT: ${APACHE_DOCUMENT_ROOT-/var/www/html}
# PMA_PORT: ${HOST_MACHINE_PMA_PORT}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
# HOST_MACHINE_MYSQL_PORT: ${HOST_MACHINE_MYSQL_PORT}
# XDEBUG_CONFIG: "client_host=host.docker.internal remote_port=${XDEBUG_PORT}"
# extra_hosts:
# - "host.docker.internal:host-gateway"
networks:
- default
- internal
database:
build:
context: "./bin/${DATABASE}"
container_name: "${COMPOSE_PROJECT_NAME}-${DATABASE}"
restart: "always"
# ports:
# - "127.0.0.1:${HOST_MACHINE_MYSQL_PORT}:3306"
volumes:
# - ${MYSQL_INITDB_DIR-./config/initdb}:/docker-entrypoint-initdb.d
- ${MYSQL_DATA_DIR-./data/mysql}:/var/lib/mysql
- ${MYSQL_LOG_DIR-./logs/mysql}:/var/log/mysql
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
command: mysqld --innodb_strict_mode=0 --sql_mode="NO_ENGINE_SUBSTITUTION"
networks:
- internal
# phpmyadmin:
# image: phpmyadmin
# container_name: "${COMPOSE_PROJECT_NAME}-phpmyadmin"
# links:
# - database
# environment:
# PMA_HOST: database
# PMA_PORT: 3306
# PMA_USER: root
# PMA_PASSWORD: ${MYSQL_ROOT_PASSWORD}
# MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
# MYSQL_USER: ${MYSQL_USER}
# MYSQL_PASSWORD: ${MYSQL_PASSWORD}
# UPLOAD_LIMIT: ${UPLOAD_LIMIT}
# MEMORY_LIMIT: ${MEMORY_LIMIT}
# ports:
# - "${HOST_MACHINE_PMA_PORT}:80"
# - "${HOST_MACHINE_PMA_SECURE_PORT}:443"
# volumes:
# - /sessions
# - ${PHP_INI-./config/php/php.ini}:/usr/local/etc/php/conf.d/php-phpmyadmin.ini
# redis:
# container_name: "${COMPOSE_PROJECT_NAME}-redis"
# image: redis:latest
# ports:
# - "127.0.0.1:${HOST_MACHINE_REDIS_PORT}:6379"
networks:
default:
external: true
name: nginx-proxy-man
internal:
internal: true