docker以yaml方式安装nextcloud示例:
version: '3'
networks:
nextcloud_network:
external: false
services:
nextcloud:
image: wonderfall/nextcloud
depends_on:
- nextcloud-db # If using MySQL
- redis # If using Redis
environment:
- UID=1000
- GID=1000
- UPLOAD_MAX_SIZE=20G
- APC_SHM_SIZE=512M
- OPCACHE_MEM_SIZE=256
- CRON_PERIOD=15m
- TZ=Asia/Shanghai
- DOMAIN=localhost
- DB_TYPE=mysql
- DB_NAME=nextclouddocker
- DB_USER=fan
- DB_PASSWORD=fjh950107
- DB_HOST=nextcloud-db
volumes:
- /share/CACHEDEV1_DATA/Container/nextcloud/data:/data
- /share/CACHEDEV1_DATA/Container/nextcloud/config:/config
- /share/CACHEDEV1_DATA/Container/nextcloud/apps:/apps2
- /share/CACHEDEV1_DATA/Container/nextcloud/themes:/nextcloud/themes
networks:
- nextcloud_network
# If using MySQL
nextcloud-db:
image: mariadb
volumes:
- /share/CACHEDEV1_DATA/Container/nextcloud/mariadb:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=123456
- MYSQL_DATABASE=nextclouddocker
- MYSQL_USER=admin
- MYSQL_PASSWORD=123456
networks:
- nextcloud_network
# If using Redis
redis:
image: redis:alpine
container_name: redis
volumes:
- /share/CACHEDEV1_DATA/Container/nextcloud/redis:/data
networks:
- nextcloud_network
还有一位外国大佬分享的yaml
version: '3'
services:
proxy:
image: jwilder/nginx-proxy:alpine
labels:
- "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy=true"
container_name: nextcloud-proxy
networks:
- nextcloud_network
ports:
- 80:80
- 443:443
volumes:
- ./proxy/conf.d:/etc/nginx/conf.d:rw
- ./proxy/vhost.d:/etc/nginx/vhost.d:rw
- ./proxy/html:/usr/share/nginx/html:rw
- ./proxy/certs:/etc/nginx/certs:ro
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/tmp/docker.sock:ro
restart: unless-stopped
letsencrypt:
image: jrcs/letsencrypt-nginx-proxy-companion
container_name: nextcloud-letsencrypt
depends_on:
- proxy
networks:
- nextcloud_network
volumes:
- ./proxy/certs:/etc/nginx/certs:rw
- ./proxy/vhost.d:/etc/nginx/vhost.d:rw
- ./proxy/html:/usr/share/nginx/html:rw
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
restart: unless-stopped
db:
image: mariadb
container_name: nextcloud-mariadb
networks:
- nextcloud_network
volumes:
- db:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro
environment:
- MYSQL_ROOT_PASSWORD=toor
- MYSQL_PASSWORD=mysql
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
restart: unless-stopped
app:
image: nextcloud:latest
container_name: nextcloud-app
networks:
- nextcloud_network
depends_on:
- letsencrypt
- proxy
- db
volumes:
- nextcloud:/var/www/html
- ./app/config:/var/www/html/config
- ./app/custom_apps:/var/www/html/custom_apps
- ./app/data:/var/www/html/data
- ./app/themes:/var/www/html/themes
- /etc/localtime:/etc/localtime:ro
environment:
- VIRTUAL_HOST=nextcloud.YOUR-DOMAIN
- LETSENCRYPT_HOST=nextcloud.YOUR-DOMAIN
- LETSENCRYPT_EMAIL=YOUR-EMAIL
restart: unless-stopped
volumes:
nextcloud:
db:
networks:
nextcloud_network:
最后参考另一位博主的方法: