docker-compose.yml
· 2.5 KiB · YAML
Raw
services:
caddy:
image: lucaslorentz/caddy-docker-proxy:ci-alpine
container_name: reverse-proxy
ports:
- 80:80
- 443:443
environment:
- CADDY_INGRESS_NETWORKS=nextcloud_network
networks:
- nextcloud_network
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- caddy_data:/data
restart: unless-stopped
web:
image: nginx:alpine
container_name: nextcloud-web
networks:
- nextcloud_network
links:
- nextcloud
labels:
caddy: nextcloud.emanuelegori.uno
caddy.reverse_proxy: "{{upstreams}}"
caddy.header: /*
caddy.header.Strict-Transport-Security: '"max-age=15552000;"'
caddy.rewrite_0: /.well-known/carddav /remote.php/dav
caddy.rewrite_1: /.well-known/caldav /remote.php/dav
caddy.rewrite_2: /.well-known/webfinger /index.php/.well-known/webfinger
caddy.rewrite_3: /.well-known/nodeinfo /index.php/.well-known/nodeinfo
volumes:
- nextcloud_data:/var/www/html:z,ro
- ./nginx.conf:/etc/nginx/nginx.conf:ro
restart: unless-stopped
db:
image: mariadb:lts
container_name: mariadb-database
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
networks:
- nextcloud_network
volumes:
- db_data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD
- MYSQL_USER
- MYSQL_PASSWORD
- MYSQL_DATABASE
restart: unless-stopped
redis:
image: redis:alpine
container_name: redis-dbcache
networks:
- nextcloud_network
restart: unless-stopped
nextcloud:
image: nextcloud:stable-fpm
container_name: nextcloud-app
networks:
- nextcloud_network
volumes:
- nextcloud_data:/var/www/html:z
- ./php-fpm-www.conf:/usr/local/etc/php-fpm.d/www.conf:ro
environment:
- MYSQL_USER
- MYSQL_PASSWORD
- MYSQL_DATABASE
- MYSQL_HOST
- REDIS_HOST
- OVERWRITEPROTOCOL
- OVERWRITEHOST
- TRUSTED_PROXIES
- APACHE_DISABLE_REWRITE_IP
restart: unless-stopped
depends_on:
- caddy
- db
- redis
cron:
image: nextcloud:stable-fpm
container_name: nextcloud-cron
networks:
- nextcloud_network
volumes:
- nextcloud_data:/var/www/html:z
entrypoint: /cron.sh
restart: unless-stopped
depends_on:
- db
- redis
networks:
nextcloud_network:
external: true
volumes:
caddy_data: {}
db_data: {}
nextcloud_data: {}
1 | services: |
2 | |
3 | caddy: |
4 | image: lucaslorentz/caddy-docker-proxy:ci-alpine |
5 | container_name: reverse-proxy |
6 | ports: |
7 | - 80:80 |
8 | - 443:443 |
9 | environment: |
10 | - CADDY_INGRESS_NETWORKS=nextcloud_network |
11 | networks: |
12 | - nextcloud_network |
13 | volumes: |
14 | - /var/run/docker.sock:/var/run/docker.sock |
15 | - caddy_data:/data |
16 | restart: unless-stopped |
17 | |
18 | web: |
19 | image: nginx:alpine |
20 | container_name: nextcloud-web |
21 | networks: |
22 | - nextcloud_network |
23 | links: |
24 | - nextcloud |
25 | labels: |
26 | caddy: nextcloud.emanuelegori.uno |
27 | caddy.reverse_proxy: "{{upstreams}}" |
28 | caddy.header: /* |
29 | caddy.header.Strict-Transport-Security: '"max-age=15552000;"' |
30 | caddy.rewrite_0: /.well-known/carddav /remote.php/dav |
31 | caddy.rewrite_1: /.well-known/caldav /remote.php/dav |
32 | caddy.rewrite_2: /.well-known/webfinger /index.php/.well-known/webfinger |
33 | caddy.rewrite_3: /.well-known/nodeinfo /index.php/.well-known/nodeinfo |
34 | volumes: |
35 | - nextcloud_data:/var/www/html:z,ro |
36 | - ./nginx.conf:/etc/nginx/nginx.conf:ro |
37 | restart: unless-stopped |
38 | |
39 | db: |
40 | image: mariadb:lts |
41 | container_name: mariadb-database |
42 | command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW |
43 | networks: |
44 | - nextcloud_network |
45 | volumes: |
46 | - db_data:/var/lib/mysql |
47 | environment: |
48 | - MYSQL_ROOT_PASSWORD |
49 | - MYSQL_USER |
50 | - MYSQL_PASSWORD |
51 | - MYSQL_DATABASE |
52 | restart: unless-stopped |
53 | |
54 | redis: |
55 | image: redis:alpine |
56 | container_name: redis-dbcache |
57 | networks: |
58 | - nextcloud_network |
59 | restart: unless-stopped |
60 | |
61 | nextcloud: |
62 | image: nextcloud:stable-fpm |
63 | container_name: nextcloud-app |
64 | networks: |
65 | - nextcloud_network |
66 | volumes: |
67 | - nextcloud_data:/var/www/html:z |
68 | - ./php-fpm-www.conf:/usr/local/etc/php-fpm.d/www.conf:ro |
69 | environment: |
70 | - MYSQL_USER |
71 | - MYSQL_PASSWORD |
72 | - MYSQL_DATABASE |
73 | - MYSQL_HOST |
74 | - REDIS_HOST |
75 | - OVERWRITEPROTOCOL |
76 | - OVERWRITEHOST |
77 | - TRUSTED_PROXIES |
78 | - APACHE_DISABLE_REWRITE_IP |
79 | restart: unless-stopped |
80 | depends_on: |
81 | - caddy |
82 | - db |
83 | - redis |
84 | |
85 | cron: |
86 | image: nextcloud:stable-fpm |
87 | container_name: nextcloud-cron |
88 | networks: |
89 | - nextcloud_network |
90 | volumes: |
91 | - nextcloud_data:/var/www/html:z |
92 | entrypoint: /cron.sh |
93 | restart: unless-stopped |
94 | depends_on: |
95 | - db |
96 | - redis |
97 | |
98 | networks: |
99 | nextcloud_network: |
100 | external: true |
101 | |
102 | volumes: |
103 | caddy_data: {} |
104 | db_data: {} |
105 | nextcloud_data: {} |