安裝supabse
https://supabase.com/docs/guides/local-development/cli/getting-started?queryGroups=platform&platform=linux
brew install supabase/tap/supabase
supabase init
supabase start
需要使用brewuser進行安裝:
brew安裝參考鏈接:
https://blog.csdn.net/kingdom_java/article/details/147554921?spm=1001.2014.3001.5502
supabase start啟動報錯
brewuser@server-4090-85:~$ supabase start
failed to inspect service: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.49/containers/supabase_db_brewuser/json": dial unix /var/run/docker.sock: connect: permission denied
根據你遇到的錯誤信息,核心問題在于 當前用戶 brewuser
缺乏訪問 Docker 守護進程的權限。以下是分步解決方案:
1. 核心問題定位
? 權限不足:Docker 的 Unix 套接字 /var/run/docker.sock
默認僅允許 root
用戶或 docker
用戶組成員訪問。
? 用戶組配置缺失:當前用戶 brewuser
未加入 docker
用戶組,導致 supabase start
命令無法調用 Docker 服務。
2. 解決方案
步驟一:將用戶加入 Docker 用戶組
# 將當前用戶加入 docker 組(需 root 權限)
sudo usermod -aG docker brewuser# 刷新用戶組權限(需重新登錄或執行以下命令)
newgrp docker
步驟二:驗證 Docker 權限
# 檢查 docker.sock 的權限(組應為 docker)
ls -l /var/run/docker.sock
# 預期輸出類似:srw-rw---- 1 root docker 0 May 13 10:00 /var/run/docker.sock# 測試 Docker 命令權限
docker ps # 應正常輸出容器列表,而非報錯
步驟三:重啟 Docker 服務
# 重啟 Docker 確保配置生效
sudo systemctl restart docker
步驟四:重新運行 Supabase
# 再次嘗試啟動本地開發環境
supabase start
3. 替代方案(若問題持續)
方案一:臨時使用 sudo
提升權限
# 以 root 權限啟動 Supabase
sudo supabase start
? 注意:長期使用 sudo
可能存在安全隱患。
方案二:手動修復套接字權限
# 強制修改套接字權限(謹慎操作)
sudo chmod 666 /var/run/docker.sock # 允許所有用戶讀寫
? 風險提示:此操作會降低安全性,僅建議臨時測試使用。
4. 關鍵原理說明
? Docker 權限模型:Docker 默認通過 Unix 套接字通信,非 docker
組成員需 sudo
提權。
? Supabase 依賴關系:Supabase CLI 在本地啟動時會調用 Docker 創建多個容器(如數據庫、存儲服務),需完整的 Docker 控制權限。
5. 擴展建議
? 生產環境部署:若用于服務器環境,建議通過 systemd
配置 Docker 服務并限制權限。
? 開發環境隔離:使用 Docker Compose 或 NVM 管理本地環境,避免全局依賴沖突。
完成上述步驟后,supabase start
應能正常啟動服務。若仍存在問題,可通過 supabase start --debug
生成詳細日志進一步排查。
supabase start正常啟動界面:
啟動成功,默認訪問地址是Studio URL: http://127.0.0.1:54323,127的IP地址默認可以替換成本機對外的IP地址;
前端界面效果: