Supabase 是 Firebase 的開源替代品。使用 Postgres 數據庫、身份驗證、即時 API、邊緣函數、實時訂閱、存儲和向量嵌入來啟動您的項目。
Supabase介紹
Supabase 是一個開源的后端即服務(BaaS)平臺,提供了一系列工具和服務,幫助開發者快速構建和部署應用程序。以下是 Supabase 的一些典型應用場景:
- 實時數據同步和協作應用
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 都能夠提供可靠的支持和強大的功能。