Supabase 自托管部署实践

news2024/11/15 23:54:16

Supabase 是 Firebase 的开源替代品。使用 Postgres 数据库、身份验证、即时 API、边缘函数、实时订阅、存储和向量嵌入来启动您的项目。

Supabase介绍

Supabase 是一个开源的后端即服务(BaaS)平台,提供了一系列工具和服务,帮助开发者快速构建和部署应用程序。以下是 Supabase 的一些典型应用场景:

  1. 实时数据同步和协作应用
    Supabase 提供了实时功能,可以让开发者轻松实现数据同步和实时更新,这对于需要协作和同步功能的应用程序非常有用。例如:

聊天应用:用户之间的消息可以实时同步。
协作编辑器:多个用户可以同时编辑文档,并实时看到对方的修改。
实时仪表盘:数据变化可以即时反映在用户界面上。
2. Web 和移动应用的后端
Supabase 提供了全面的数据库管理、身份验证和存储解决方案,适合构建各种类型的 Web 和移动应用后端。例如:

电商平台:管理用户、商品、订单等数据。
社交网络:处理用户资料、帖子、评论、点赞等功能。
内容管理系统 (CMS):存储和管理文章、媒体文件、用户权限等。
3. 数据分析和可视化
Supabase 的 PostgreSQL 数据库具有强大的数据分析功能,适合需要处理和分析大量数据的应用。例如:

业务分析工具:收集和分析用户行为数据,生成报表和图表。
数据可视化应用:展示复杂的数据集,通过图表和仪表盘提供洞察。
4. 物联网 (IoT) 应用
Supabase 的实时功能和高效的数据处理能力使其适合物联网应用,这些应用需要处理大量传感器数据并提供实时反馈。例如:

智能家居系统:管理和监控各种家庭设备的状态和数据。
工业监控系统:收集和分析设备的运行数据,实时监控设备状态。
5. 开发和测试环境
Supabase 的易用性和快速部署能力使其成为开发和测试环境的理想选择。例如:

快速原型设计:开发者可以快速搭建后端,验证想法和功能。
测试环境:为不同的应用版本或功能提供独立的测试后端。
6. 教育和培训
Supabase 的开源特性和全面功能使其适合作为教育和培训工具。例如:

编程课程:教授学生如何构建全栈应用。
技术培训:企业可以使用 Supabase 为员工提供后端开发培训。

一、安装环境准备与安装包准备

如果服务器能连接国外网络,可以安装官网进行部署,参考:https://supabase.com/docs/guides/self-hosting/docker
本文是通过本地代理远程制作私有镜像部署。

1.环境准备:

Docker 版本:Docker version 24.0.7(注意:Docker 版本过低可能导致服务不能正常启动,建议升级Docker版本)。
操作系统:Linux x86_64 x86_64 GNU/Linux。

2.安装包

github 源码地址:https://github.com/supabase/supabase
安装的时候需要连接国外镜像仓库,所以需要能科学上网连到国外仓库下载好镜像,打包上传到服务器,一共12个镜像,总共4G左右的大小。
在这里插入图片描述
镜像制作命令:

导出镜像:
docker save -o kong.tar 镜像名称
导入镜像
docker load -i supabase.tar

二、安装步骤

1.解压安装包

unzip supabase-master.zip

2.修改配置并运行

进入docker目录

cd supabase-master/docker

拷贝配置文件

cp .env.example .env

从本地导入镜像

docker-compose pull

启动服务

docker-compose up -d

3.验证服务

web 地址登录:安装服务的ip:8000
默认用户名:supabase
密码:this_password_is_insecure_and_should_be_updated

4.修改安全设置

参考官网进行修改:https://supabase.com/docs/guides/self-hosting/docker#update-secrets
4.1 生成key,
替换:JWT_SECRET、ANON_KEY、SERVICE_ROLE_KEY、DASHBOARD_USERNAME、DASHBOARD_PASSWORD
在这里插入图片描述
在这里插入图片描述
4.2 修改配置文件.env

cd supabase-master/docker/
按照官网文档,生成key,修改.evn 配置文件
停止服务:docker-compose down
注意:web ui密码、数据库密码修改成强密码
重启服务
docker-compose down
docker-compose up -d

5.pgsql远程登录配置
进入安装目录的/docker/volumes/db/data目录下,修改 postgresql.conf和pg_hba.conf 文件,如下:
++++++++++++++远程登录配置++++++++++++++++++
远程连接postgresql问题.连接不上 
 
默认下,POSTGRESQL只接受本地服务,要接受远程服务,需改2个地方 
1. vim /opt/module/supabase-master/docker/volumes/db/data/postgresql.conf中的listen_address改为‘*’
2. vim /opt/module/supabase-master/docker/volumes/db/data/pg_hba.conf 增加 1行远程的规则:

host all all 0.0.0.0/0 md5
3.重启服务
docker-compose down
docker-compose up -d

4.修改postgres默认密码
4.1# 超级管理员登录命令:
docker exec -it $(docker ps | grep supabase-db | awk '{print $1}') psql  -U supabase_admin -d postgres;
4.2 # 修改默认postgres密码
ALTER USER postgres WITH PASSWORD 'xxddfssffada';
4.3 # 修改密码之后验证登录
docker exec -it $(docker ps | grep supabase-db | awk '{print $1}') psql  -U postgres -d postgres -W; 
4.4 重启服务
docker-compose down
docker-compose up -d
4.5 远程连接工具登录验证
使用postgres数据库,使用postgres用户登录,页面创建表默认在public下面,如下图

在这里插入图片描述

三、Supabase 基本使用

创建表:
在这里插入图片描述
表编辑:
在这里插入图片描述
SQL查询:
在这里插入图片描述

四、总结

Supabase 作为一个功能强大且易用的 BaaS 平台,适用于广泛的应用场景。它提供的实时数据同步、全面的数据库管理、身份验证和存储解决方案,使开发者能够快速构建和部署高质量的应用程序。不论是实时协作应用、Web 和移动应用后端、数据分析、物联网应用,还是开发测试环境和教育培训,Supabase 都能够提供可靠的支持和强大的功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1883484.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

qt中数据库和excel互导数据————附带详细步骤和代码

文章目录 0 背景1 准备QXlsx环境1.1 cmake安装使用1.2 qmake使用 2 把excel数据导出到mysql数据库3 把mysql数据库的数据写入到excel4 完整代码5 项目代码仓库 0 背景 因为需要批量导入和导出数据,所以需要用到excel。实现把数据库的数据导入到excel中,…

matrix-breakout-2-morpheus靶场

1 信息收集 1.1 主机发现 arp-scan -l 1.2 端口与服务扫描 发现开放22、80、81端口 2 访问服务 2.1 访问80端口 查看源代码 2.2 访问81端口 3 目录扫描 3.1 dirsearch目录扫描 dirsearch -u 192.168.1.14 发现robots.txt文件和javascript文件 访问文件 http://192.168…

linux网络命令:httpie详解-简单易用的命令行 HTTP 客户端

目录 一、命令概述 二、基本特点 1、直观和友好的命令语句 2、内置 JSON 支持 3、支持多种请求方法 4、支持 HTTPS、代理和授权验证 5、支持多种请求数据格式 6、自定义 headers 头 7、持久 sessions 存储 8、插件支持 三、安装 1、对于基于 Debian 的系统&#xf…

【你也能从零基础学会网站开发】关系型数据库中的表(Table)设计结构以及核心组成部分

🚀 个人主页 极客小俊 ✍🏻 作者简介:程序猿、设计师、技术分享 🐋 希望大家多多支持, 我们一起学习和进步! 🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注 关系型数据库中…

idea 项目互联网转内网开发 依赖报错问题 maven问题

场景: 这个问题困扰好久,通过分析后,发现是maven配置问题,废话不多说,上干活。 问题描述 项目互联网从转内网开发,提前下载好repository,跟项目一起导入内网,导入后,发…

Jasper Report详细使用教程

1、编写jrxml文件 1.1 新建项目 使用Jaspersoft Studio来创建一个项目,如图所示,新建一个项目,步骤: File -> New -> Project->JasperReportsProject 1.2 新建一个Jasper Report模板 找到你新建的项目。步骤:…

昇思25天学习打卡营第6天|简单的深度学习模型实战 - 函数式自动微分

自动微分(Automatic Differentiation)是什么?微分是函数在某一处的导数值,自动微分就是使用计算机程序自动求解函数在某一处的导数值。自动微分可用于计算神经网络反向传播的梯度大小,是机器学习训练中不可或缺的一步。 这些公式难免让人头大…

抛弃 Neofetch?众多优秀替代方案等你体验!

目录 抛弃 Neofetch?众多优秀替代方案等你体验Neofetch 的替代品FastfetchscreenFetchmacchina 抛弃 Neofetch?众多优秀替代方案等你体验 NeoFetch 是用 Bash 3.2 编写的命令行系统信息工具,该项目的主要开发人员已将 GitHub 存储库存档&…

【C++11:右值引用,列表初始化】

统一列表初始化: 构造函数的函数名与函数体之间增加一个列表,用于对成员初始化 在实例化对象时,支持单/多参数的隐式转化,同时也可以省略符号,让代码更简洁 右值的引用 左值: 左值与右值的重要区别就是能…

用代码实现加载中动图 loading.gif

效果 仅使用htmlcss&#xff0c;效果如下所示 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><title>加载中</title><style>.el-loading-spinner .circular {height: 42px;width: 42px;…

7.1作业

初始化 /******rcc章节初始化********/ |//1.使能gpiob组控制器 |RCC->MP_AHB4ENSETR |(0X1<<1); |//2.使能gpiog组控制器 |RCC-&…

【TB作品】矩阵键盘电话拨号,ATMEGA16单片机,Proteus仿真 atmega16矩阵键盘电话拨号

atmega16矩阵键盘电话拨号 c代码和仿真图&#xff1a; 使用ATmega16实现矩阵键盘电话拨号功能 项目背景 在电子设计和嵌入式系统开发中&#xff0c;矩阵键盘是常见的人机交互方式。它可以实现较多按键的输入&#xff0c;同时节省单片机的I/O资源。结合LCD显示和蜂鸣器&am…

四城联动 | 亚控KingSCADA4.0信创版发布会圆满收官

圆满收官 随着科技的飞速发展&#xff0c;智能制造和工业自动化已成为推动产业升级的重要力量。在这样的背景下&#xff0c;北京亚控科技发展有限公司&#xff08;以下简称“亚控科技”&#xff09;于2024年6月18日至27日&#xff0c;分别在沈阳、大连、长春和哈尔滨四地成功举…

【PYG】Planetoid中边存储的格式,为什么打印前十条边用edge_index[:, :10]

edge_index 是 PyTorch Geometric 中常用的表示图边的张量。它通常是一个形状为 [2, num_edges] 的二维张量&#xff0c;其中 num_edges 表示图中边的数量。每一列表示一条边&#xff0c;包含两个节点的索引。 实际上这是COO存储格式&#xff0c;官方文档里也有写&#xff0c;…

暑假假期规划 离不开宝藏待办计划管理工具

暑假来临&#xff0c;两个月的自由时间&#xff0c;如何过得充实而有意义&#xff0c;成了我最近思考的问题。毕竟&#xff0c;一个合理的假期规划&#xff0c;不仅能让我的假期生活更加丰富多彩&#xff0c;还能为新学期的到来做好充分的准备。 我幻想着在这个暑假里&#xf…

激光雷达数据处理

激光雷达技术以其高精度、高效率的特点&#xff0c;已经成为地表特征获取、地形建模、环境监测等领域的重要工具。掌握激光雷达数据处理技能&#xff0c;不仅可以提升工作效率&#xff0c;还能够有效提高数据的质量和准确性&#xff0c;为决策提供可靠的数据支持。 第一章、激…

【漏洞复现】和丰多媒体信息发布系统 QH.aspx 任意文件上传漏洞

0x01 产品简介 和丰多媒体信息发布系统也称数字标牌&#xff08;Digital Signage&#xff09;&#xff0c;是指通过大屏幕终端显示设备&#xff0c;发布商业、财经和娱乐信息的多媒体专业视听系统&#xff0c;常被称为除纸张媒体、电台、电视、互联网之外的“第五媒体”。该系…

centos 安装zabbix 6.4.16 server client

Zabbix Server 采用源码包部署&#xff0c;数据库采用 MySQL8.0 版本&#xff0c;zabbix-web 使用 nginxphp 来实现。具体信息如下&#xff1a; 软件名 版本 安装方式 Zabbix Server 6.4.16 源码安装 Zabbix Agent 6.4.16 源码安装 MySQL 8.0.28 yum安装 Nginx 1.…

赛氪网:企业竞赛组织平台新选择,一键操作助力赛事成功举办

在数字化时代&#xff0c;传统的赛事报名方式已经逐渐难以满足组织者和参赛者的需求。企业如何寻找一种既方便又高效的赛事报名工具&#xff1f;赛氪网平台凭借其便捷的操作流程、完善的管理功能和技术保障&#xff0c;成为众多企业和高校举办竞赛时的首选。 赛氪网作为一款先…

祝贺《华为战略管理法:DSTE实战体系》被《中国企业家》杂志评为企业家枕边书50本之一(宏观战略类书籍)

祝贺《华为战略管理法&#xff1a;DSTE实战体系》被《中国企业家》杂志评为企业家枕边书50本之一 2024年4月23日&#xff08;周二&#xff09;下午13:00&#xff0c;《中国企业家》杂志如期举办“每天都是读书日”线下活动。 《中国企业家》杂志携手商界大咖共同推选50本枕边书…