使用docker-compose整合MySQL
若要將nextcloud的資料庫改用mysql或mariadb,那就需要啟動一個資料庫的容器,並將兩者整合使用,單純使用docker指令設定當然可以,但是相當麻煩,有沒有比較能一目了然且簡單的作法,那就使用docker-compose
移除先前SQLite的設定,所以移除/mnt/raid/nextcloud
rm -rf /mnt/raid/nextcloud
建立docker-compose.yaml設定檔
version: '2'
services:
db:
image: mariadb:10
container_name: nextcloudDB
restart: always
volumes:
- /mnt/raid/nextcloud/mysql:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro
environment:
- MYSQL_ROOT_PASSWORD=1234
- MYSQL_PASSWORD=1234
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
networks:
nextcloud:
ipv4_address: 10.1.1.2
app:
image: nextcloud
container_name: nextcloud
ports:
- 8080:80
links:
- db
volumes:
- /mnt/raid/nextcloud:/var/www/html
- /etc/localtime:/etc/localtime:ro
restart: always
networks:
nextcloud:
ipv4_address: 10.1.1.3
networks:
nextcloud:
driver: bridge
ipam:
config:
- subnet: 10.1.1.0/24
gateway: 10.1.1.1
以下面一行指令完成
docker-compose up -d
進入 portainer管理頁面,你可以看到 nextcloud 與 mysql的IP網段被設定到我們自訂的區段,並且不使用dhcp,使用固定ip,如此,方不會於重新製作容器時,讓nextcloud找不到資料庫
關閉並移除容器的所有設定
docker-compose down
進入 ip:8080,會要你重設系統,此時改用mysql,注意ip使用自定的固定ip
桌面與手機的同步軟體
你可以到nextcloud官網或個人設定中的『同步客戶端』來安裝client端的同步軟體,其用法與Dropbox等類型軟體市相同的,差別只是nextcloud完全是屬於個人的私有雲
於其他設定中,可以設定單個檔案傳的大小限制
Last updated