-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.shared.yml
122 lines (113 loc) · 2.72 KB
/
docker-compose.shared.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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
version: '3.7'
services:
postgres-old:
build:
context: ./build/postgresql
dockerfile: ./Dockerfile
environment:
POSTGRES_USER: 'user'
POSTGRES_PASSWORD: 'admin'
POSTGRES_MULTIPLE_DATABASES: 'ama,modmail,automoderator,roles,social,website'
volumes:
- postgres-data:/var/lib/postgresql/data
restart: unless-stopped
ports:
- 127.0.0.1:5432:5432
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U user']
interval: 10s
timeout: 5s
pg-backup:
image: kartoza/pg-backup:12.4
environment:
POSTGRES_USER: 'user'
POSTGRES_PASS: 'admin'
POSTGRES_PORT: '5432'
POSTGRES_HOST: 'postgres-old'
REMOVE_BEFORE: '30'
STORAGE_BACKEND: 'S3'
HOST_BASE: 's3.amazonaws.com'
HOST_BUCKET: '%(bucket)s.s3.amazonaws.com'
BUCKET: 'chatsift'
env_file:
- .env.pg_backup
restart: on-failure
depends_on:
- postgres-old
caddy:
build:
context: ./build/caddy
dockerfile: ./Dockerfile
env_file:
- ./.env.root
volumes:
- caddy-data:/data
- caddy-config:/config
ports:
- '80:80'
- '443:443'
rabbitmq:
image: rabbitmq:3-management-alpine
restart: unless-stopped
expose:
- '5672'
healthcheck:
test: ['CMD', 'rabbitmq-diagnostics', '-q', 'ping']
interval: 60s
timeout: 5s
redis:
image: redis:6-alpine
volumes:
- redis-data:/data
restart: unless-stopped
healthcheck:
test: ['CMD-SHELL', 'redis-cli ping']
interval: 10s
timeout: 5s
parseable:
image: parseable/parseable:v1.1.0
restart: unless-stopped
expose:
- '8000'
environment:
P_FS_DIR: '/parseable/data'
P_STAGING_DIR: '/parseable/staging'
env_file:
- ./.env.parseable
volumes:
- parseable-data:/parseable/data
- parseable-staging:/parseable/staging
command: ['parseable', 'local-store']
ghost:
image: ghost:4-alpine
restart: unless-stopped
expose:
- 2368
environment:
NODE_ENV: 'production'
url: 'https://blog.automoderator.app'
database__client: 'sqlite3'
mail__transport: 'SMTP'
mail__options__service: 'Mailgun'
volumes:
- ghost-data:/var/lib/ghost/content
volumes:
postgres-data:
name: chatsift-postgres-data
redis-data:
name: 'chatsift-redis-data'
ghost-data:
name: 'chatsift-ghost-data'
parseable-data:
name: 'chatsift-parseable-data'
parseable-staging:
name: 'chatsift-parseable-staging'
caddy-data:
name: 'chatsift-caddy-data'
caddy-config:
name: 'chatsift-caddy-config'
# Also to hack in chatsift/chatsift
networks:
default:
name: chatsift
external: true