forked from devgeniem/wp-project
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
88 lines (79 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
##
# Nodejs container which installs and builds all frontend assets
##
#frontend:
# image: devgeniem/node-assets-builder
# volumes:
# - ./web/app/themes/THEMENAME/:/build
# command: /bin/bash -c "npm install && ./node_modules/webpack/bin/webpack.js"
##
# Web Server which runs nginx+php
##
web:
image: devgeniem/wordpress-development-server
ports:
- 80
links:
- db
- redis
volumes:
- .:/var/www/project
- ./.docker/log:/var/log
# In production uploads will be in /data/uploads/
# This way let the container see them like in production
- ./.docker/uploads:/var/www/uploads
environment:
# Small variable to tell if we are in production,testing or development
# Don't use this in your code unless this is only option
# We want to nearly identical codebase in production and development
WP_ENV: development
# Set php to use redis for object cache & sessions
PHP_SESSION_HANDLER: redis
PHP_SESSION_REDIS_DB: 0
WP_REDIS_DATABASE: 1
# These will be mapped automatically in development to jwilder/nginx-proxy
VIRTUAL_HOST: wordpress.test
# This creates https certificate automatically when using gdev
HTTPS_HOST: wordpress.test
# Set project WP_SITEURL & HOME
WP_SITEURL: https://wordpress.test
WP_HOME: https://wordpress.test
DB_NAME: wordpress
DB_USER: wordpress
DB_PASSWORD: wordpress
SMTP_FROM: no-reply@wordpress.test
##
# PHP builder which install composer packages and wordpress database
# - This can be used for testing the project and running wp-cli commands
##
backend:
image: devgeniem/wordpress-project-builder
links:
- db
- redis
- web
volumes:
- .:/var/www/project
# Run one time command to install composer and seed database
command: /bin/bash -c "composer install; ./scripts/seed.sh"
# Add siteurl into etc/hosts inside docker container to run the rspec tests correctly
extra_hosts:
- "wordpress.test:172.17.0.1"
##
# Use basic mariadb container for database
##
db:
image: mariadb
volumes:
# Make database persistent
- /var/lib/mysql
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
MYSQL_ROOT_PASSWORD: root
##
# We use redis for wp object cache and php sessions
##
redis:
image: redis