服務市集
Logto

在 Zeabur 部署 Logto

Logto (opens in a new tab) 是一個開源的身份驗證服務,可以幫助你在你的應用程式中快速實現身份驗證,同時也是最著名的 Auth0 (opens in a new tab) 開源替代品。

本文將教你如何在 Zeabur 上輕鬆部署一個 Logto 服務,並且綁定自己的網域,讓你的其他網站能夠用自己部署的 Logto 服務來驗證身份。

步驟一:建立項目

首先,我們需要先在 Zeabur 上建立一個項目,請前往 項目列表 (opens in a new tab) 頁面,你會看到你的所有項目,而「建立項目」按鈕就在所有項目的最後面。

步驟二:部署 PostgreSQL 服務

Logto 會將使用者身份資料儲存在 PostgreSQL 資料庫中,請點選「建立服務」並選擇 Prebuilt,你將在列表中找到 PostgreSQL。

Deploy PostgreSQL

選擇了 PostgreSQL 後,你的 PostgreSQL 服務將會自動部署。

步驟三:建立資料庫

為了讓 Logto 服務能夠正常運作,我們需要先在 PostgreSQL 資料庫中建立一個名為 logto 的資料庫。

方法一:在控制台中建立

通常情況下,你需要一個 PostgreSQL 用戶端來連接 PostgreSQL 服務並建立資料庫。但是 Zeabur 提供了一個方便的方法來建立資料庫。

在你的 PostgreSQL 服務中,你可以找到一個名為 Database 的頁籤,你可以在這裡輕鬆管理你的資料庫。

Database Tab

Logto 服務 需要一個名為 logto 的資料庫,所以我們需要建立一個名為 logto 的資料庫。

方法二:使用 PostgreSQL 用戶端

你也可以使用 PostgreSQL 用戶端來建立資料庫。在本文中,我們使用 psql (opens in a new tab) 來連接。

PostgreSQL Instructions

你可以在 Zeabur 控制台中 PostgreSQL 服務的 Instruction 頁籤中找到相應的 psql 連接指令或其他連接資訊。

psql postgresql://root:password@infra.zeabur.com:12345

接下來,請在 psql 中輸入以下指令來建立 logto 資料庫:

CREATE DATABASE logto;

步驟四:部署 Logto 服務

在 Zeabur 控制台中,點選「建立服務」並選擇 Prebuilt,你將在列表中找到 Logto。

Deploy Logto

在選擇了 Logto 服務後,你的 Logto 服務將會自動部署。

💡

如果你先部署了 Logto 服務,然後再部署 PostgreSQL 服務,那麼你需要在部署 PostgreSQL 服務並加入好資料庫後重啟 Logto 服務,以便 Logto 能夠獲取正確的資料庫連接資訊。

步驟五:為每個埠綁定網域

在 Zeabur 控制台中,你可以在 Logto 服務的 Domain 頁籤中為其綁定網域。這個網域可以是你自己的網域,也可以是 Zeabur 提供的免費網域。

Logto 服務有兩個埠,一個是用於 web 介面的,另一個是用於管理控制台介面的。你可以在控制台中為每個埠綁定一個網域。

點選 Generate DomainCustom Domain,你將看到一個輸入框和一個埠選擇器,你可以在這裡為每個埠綁定一個網域。

Logto domain for web

Logto domain for console

關於如何為你的服務綁定網域的更多資訊,請參考 綁定網域

步驟六:設定環境變數

綁定好網域後,我們需要讓 Logto 服務知道我們綁定的網域。

Logto 服務需要 2 個環境變數:

  • ENDPOINT: 你給 web 介面綁定的網域,例如 https://logto-web.zeabur.app
  • ADMIN_ENDPOINT: 你給管理控制台介面綁定的網域,例如 https://logto-console.zeabur.app

打開服務頁面的 Variables 頁籤,點選 Edit Raw Variables 按鈕,你可以在輸入框中填寫以下變數。

{
  "ENDPOINT": "https://logto-web.zeabur.app", // Your domain name for web interface
  "ADMIN_ENDPOINT": "https://logto-console.zeabur.app" // Your domain name for admin console interface
}

加入好變數後,點選 Restart 按鈕並等待大約 1 分鐘,服務將會重啟並生效。

步驟七:登入並配置 Logto

現在你的 Logto 服務已經準備就緒,你可以登入並配置它。你可以打開你為管理控制台介面綁定的網域,例如 https://logto-console.zeabur.app,你將會看到 Logto 服務的登入頁面。

Logto admin

創造一個帳戶並開始使用 Logto 服務,只需按照 Logto 服務給出的指示即可。