Supabase 自托管部署實踐

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 -d5.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 -d4.修改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.pswp.cn/web/37671.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/37671.shtml
英文地址,請注明出處:http://en.pswp.cn/web/37671.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CrimsonEDR:一款惡意軟件模式識別與EDR策略評估工具

關于CrimsonEDR CrimsonEDR是一個功能強大的開源項目,該項目旨在幫助廣大研究人員識別特定的惡意軟件模式,以此來優化終端檢測與響應(EDR)的策略方案。通過使用各種不同的檢測方案,可以加深開發人員與研究人員加深對安…

SpringBoot入門實戰:SpringBoot整合WebSocket

1.背景介紹 SpringBoot是一個快速開發的框架,它可以幫助我們快速開發Web應用程序。SpringBoot整合WebSocket是SpringBoot的一個組件,它可以幫助我們快速開發WebSocket應用程序。 WebSocket是一種新的協議,它可以讓客戶端和服務器之間建立持久…

MSYS2教程(windows環境下使用linux工具)

MSYS2教程(windows環境下使用linux工具) 1.msys2簡介 MSYS2(Minimal SYStem 2)是一個集成了大量的GNU工具鏈、工具和庫的開源軟件包集合。它提供了一個類似于Linux的shell環境,可以在Windows系統中編譯和運行許多Linux應用程序和工具。 MS…

數據增強:目標檢測算法的煉金術

數據增強:目標檢測算法的煉金術 在目標檢測領域,數據增強技術是一種提高模型泛化能力和性能的關鍵方法。通過數據增強,我們可以從現有的訓練集中生成更多的訓練樣本,這些樣本通過應用不同的變換來模擬真實世界中的多樣性。本文將…

【網絡安全】一文帶你了解什么是【CSRF攻擊】

CSRF(Cross-Site Request Forgery,跨站請求偽造)是一種網絡攻擊方式,它利用已認證用戶在受信任網站上的身份,誘使用戶在不知情的情況下執行惡意操作。具體來說,攻擊者通過各種方式(如發送惡意鏈…

excel修改批量一列單價的金額并保留1位小數

1.打開表格,要把單價金額變成現在的兩倍,數據如下: 2.把單價這一列粘貼到一個新的sheet頁面,在B2單元格輸入公式:A2*2 然后按enter回車鍵,這時候吧鼠標放到B2單元格右下角,會出現一個黑色的小加號&#xf…

《信創數據庫沙龍上海站:共話發展,智啟未來》

2024 年 6 月 29 日周六 14:00,信創數據庫沙龍在上海市徐匯區建國西路 285 號科投大廈 13 樓金星廳成功舉辦。本次活動吸引了眾多學術界和產業界的專家、學者以及技術愛好者參與。 活動中,多位嘉賓帶來了精彩分享。薛曉剛探討了 Oracle 在國內的前景&a…

EAGLE-2:一種高效無損的推測性采樣方法,提升LLM的推理速度。

歡迎關注我的公眾號:Halo咯咯 01。概述 北京大學的研究人員聯合微軟研究院、滑鐵盧大學以及Vector研究所共同推出了EAGLE-2,這是一種利用上下文感知的動態草圖樹來增強推測性采樣的方法。EAGLE-2在先前的EAGLE方法基礎上進行了改進,不僅顯著…

python列表、元組、集合、字典整理

特征對比 下面是Python中列表、元組、集合和字典的特征對比表格: 特征列表 (List)元組 (Tuple)集合 (Set)字典 (Dictionary)定義符號[ ]( ){ }{ }可變性可變不可變可變可變有序性有序有序無序無序元素訪問通過索引訪問,索引從0開始通過索引訪問&#x…

一個啟動腳本例子

一、全部代碼 #!/bin/bash DATE$(date %Y%m%d)SOURCE"abc.jar" TARGET"backup/abc.jar.jew.$DATE"if [ -f "$SOURCE" ]; thencp "$SOURCE" "$TARGET" firm -f abc.jar mv abc_1.jar abc.jarpidNumps -ef | grep $SOURCE |…

【源碼+文檔+調試講解】基于vue的線上點餐系統

摘要 隨著信息技術在管理上越來越深入而廣泛的應用,管理信息系統的實施在技術上已逐步成熟。本文介紹了線上點餐系統的開發全過程。通過分析線上點餐系統管理的不足,創建了一個計算機管理線上點餐系統的方案。文章介紹了線上點餐系統的系統分析部分&…

電腦提示vcomp140.dll缺失怎么解決?vcomp140.dll是什么文件?

當你的電腦提示vcomp140.dll缺失的時候,你就應該要注意了,因為這個提示的出現,代表你的某個程序開不了!想要程序能正常運行,那么只要修復好這個vcomp140.dll文件就可以了,下面我們就來給大家詳細的說說說vc…

超詳細之IDEA上傳項目到Gitee完整步驟

1. 注冊gitee 賬號密碼,gitee官網地址:Gitee官網,注冊完成后,登錄。 2. 創建倉庫,在主頁左下角有新建按鈕,點擊新建后會進入到此頁面填寫倉庫信息。 3. 創建完成后復制倉庫地址 4. 打開IntelliJ IDEA新建或…

python自動化之schedule

目錄 代碼(以每5秒1次為例): 每5分鐘1次 每2小時1次 每天18:00執行 用到的庫:schedule,time 實現的效果:按秒來運行任務,按分鐘來運行任務,按小時來運行任務,按天來運行任務 代…

鴻蒙3.0WebView網絡錯誤問題

背景,榮耀9x,混淆才會出這個問題。 [ERROR:ssl_client_socket_impl.cc(981)] handshake failed; returned -1, SSL error code 1, net_error -2 NetError.java int SSLClientSocketImpl::DoHandshake() {crypto::OpenSSLErrStackTracer err_tracer(FRO…

Oracle新特性速遞:未來數據庫技術的無限可能

文章目錄 一、自治數據庫:智能化與自動化的革命二、機器學習集成:智能數據分析的新境界三、區塊鏈技術:確保數據完整性與透明性四、云原生數據庫:靈活擴展與快速部署五、人工智能優化器:智能查詢執行計劃《Oracle從入門…

centos7搭建zookeeper 集群 1主2從

centos7搭建zookeeper 集群 準備前提規劃防火墻開始搭建集群192.168.83.144上傳安裝包添加環境變量修改zookeeper 的配置 192.168.83.145 和 192.168.83.146 配置 啟動 集群 準備 vm 虛擬機centos7系統zookeeper 安裝包FinalShell或者其他shell工具 前提 虛擬機安裝好3臺cen…

為什么我的Skype點數不見了?如何重新激活 Skype 點數?

您超過180天沒有使用過點數打電話功能,點數暫時封存在您的賬戶里面,需要您手動激活(目前必須要登錄網頁版skype) 可再次使用。 如何重新激活 Skype 點數? 登錄到你的帳戶 . 選擇 重新激活信用額度 .注意: …

MiniTest

1.編輯case文件first_test.py import minium class FirstTest(minium.MiniTest): def test_get_system_info(self): 2.編輯配置文件config.json { "project_path": "path/to/project", "dev_tool_path": "path/to/cli", "…

【Python】 Joblib:高效的Python作業調度和緩存工具

那年夏天我和你躲在 這一大片寧靜的海 直到后來我們都還在 對這個世界充滿期待 今年冬天你已經不在 我的心空出了一塊 很高興遇見你 讓我終究明白 回憶比真實精彩 🎵 王心凌《那年夏天寧靜的海》 在Python數據科學和機器學習中,處理…