forked from christophetd/nextcloud-docker-compose
/
docker-compose.yml
71 lines (67 loc) · 1.93 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
version: '3'
services:
mysql:
image: mysql:${MYSQL_VERSION}
container_name: mysql
restart: always
volumes:
- "${DATA_DIR}/mysql:/var/lib/mysql"
environment:
MYSQL_ROOT_PASSWORD: nopassword
nextcloud:
image: nextcloud:${NEXTCLOUD_VERSION}
container_name: nextcloud
restart: always
volumes:
- "${DATA_DIR}/nextcloud:/var/www/html"
- "${DATA_DIR}/mysql:/var/lib/mysql"
links:
- mysql:mysql
environment:
MYSQL_HOST: mysql
MYSQL_DATABASE: nextcloud
MYSQL_USER: root
MYSQL_PASSWORD: nopassword
VIRTUAL_HOST: ${HOST}
LETSENCRYPT_HOST: ${HOST}
depends_on:
- mysql
reverse-proxy:
image: jwilder/nginx-proxy:alpine
container_name: nginx-proxy
restart: always
ports:
- 80:80
- 443:443
labels:
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
volumes:
- "${DATA_DIR}/nginx/certs:/etc/nginx/certs:ro"
- "${DATA_DIR}/nginx/vhosts:/etc/nginx/vhost.d"
- "${DATA_DIR}/nginx/html:/usr/share/nginx/html"
- ./nginx.conf:/etc/nginx/proxy.conf
- /var/run/docker.sock:/tmp/docker.sock:ro
letsencrypt-companion:
image: jrcs/letsencrypt-nginx-proxy-companion
container_name: letsencrypt
restart: always
volumes:
- "${DATA_DIR}/nginx/certs:/etc/nginx/certs"
- "${DATA_DIR}/nginx/vhosts:/etc/nginx/vhost.d"
- "${DATA_DIR}/nginx/html:/usr/share/nginx/html"
- /var/run/docker.sock:/var/run/docker.sock:ro
depends_on:
- reverse-proxy
backups:
image: christophetd/duplicacy-autobackup:v1.0
container_name: backups
restart: always
environment:
BACKUP_NAME: "${BACKUP_NAME}"
BACKUP_LOCATION: "b2://${B2_BUCKET}"
BACKUP_SCHEDULE: "${BACKUP_SCHEDULE}"
BACKUP_ENCRYPTION_KEY: "${BACKUP_ENCRYPTION_KEY}"
B2_ID: "${B2_ID}"
B2_KEY: "${B2_KEY}"
volumes:
- "${DATA_DIR}:/data"