-
Notifications
You must be signed in to change notification settings - Fork 1
/
docker-compose.yml
90 lines (84 loc) · 2.04 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
# Services
services:
# Nginx Service
nginx:
image: nginx:1.25.3
ports:
- 80:80
- 443:443
volumes:
- ./src:/var/www/php
- ./.docker/nginx/conf.d:/etc/nginx/conf.d
- ./.docker/nginx/ssl:/etc/nginx/ssl
- phpmyadmin_data:/var/www/html/:ro
depends_on:
- php
networks:
- lemp
# PHP Service
php:
image: carry0987/php:latest
working_dir: /var/www/php
volumes:
- ./src:/var/www/php
- ./.docker/php/conf/php.ini:/usr/local/etc/php/conf.d/php.user.ini
- ./.docker/php/conf/my-php.conf:/usr/local/etc/php-fpm.d/z-www-overrides.conf
depends_on:
mariadb:
condition: service_healthy
networks:
- lemp
# MySQL Service
mariadb:
build: ./.docker/mariadb
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_ROOT_HOST: ${MYSQL_ROOT_HOST}
MYSQL_DATABASE: ${MYSQL_DATABASE}
volumes:
- ./.docker/mariadb/my.cnf:/etc/mysql/conf.d/my.cnf
- mysqldata:/var/lib/mysql
- ./.docker/mariadb/create_tables.sql:/docker-entrypoint-initdb.d/create_tables.sql
healthcheck:
test: mariadb-admin ping -h 127.0.0.1 -u $$MYSQL_USER --password=$$MYSQL_PASSWORD
interval: 5s
retries: 10
networks:
- lemp
# Redis Service
redis:
build:
context: ./.docker/redis
environment:
REDIS_PASSWORD: ${REDIS_PASSWORD}
command: sh -c './init.sh'
volumes:
- redisdata:/data
ports:
- 6379:6379
networks:
- lemp
# PhpMyAdmin Service
phpmyadmin:
image: phpmyadmin:fpm-alpine
environment:
PMA_HOST: mariadb
MAX_EXECUTION_TIME: ${PMA_MAX_EXECUTION_TIME}
MEMORY_LIMIT: ${PMA_MEMORY_LIMIT}
UPLOAD_LIMIT: ${PMA_UPLOAD_LIMIT}
volumes:
- phpmyadmin_data:/var/www/html/
depends_on:
mariadb:
condition: service_healthy
networks:
- lemp
networks:
lemp:
# Volumes
volumes:
mysqldata:
redisdata:
phpmyadmin_data: