-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathdocker-compose-dev.yml
134 lines (131 loc) · 4.59 KB
/
docker-compose-dev.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
123
124
125
126
127
128
129
130
131
132
133
134
version: '3'
networks:
backend:
frontend:
services:
traefik:
image: traefik:v2.1
command: --providers.docker --entrypoints.http.Address=:80 --entrypoints.https.Address=:443
ports:
- "8084:80"
- "4443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
- backend
- frontend
mongodb:
image: mongo:4.4
entrypoint: [ "/usr/bin/mongod", "--bind_ip_all", "--replSet", "rs0" ]
#ports:
# - "27017:27017"
networks:
- backend
clamav:
image: dinkel/clamavd:latest
networks:
- backend
libreoffice-convert:
image: collabora/code:4.2.0.3
environment:
- domain=localhost|traefik
- extra_params=--o:ssl.termination=false --o:ssl.enable=false --o:net.post_allow.host[0]="::ffff:(172|192).[0-9]+.[0-9]+.[0-9]+" --o:storage.wopi.host[2]="::ffff:(172|192).[0-9]+.[0-9]+.[0-9]+"
networks:
- backend
libreoffice-collab:
image: collabora/code:4.2.0.3
environment:
- domain=localhost|traefik
- extra_params=--o:ssl.termination=true --o:ssl.enable=false --o:net.post_allow.host[0]="::ffff:(172|192).[0-9]+.[0-9]+.[0-9]+" --o:net.service_root="/libreoffice" --o:storage.wopi.host[2]="::ffff:(172|192).[0-9]+.[0-9]+.[0-9]+" --o:net.frame_ancestors="localhost:*"
networks:
- backend
- frontend
labels:
- "traefik.http.routers.loolwsd-http.rule=PathPrefix(`/libreoffice`)"
- "traefik.http.routers.loolwsd-https.rule=PathPrefix(`/libreoffice`)"
- "traefik.http.routers.loolwsd-https.tls"
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.6.1
entrypoint:
- /bin/sh
- -c
- "elasticsearch-plugin list | grep ingest-attachment || elasticsearch-plugin install ingest-attachment --batch && docker-entrypoint.sh"
networks:
- backend
postfix:
image: webuni/postfix
networks:
- backend
browserless:
image: browserless/chrome
networks:
- backend
balloon-proxy:
image: nginx
networks:
- backend
command: |
bash -c 'rm /etc/nginx/conf.d/default.conf; bash -s <<EOF
cat > /etc/nginx/conf.d/balloon.conf <<EON
server {
listen 80;
access_log /dev/stdout;
error_log /dev/stderr;
client_max_body_size 16G;
location ~ ^/(api|webdav|share|wopi|healthz) {
index index.php;
root /srv/www/balloon/src/httpdocs;
rewrite ^(.+)\\\$$ /index.php\\\$$1 last;
break;
}
location ~ ^/index.php {
root /srv/www/balloon/src/httpdocs;
fastcgi_pass balloon-api:9000;
fastcgi_read_timeout 300;
fastcgi_param SCRIPT_FILENAME /srv/www/balloon/src/httpdocs\\\$$fastcgi_script_name;
fastcgi_param PATH_INFO \\\$$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
EON
nginx -g "daemon off;"
EOF'
labels:
- "traefik.http.routers.api-http.rule=PathPrefix(`/api`) || PathPrefix(`/webdav`) || PathPrefix(`/share`) || PathPrefix(`/wopi`) || PathPrefix(`/healthz`)"
- "traefik.http.routers.api-https.rule=PathPrefix(`/api`) || PathPrefix(`/webdav`) || PathPrefix(`/share`) || PathPrefix(`/wopi`) || PathPrefix(`/healthz`)"
- "traefik.http.routers.api-https.tls"
balloon-web:
image: gyselroth/balloon-web:3.2.14
networks:
- backend
- frontend
labels:
- "traefik.http.routers.webui-http.rule=PathPrefix(`/`)"
- "traefik.http.routers.webui-https.rule=PathPrefix(`/`)"
- "traefik.http.routers.webui-https.tls"
balloon-upgrade:
image: gyselroth/balloon:latest-dev
volumes:
- .:/srv/www/balloon
entrypoint: make deps && php /srv/www/balloon/src/cgi-bin/cli.php upgrade -vvvv
networks:
- backend
environment: &env
- BALLOON_MONGODB_URI=mongodb://mongodb:27017
- BALLOON_CLAMAV_URI=tcp://clamav:3310
- BALLOON_BURL_BROWSERLESS_URL=http://browserless:3000
- BALLOON_ELASTICSEARCH_URI=http://elasticsearch:9200
- BALLOON_LIBREOFFICE_COLLAB_URL=http://libreoffice-collab:9980/libreoffice
- BALLOON_LIBREOFFICE_COLLAB_WOPI_URL=https://traefik/wopi
- BALLOON_LIBREOFFICE_CONVERT_URL=http://libreoffice-convert:9980
- BALLOON_WOPI_POSTMESSAGE_ORIGIN=http://localhost:8084
- BALLOON_SMTP_HOST=postfix
- BALLOON_URL=http://localhost:8084
balloon-api:
image: gyselroth/balloon:latest-dev
volumes:
- .:/srv/www/balloon
entrypoint: php-fpm
networks:
- backend
environment: *env