Synapse/矩陣伺服器容器設定權限/檔案被拒絕

Synapse/矩陣伺服器容器設定權限/檔案被拒絕

以下是我發布的答案,還不能接受我自己的答案

我正在開發一個聊天客戶端,為了進行開發,我使用一個 docker 設置,該設置使用“生成”命令來創建一個配置文件,您可以調整該文件並使用它來啟動實際服務。在我的桌面上它工作正常,但是當嘗試在我的筆記型電腦上的 respberry 或單獨的硬碟上運行它時,它會在構建過程中拋出文件處理程序錯誤,指出權限已被拒絕。

我可能是個菜鳥,但我確實更改了筆記型電腦上的資料夾安裝點權限,而樹莓派在該資料夾上設定了權限。

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 是否位於預設作業系統分割區,我都會收到此錯誤。我能夠啟動並使用反向代理服務 django,沒有任何問題。

我正在建立的聊天服務是矩陣/突觸。這是 synapse 伺服器儲存庫上的 docker 資料夾,其中包含基本設定。出現問題的檔案是 homeserver.yml,它是從下列位置產生的:

docker-compose run --rm synapse generate

答案1

其實根本不是linux權限惡作劇

這可能是最近的 synapse docker repo 推送的副作用,因為這種情況發生在我的多個裝置上。我透過自己指定 docker 手動設定的一部分解決了這個問題。該解決方案可能對其他配置相關問題有用。

解決了,精確的解決方案可能會以更好的方式應用

設想:

產生配置突觸將用於為 synapse 建立 docker 容器的伺服器。目標是用於開發 矩陣客戶。

問題:

成功建立設定('homeserver.yaml')後,使用該設定來建構突觸將引發權限錯誤,並顯示 python 堆疊跟踪,指示無法讀取檔案(在容器內)、結果service exit 1和 no docker logs service

解決方案:

其中一些設定可以使用環境變數進行設置,請參閱 synapse readme 檢查後矩陣/突觸docker repo 我注意到最近頻繁的更新歷史記錄。要嘛是我的系統搞砸了,要嘛是容器最近的配置設定有問題。所以我自己做了一些通常是自動化的事情。

  • 建立了 synapse 與 conf ('homeserver.yml') 一起使用的資料夾 如果使用綁定掛載(如儲存庫頁面上所示),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
    

相關內容