{"id":15779547,"url":"https://github.com/jim60105/docker-nextcloud","last_synced_at":"2025-03-31T15:53:51.665Z","repository":{"id":107553502,"uuid":"274865381","full_name":"jim60105/docker-Nextcloud","owner":"jim60105","description":"Nextcloud on Docker + 定時rsync備份 (Docker Compose)。 https://blog.maki0419.com/2020/07/docker-nextcloud.html","archived":false,"fork":false,"pushed_at":"2021-08-31T15:17:29.000Z","size":40,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-04T18:21:04.416Z","etag":null,"topics":["cloudflare-worker","cloudflare-workers","docker","docker-compose","nextcloud","nextcloud-docker","nextcloud-installation"],"latest_commit_sha":null,"homepage":"https://blog.maki0419.com/2020/07/docker-nextcloud.html","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jim60105.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-25T08:26:26.000Z","updated_at":"2024-01-15T03:21:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"3b24e307-45e1-46b1-9682-2dec600cfb36","html_url":"https://github.com/jim60105/docker-Nextcloud","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jim60105%2Fdocker-Nextcloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jim60105%2Fdocker-Nextcloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jim60105%2Fdocker-Nextcloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jim60105%2Fdocker-Nextcloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jim60105","download_url":"https://codeload.github.com/jim60105/docker-Nextcloud/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246492143,"owners_count":20786314,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloudflare-worker","cloudflare-workers","docker","docker-compose","nextcloud","nextcloud-docker","nextcloud-installation"],"created_at":"2024-10-04T18:20:26.956Z","updated_at":"2025-03-31T15:53:51.643Z","avatar_url":"https://github.com/jim60105.png","language":"Shell","readme":"# Nextcloud on Docker + 定時rsync備份\n這是從屬於 [jim60105/docker-ReverseProxy](https://github.com/jim60105/docker-ReverseProxy) 的 Nextcloud 方案，必須在上述伺服器運行正常後再做\\\nNextcloud同時做為檔案分享和圖片站。在本機客戶端做自動同步後，就能直接透過網址訪問圖片直鏈。\n\n這是為了在大陸論壇發文時，**不管圖片還是檔案分享都能讓牆內正常瀏覧**而建立的方案\n\n## 架構\nWWW\\\n│\\\nnginx Server (Reverse Proxy) (SSL證書申請、Renew)\\\n│  ┌ MariaDB資料庫 (網路只對Nextcloud)\\\n└ Nextcloud\\\n 　└ Jobber (Cron) (定時Backup Docker volume，Backup完送至rsync server) \n\n## 說明\n* 備份檔會儲存在主機的 `/backup`\n* 請參考 `*.env_sample` 建立 `*.env`\n* rsync ssh passwd 明碼放在 `/root/ssh.pas`，chown root\n* Jobber會運行`shellScript/backup.sh \u0026\u0026 shellScript/upload.sh `，請參考 `upload.sh_sample` 建立 `upload.sh`\n* 正式發佈前移除 `.env` 中的 `LETSENCRYPT_TEST=true`\\\n此設定為SSL測試證書\\\n正式版有申請次數上限，務必在測試正常、最後上線前再移除\n\n### img圖片縮址和DNS設定\nimg網域的縮址如下:\\\n`https://img.domain.com/OOXX` = \\\n`https://nextcloud.domain.com/index.php/apps/sharingpath/\u003cNEXTCLOUDUSERNAME\u003e/Public/OOXX`\n\n### Cloudflare設定\n我使用Cloudflare做DNS和Cache\\\nCloudflare Worker是img縮址的主要邏輯\n\nDNS Record有三條，一條A指向SERVER_IP，另倆CNAME指向A Record\\\nnextcloud網域DNS Only用做日常操作，以免Cache造成回應錯誤\\\nCache只設定於cloud和img倆網域上，分享時使用這倆網域可以節省主機流量，Cloudflare能夠抓住近99%\n\nSSL相關設定如此是為了讓Let's Encrypt能成功訪問，請留意\n\n* DNS\n\t* A: `nextcloud.domain.com` → SERVER_IP (DNS Only)\n\t* CNAME: `cloud.domain.com` → `nextcloud.domain.com` (Proxied)\n\t* CNAME: `img.domain.com` → `nextcloud.domain.com` (Proxied)\n* SSL/TLS\n\t* Always Use HTTPS: **Off**\n\t* HTTP Strict Transport Security (HSTS): **Disabled**\n\t* Automatic HTTPS Rewrites: (Can enable if needed)\n* Caching\n\t* Caching Level: Standard\n* Worker\n\t* 建一個Worker，內容為`Cloudflare/worker.js`\n\t* Route `img.domain.com` 至此Worker\n* Page Rule\n\t1. `*domain.com/.well-known/acme-challenge*`\n\t\t* **Disable Everything**\n\t\t* Cache Level: Bypass\n\t1. `nextcloud.domain.com/index.php/apps/sharingpath/\u003cNEXTCLOUDUSERNAME\u003e/Public/*`\n\t\t* Disable Security\n\t\t* Browser Integrity Check: Off\n\t\t* SSL: Full\n\t\t* Browser Cache TTL: a year\n\t\t* Cache Level: Cache Everything\n\t\t* Edge Cache TTL: a month\n\t\t* Automatic HTTPS Rewrites: On\n\t\t* Disable Performance\n\t1. `https://cloud.domain.com/*`\n\t\t* SSL: Full\n\t\t* Rocket Loader: Off\n\t\t* Cache Level: Cache Everything\n\t\t* Automatic HTTPS Rewrites: On\n\t\t* Disable Apps\n\n### Nextcloud設定\n1. 安裝應用程式: Sharing Path\\\n※**注意**: Sharing Path會開啟「以路徑直鏈訪問公開檔案」功能，雖然方便，但會導致路徑可猜的資安問題\\\n故**建議此Nextcloud只存放低敏感度資料**\n1. 右上角「設定→個人-分享→Sharing Path」，勾上Enable sharing path\n1. 「設定→管理-分享」，勾選以下項目\n\t* 允許 apps 使用分享 API\n\t* 允許使用者透過連結分享\n\t\t* 允許公開上傳\n\t* 允許使用者名稱自動補齊在分享對話框\n\t* 允許這台伺服器上的使用者發送分享給其他伺服器\n\t* Search global and public address book for users \n1. 在Nextcloud根目錄新增Public資料夾，此資料夾開啟外部唯讀分享，做為分享的根目錄\n1. Public資料夾下放做為img網域的favicon.ico，即`Public/favicon.ico`\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjim60105%2Fdocker-nextcloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjim60105%2Fdocker-nextcloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjim60105%2Fdocker-nextcloud/lists"}