-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
113 lines (112 loc) · 4.01 KB
/
docker-compose.yml
File metadata and controls
113 lines (112 loc) · 4.01 KB
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
version: "3.3"
# This is Docker-compose for development and staging. Its goals are to permit simple setup for a developer, where the only local tool required is docker-compose,
# as well as supporting the same talentcloud application Dockerfile for development and production.
services:
# talentcloud operations. Bootstraps the environment if required (no .setup file is present). Combines application logs into stderr and stout.
talentcloud-op:
build:
context: .
dockerfile: Dockerfile
image: talentcloud-op
container_name: talentcloud-op
working_dir: /opt/TalentCloud/
# restart: always
volumes:
# - "./etc/ssl:/opt/TalentCloud/etc/ssl"
# - "./etc/php/php.ini:/usr/local/etc/php/conf.d/php.ini"
# - "./TalentCloud/:/opt/TalentCloud/var/www"
# - "./op/Makefile:/opt/TalentCloud/var/www/Makefile:ro"
# - "./op/test-fullstack.sh:/opt/TalentCloud/test-fullstack.sh:ro"
# - "./op/op-assert.sh:/opt/TalentCloud/op-assert.sh:ro"
# - "./op/up.sh:/opt/TalentCloud/up.sh:ro"
# - "./op/env:/opt/TalentCloud/env:ro"
# - "./op/.env.example:/opt/TalentCloud/.env.example:ro"
- "ssl:/opt/TalentCloud/ssl"
- "logs:/var/log"
- "reports:/opt/TalentCloud/reports"
- "TalentCloud:/opt/TalentCloud/var/www"
environment:
- "DB_PORT=5432"
- "DB_HOST=postgres"
depends_on:
- talentcloud
- postgres
# The TalentCloud application (PHP-FPM)
talentcloud:
# DEBUGGING without wait-for-setup, this container can just use the image
# image: php:7.2-fpm-alpine3.7
build:
context: .
dockerfile: Dockerfile-talentcloud
image: talentcloud
working_dir: /var/www/
# restart: always
volumes:
# - "./wait-for-setup.sh:/opt/TalentCloud/wait-for-setup.sh"
# - "./etc/php/php.ini:/usr/local/etc/php/conf.d/php.ini:rw"
# - "./etc/php-fpm.d/zz-logs.conf:/usr/local/etc/php-fpm.d/zz-logs.conf:ro"
# - "./TalentCloud/:/var/www"
- "logs:/var/log"
- "TalentCloud:/var/www/"
environment:
- "DB_PORT=5432"
- "DB_HOST=postgres"
ports:
- "9000:9000"
# The web server (nginx)
nginx:
build:
context: .
dockerfile: Dockerfile-nginx
# image: nginx:1.13.9-alpine
image: nginx
container_name: nginx-setup
working_dir: /var/www/
restart: always
volumes:
# - "./etc/nginx/default.conf:/etc/nginx/conf.d/default.conf"
# - "./etc/ssl:/etc/ssl"
# - "./TalentCloud/:/var/www"
# - "./wait-for-setup.sh:/opt/TalentCloud/wait-for-setup.sh"
# needed for .setup signalling
- "TalentCloud:/var/www"
- "ssl:/opt/TalentCloud/ssl"
- "logs:/var/log"
ports:
- "80:80"
- "443:443"
# The database (Postgres)
postgres:
# Azure pipelines build requires a docker file in some cases for use in their repository.
build:
context: .
dockerfile: Dockerfile-postgres
image: postgres
container_name: postgres
# image: postgres:9.6-alpine
restart: always
volumes:
# - "./wait-for-setup.sh:/opt/TalentCloud/wait-for-setup.sh"
- "pgdata:/var/lib/postgresql/data"
- "logs:/var/log"
environment:
- "POSTGRES_DB=talentcloud"
- "POSTGRES_USER=talentcloud"
- "POSTGRES_PASSWORD=talentcloud"
ports:
- "5432-5434"
# Adminer
adminer:
image: adminer
container_name: adminer
restart: always
depends_on:
- postgres
ports:
- "8060:8080"
volumes:
pgdata:
logs:
reports:
ssl:
TalentCloud: