## docker-compose.yml ```yaml version: '3' services: app: image: nextcloud ports: - 8080:80 volumes: - ./data:/var/www/html restart: always ``` ## config.php Nextcloud 的 config 檔放在`/var/www/html/config/config.php`,對應到本機就是 `./data/config/config.php`,在安裝完成之後,需要修改 `trusted_domains`、`overwriteprotocol`、`overwrite.cli.url` 這幾個參數,如下: ```php '/', 'memcache.local' => '\\OC\\Memcache\\APCu', 'apps_paths' => array ( 0 => array ( 'path' => '/var/www/html/apps', 'url' => '/apps', 'writable' => false, ), 1 => array ( 'path' => '/var/www/html/custom_apps', 'url' => '/custom_apps', 'writable' => true, ), ), 'memcache.distributed' => '\\OC\\Memcache\\Redis', 'memcache.locking' => '\\OC\\Memcache\\Redis', 'redis' => array ( 'host' => 'redis', 'password' => '', 'port' => 6379, ), 'upgrade.disable-web' => true, 'instanceid' => 'och3g4qo42hq', 'passwordsalt' => 'kASfV5cf4Rh+EcvGNKQkmK01HD2UbI', 'secret' => 'Vze6ZS+qgeOmacEn3ctbtV3uZaEpzeJDufjkkm4A9lgmUYpF', 'trusted_domains' => array ( 0 => 'nc.awin.one', ), 'datadirectory' => '/var/www/html/data', 'dbtype' => 'mysql', 'version' => '28.0.3.2', 'dbname' => 'nextcloud', 'dbhost' => 'db', 'dbport' => '', 'dbtableprefix' => 'oc_', 'mysql.utf8mb4' => true, 'dbuser' => 'nextcloud', 'dbpassword' => 'F5vy&46Fzbn:hFnlHji.sWfS*SP~wC', 'overwriteprotocol' => 'https', 'overwrite.cli.url' => 'https://nc.awin.one', 'maintenance_window_start' => 1, 'default_phone_region' => 'TWN', 'installed' => true, 'mail_smtpmode' => 'smtp', 'mail_sendmailmode' => 'smtp', 'mail_from_address' => 'awinhuang', 'mail_domain' => 'gmail.com', 'mail_smtphost' => 'smtp.gmail.com', 'mail_smtpport' => '587', 'mail_smtpauth' => 1, 'mail_smtpname' => 'awinhuang@gmail.com', 'mail_smtppassword' => 'stcg ozpc ypsl enbp', 'maintenance' => false, 'loglevel' => 2, ); ``` ## 遇到的問題 1. 你經由安全的連線存取系統,但系統卻生成了不安全的 URL。這很有可能是因為你使用了反向代理伺服器,但反向代理伺服器的改寫規則並未正常工作,請閱讀關於此問題的文件頁面 ↗。 1. 在 `config/config/php` 新增 ``` 'overwriteprotocol' => 'https', 'overwrite.cli.url' => 'https://nc.awin.one', ``` 這兩行 2. 增加 cron: `nextcloud_clean.sh` 在 crontab 1. `*/5 * * * * /home/awin/script/nextcloud_clean.sh` 3. 伺服器未設定維護時段的開始時間。這代表了每天耗費大量資源的背景作業也會在您主要使用的時間內執行。我們建議將其設定為低使用率的時間,以減少使用者受到這些繁重任務帶來的負載影響。 1. 在 `config/config/php` 增加 `'maintenance_window_start' => 1,` 4. 您並未設定手機國際冠碼。設定後使用者在個人檔案設定手機號碼時不必再輸入國際冠碼。若要這樣做,請新增「default_phone_region」至設定檔,允許的國家及地區請參閱 ISO 3166-1 code 清單。 1. 在 `config/config/php` 增加 `'default_phone_region' => 'TWN',` 5. 您尚未為 WOPI 請求設定允許清單。若無此設定,使用者可以透過 WOPI 請求將受限制的檔案下載至 Nextcloud 伺服器 6. 此站台缺少一些建議的 PHP 模組。為了改善效能與相容性,強烈建立您安裝這些模組:bz2 7. How to know if redis is being used ``` docker exec -it redis /bin/sh cd redis-cli monitor ctrl+c ``` 8. gmail app password for nextcloud: `stcg ozpc ypsl enbp` 9. 大檔案無法上傳 1. 改善傳輸的效率: `sudo docker exec -u 33 e84abbefd5ed php occ config:app:set files max_chunk_size --value 0` 2. `docker-compose.yml` 要增加 3 個 environment: ```yaml - PHP_MEMORY_LIMIT=10240M - PHP_UPLOAD_LIMIT=10240M - POST_MAX_SIZE=10240 ``` 3. ReverseProxy 要增加: ### 大檔案無法上傳 1. 改善傳輸的效率: `sudo docker exec -u 33 e84abbefd5ed php occ config:app:set files max_chunk_size --value 0` 2. `docker-compose.yml` 要增加 3 個 environment: ```yaml - PHP_MEMORY_LIMIT=10240M - PHP_UPLOAD_LIMIT=10240M - POST_MAX_SIZE=10240 ``` 3. ReverseProxy 要增加: ```yaml client_max_body_size 0; fastcgi_read_timeout 600; fastcgi_send_timeout 600; fastcgi_connect_timeout 600; proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600; ``````` 4. 上傳檔案時遇到 "server repliedL Not Found": `sudo docker exec -u 33 e84abbefd5ed php occ files:scan --all`