nextcloud-docker-compose/docker-compose.yaml
2023-12-03 17:08:07 +08:00

79 lines
1.8 KiB
YAML

version: '3'
services:
app:
image: nextcloud:27-fpm-alpine
restart: always
volumes:
- ./nextcloud/custom_apps:/var/www/html/custom_apps
- ./nextcloud/web:/var/www/html
- ./nextcloud/data:/var/data
environment:
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=nextcloud
- MYSQL_HOST=db
- REDIS_HOST=redis
- REDIS_PORT=6379
- REDIS_HOST_PASSWORD=nextcloud_redis_pass
- NEXTCLOUD_DATA_DIR=/var/data
- NEXTCLOUD_INIT_HTACCESS=true
- PHP_UPLOAD_LIMIT=10240M
- PHP_MEMORY_LIMIT=512M
links:
- db
- redis
depends_on:
- db
- redis
# environment:
# - VIRTUAL_HOST=your.domain.com
# - LETSENCRYPT_HOST=your.domain.com
# - LETSENCRYPT_EMAIL=your-email@example.com
networks:
- proxy-tier
- nextcloud
db:
image: mariadb:11.2.2
volumes:
- ./nextcloud/mysql:/var/lib/mysql
networks:
- nextcloud
restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
environment:
TZ: asia/shanghai
MYSQL_ROOT_PASSWORD: supersecretpassword
MYSQL_DATABASE: nextcloud
MYSQL_USER: nextcloud
MYSQL_PASSWORD: nextcloud
MARIADB_AUTO_UPGRADE: 1
MARIADB_DISABLE_UPGRADE_BACKUP: 1
redis:
image: redis:alpine
restart: always
command: redis-server --requirepass nextcloud_redis_pass
networks:
- nextcloud
web:
image: nginx
restart: always
ports:
- 8080:80
links:
- app
networks:
- proxy-tier
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./nextcloud/certs:/etc/certs:ro
volumes_from:
- app
networks:
nextcloud:
proxy-tier: