新版安裝方式請到這裡查看
——————-以下是舊版安裝方式——————-
- 建立volume
- 設定mariadb data
- 執行
- 設定trusted_domain
建立volume
docker volume create nextcloud-www docker volume create nextcloud-app docker volume create nextcloud-config docker volume create nextcloud-data docker volume create nextcloud-theme
確認 mariadb 資料庫伺服器是否準備好
執行docker指令
docker run -d -p <對應的port>:80 -v nextcloud-www:/var/www/html -v nextcloud-app:/var/www/html/custom_apps -v nextcloud-config:/var/www/html/config -v nextcloud-data:/var/www/html/data -v nextcloud-theme:/var/www/html/themes/mycustom --link <docker資料庫名稱>:mysql -e MYSQL_DATABASE=nextcloud -e MYSQL_USER=root -e MYSQL_PASSWORD=<密碼> -e MYSQL_HOST=mysql --restart=always --name nextcloud nextcloud
若有apache或是nginx作為反向proxy, 將https帶到nextcloud, 需設定trust_domain(網站會提醒)
httpd設定
# for CalDav RewriteEngine On RemoteIPHeader X-Forwarded-For RewriteRule ^/\.well-known/carddav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L] RewriteRule ^/\.well-known/caldav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L]
# form redirect <VirtualHost *:80> ServerName <server name> Redirect permanent / https://<server name>/ </VirtualHost> <VirtualHost *:443> # form security <IfModule mod_headers.c> Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains" </IfModule> </VirtualHost>
nextcloud config設定
若使用httpd proxy 的方式需要加入以下設定, 以免登入轉圈圈無法進入頁面, 修改 config.php 檔案
'overwritehost' => '<主機名稱>', 'overwriteprotocol' => 'https',
執行command
docker exec --user www-data <CONTAINER_ID> php occ 例入遇到上傳檔案失敗, 或是一些檔案錯誤可執行 docker exec --user www-data <container id> php occ files:scan --all