当前位置: 首页 > ops >正文

ubuntu部署supabase

安装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地址;
在这里插入图片描述
前端界面效果:
在这里插入图片描述

http://www.xdnf.cn/news/5811.html

相关文章:

  • 广告推荐算法入门 day1 --项目选型
  • HDFS的客户端操作
  • 【Ansible】基于windows主机,采用NTLM+HTTPS 认证部署
  • git进行版本控制时遇到Push cannot contain secrets的解决方法
  • Hapi.js知识框架
  • RabbitMQ,Kafka八股(自用笔记)
  • 亚马逊云科技:开启数字化转型的无限可能
  • MapReduce 入门实战:WordCount 程序
  • 2025政企行业智能体研究
  • MinIO WebUI 页面使用
  • 国产化Word处理控件Spire.Doc教程:如何使用 C# 从 Word 中提取图片
  • INTELLECT-2大模型论文速读:通过全局分散强化学习训练的推理模型
  • 小天互连即时通讯:制造行业沟通协作的高效纽带
  • 使用 百度云大模型平台 做 【提示词优化】
  • volatile是什么
  • 启动 spyder ModuleNotFoundError: No module named ‘PyQt5.QtWebKitWidgets‘
  • Spring MessageSource 详解:如何在国际化消息中传递参数
  • 2025年第十六届蓝桥杯大赛软件赛C/C++大学B组题解
  • Nature图形复现—两种快速绘制热图的方法
  • Mac显卡的工作原理及特殊之处
  • 20、map和set、unordered_map、un_ordered_set的复现
  • el-tree结合checkbox实现数据回显
  • SpringBoot的单体和分布式的任务架构
  • 【DeepSeek】判断两个 PCIe 设备是否属于**同一个 PCIe 子树
  • NPOI 操作 Word 文档
  • 如何避免和恢复因终端关闭导致的 LoRA 微调中断
  • 用 VS Code / PyCharm 编写你的第一个 Python 程序
  • Java鼠标事件监听器MouseListener、MouseMotionListener和MouseWheelListener
  • Redis——线程模型·
  • Ubuntu 18.04.6下OpenSSL与OpenSSH版本升级