突觸/矩陣伺服器容器配置權限/文件被拒絕
我在下面發布的答案,還不能接受我自己的答案
我正在開發一個聊天客戶端,為了開發,我使用了一個使用“生成”命令的 docker 設置來創建一個配置文件,您可以調整併使用它來啟動實際服務。在我的桌面上它工作正常,但是當嘗試在我的筆記型電腦上的 respberry 或單獨的 hd 上執行它時,它會在建構過程中拋出一個文件處理程序錯誤,指出權限已被拒絕。
我可能在這裡完全是菜鳥,但我確實更改了筆記型電腦上的文件夾掛載點權限,並且覆盆子在文件夾上設置了權限。
Docker 也被設置為在不為每個命令輸入 sudo 的情況下執行。
這是工作與非工作配置文件的權限程式碼
# Auto generated, working local -rwxrwxrwx 1 root root 103443 <date> <filename>
# Auto generated not working pi and laptop -rw-r--r-- 1 991 991 106030 <date> <filename>
我只是沒有正確設置我的硬碟驅動器嗎?如果我的 pi 是否在預設作業系統分區上,我會在我的 pi 上收到此錯誤。我能夠啟動並使用反向代理服務 django 沒問題。
我正在建構的聊天服務是矩陣/突觸。這是帶有基本設置的突觸伺服器儲存庫上的 docker 文件夾。給出問題的文件是 homeserver.yml,它是從以下位置生成的:
docker-compose run --rm synapse generate
實際上不是根目錄下的 linux 權限惡作劇
這可能是最近的 synapse docker repo push 的副作用,因為這發生在我的多個設備上。我通過自己為 docker 指定手動設置的一部分來解決它。該解決方案可能對其他與配置相關的問題很有用。
解決了,可能會以更好的方式應用精確的解決方案
設想:
為synapse伺服器生成一個配置,該配置將用於為 synapse 創建一個 docker 容器。目標是用於 矩陣客戶端的開發。
問題:
成功創建配置(‘homeserver.yaml’)後,使用該配置建構突觸會引發權限錯誤,並帶有 python 堆棧跟踪,指示無法讀取文件(在容器內),結果
service exit 1
和否docker logs service
。解決方案:
其中一些設置可以使用 env 變數進行設置,請參閱 synapse 自述文件 檢查矩陣/突觸docker repo 後,我注意到最近且頻繁的更新歷史記錄。要麼是我的系統搞砸了,要麼是容器的最近配置設置存在問題。所以我自己做了一些通常自動化的東西。
- 創建了 synapse 使用 conf 的文件夾(‘homeserver.yml’)如果使用綁定掛載(如在 repo 頁面上),docker 卷將
/var/lib/docker/volumes/<name of bind mount>/_data
在此處您要創建 media_store、上傳、日誌。- 在“homeserver.yml”中查找創建的文件夾名稱,並確保路徑指向這些名稱。
- 按照突觸回購指南分配預設組和權利。
# UID & GID default to 991 chown 991:991 media_store/ uploads/ logs/
- 將您的日誌設置處理程序指向日誌文件夾,在設置此配置時日誌文件不存在。日誌處理程序文件可以在 .log.config 中找到
handlers: file: filename: /data/logs/homeserver.log