最終更新 1745695492

La soluzione di archiviazione cloud personale

docker-compose.yml Raw
1services:
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
98networks:
99 nextcloud_network:
100 external: true
101
102volumes:
103 caddy_data: {}
104 db_data: {}
105 nextcloud_data: {}