-
Notifications
You must be signed in to change notification settings - Fork 1
/
production-compose.yml
86 lines (86 loc) · 2.33 KB
/
production-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: '2.1'
services:
proxy_server:
image: nginx:1.11-alpine
container_name: production_proxy_server
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- ./volumes/conf.d:/etc/nginx/conf.d
- ./volumes/vhost.d:/etc/nginx/vhost.d
- ./volumes/certs:/etc/nginx/certs:ro
- /usr/share/nginx/html
networks:
- gznet
web_server:
image: "{{ DOCKER_APP_IMAGE }}:{{ APP_VERSION | default('latest', true) }}"
restart: always
depends_on:
- proxy_server
- docker_gen_service
- redis_server
environment:
OVERRIDE_UMASK: "022"
XDEBUG: "false"
DEFAULT_HOST: "{{ DOMAIN }}"
VIRTUAL_HOST: "{{ DOMAIN }},api.{{ DOMAIN }},www.{{ DOMAIN }}"
LETSENCRYPT_HOST: "{{ DOMAIN }},api.{{ DOMAIN }},www.{{ DOMAIN }}"
LETSENCRYPT_EMAIL: "{{ LETSENCRYPT_EMAIL }}"
extra_hosts:
- "db_server:{{ ansible_default_ipv4.address }}" # we use host postgres server
volumes:
- ./env:/var/www/.env # Pass all credentials to laravel
networks:
- gznet
redis_server:
image: redis:3-alpine
restart: always
volumes:
- redisdata:/data
networks:
- gznet
letsencrypt_service:
image: jrcs/letsencrypt-nginx-proxy-companion:latest
restart: always
depends_on:
- proxy_server
- docker_gen_service
volumes_from:
- proxy_server
volumes:
- ./volumes/certs:/etc/nginx/certs:rw
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- gznet
environment:
NGINX_DOCKER_GEN_CONTAINER: production_docker_gen_service
docker_gen_service:
image: jwilder/docker-gen:0.7.3
container_name: production_docker_gen_service
restart: always
depends_on:
- proxy_server
volumes_from:
- proxy_server
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./volumes/templates:/etc/docker-gen/templates:ro
networks:
- gznet
entrypoint: /usr/local/bin/docker-gen -notify-sighup production_proxy_server -watch -wait 5s:30s /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf
networks:
gznet:
driver: "bridge"
enable_ipv6: false
ipam:
driver: default
config:
- subnet: 172.20.0.0/24
gateway: 172.20.0.1
volumes:
dbdata:
driver: "local"
redisdata:
driver: "local"