-
Notifications
You must be signed in to change notification settings - Fork 1
/
docker-compose.yml
89 lines (86 loc) · 2.28 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
version: '3.4'
services:
traefik:
image: traefik:latest
container_name: wordpress_treafik
ports:
- "80:80"
- "443:443"
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./traefik-data/traefik-non-secure.yml:/traefik.yml:ro
- ./traefik-data/configurations:/configurations
labels:
- "traefik.enable=true"
- "traefik.docker.network=app-network"
- "traefik.http.routers.traefik.entrypoints=web"
- "traefik.http.routers.traefik.rule=Host(`traefik.wordpress.local`)"
- "traefik.http.routers.traefik.service=api@internal"
- "traefik.http.routers.traefik.middlewares=user-auth@file"
networks:
- app-network
#PHP Service
php:
build:
context: ./wordpress
dockerfile: Dockerfile
image: wordpress_docker:latest
container_name: php_fpm
restart: unless-stopped
tty: true
environment:
SERVICE_NAME: php
SERVICE_TAGS: dev
working_dir: /var/www/html
volumes:
- ./wordpress:/var/www/html
- ./php/php.ini-development:/usr/local/etc/php/conf.d/local.ini
networks:
- app-network
#Nginx Service
webserver:
image: nginx:alpine
container_name: wordpress_webserver
restart: unless-stopped
depends_on:
- php
- db
volumes:
- ./wordpress:/var/www/html
- ./nginx/conf.d:/etc/nginx/conf.d
networks:
- app-network
labels:
- "traefik.enable=true"
- "traefik.docker.network=app-network"
- "traefik.http.routers.web.entrypoints=web"
# - "traefik.http.routers.web-secure.rule=Host(`local.laravel`)"
- "traefik.http.routers.web.rule=HostRegexp(`{subdomain:[a-z0-9]+}.app.wordpress.local`, `wordpress.local`)"
#MySQL Service
db:
image: mysql:5.7.22
container_name: wordpress_db
restart: unless-stopped
tty: true
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: wordpress
MYSQL_ROOT_PASSWORD: password
SERVICE_TAGS: dev
SERVICE_NAME: mysql
volumes:
- dbdata:/var/lib/mysql
- ./mysql/mysql.cnf:/etc/mysql/mysql.cnf
networks:
- app-network
#Docker Networks
networks:
app-network:
driver: bridge
external: true
#Volumes
volumes:
dbdata:
driver: local