Mastodon 是一個基於 ActivityPub 的免費開源社交網絡伺服器,用戶可以在其中關注朋友並發現新朋友。在 Mastodon 上,用戶可以發布他們想要的任何東西:鏈接、圖片、文本、視頻。所有 Mastodon 伺服器都可以作為聯合網絡進行互操作(一台伺服器上的用戶可以與另一台伺服器上的用戶無縫通信,包括實現 ActivityPub 的非 Mastodon 軟件,如 Pixelfed 和 WriteFreely)。在這個分步指南中,我將向您展示如何使用 Docker 和 Portainer 在您的 Synology NAS 上安裝 Mastodon。
💡注意:本指南與最新的 Mastodon v4.1.2 版本完美配合。使用我的分步指南安裝 Portainer。如果您已在 Synology NAS 上安裝 Portainer,請跳過此步驟。注意:確保您已經安裝了最新的 Portainer 版本。
第 3 步 確保您擁有 synology.me 通配符證書。按照我的指南獲取通配符證書。如果您已經擁有 synology.me Wildcard 證書,請跳過此步驟。
步驟 4 轉到 控制面板 / 登錄門戶 / 高級 選項卡 / 單擊 反向代理。按照下圖中的說明進行操作。
第 5 步 現在單擊 “創建” 按鈕。按照下圖中的說明進行操作。
Mastodon Synology NAS 設置 2
第 6 步 單擊 “創建” 按鈕後,將打開下面的窗口。按照下圖中的說明進行操作。
在常規區域,設置反向代理名稱描述:輸入 Mastodon。之後,添加以下說明:
來源: 協議: HTTPS 主機名:mastodon。你的名字.synology.me 端口: 443
選中啟用 HSTS
目的地: 協議: HTTPS 主機名:localhost 端口: 8562
Mastodon Synology NAS 設置 3 new
第 7 步 在反向代理規則上單擊自定義標頭 選項卡。單擊 創建,然後從下拉菜單中單擊 WebSocket。點擊 WebSocket 後,會自動添加兩個 Header Names 和兩個 Values。單擊 保存。按照下圖中的說明進行操作。
Synology 代理 WebSocket
第 8 步 轉到 Control Panel / Network / Connectivity 選項卡 / 選中 Enable HTTP/2 然後單擊 Apply。按照下圖中的說明進行操作。
Mastodon Synology NAS 設置 4
第 9 步 轉到控制面板 / 安全 / 高級 選項卡 / 選中啟用 HTTP 壓縮,然後單擊應用。按照下圖中的說明進行操作。
Mastodon Synology NAS 設置 5
第 10 步 進入 File Station 並打開 docker 文件夾。在 docker 文件夾中,創建一個新文件夾並將其命名為 mastodon。按照下圖中的說明進行操作。 注意:注意只輸入小寫字母,不要輸入大寫字母。
Mastodon Synology NAS 設置 6
第 11 步 現在在您在步驟 10 中創建的 mastodon 文件夾中創建三個新文件夾,並將它們命名為 config、db、redis。按照下圖中的說明進行操作。注意:注意只輸入小寫字母,不要輸入大寫字母。
Mastodon Synology NAS 設置 7
第 12 步 使用您的用戶名和密碼登錄 Portainer。在 Portainer 的左側邊欄上,單擊 Stacks,然後單擊 + Add stack。按照下圖中的說明進行操作。
1 Synology Portainer 添加堆疊
第 13 步 在名稱字段中輸入 mastodon。按照下圖中的說明進行操作。
注意:在 Portainer Stacks Web 編輯器中複製粘貼以下代碼。 version: "3.9" services: mastodon-redis: image: redis container_name: Mastodon-REDIS hostname: mastodon-redis security_opt: - no-new-privileges healthcheck: test: ["CMD-SHELL", "redis-cli ping || exit 1"] user: 1026:100 environment: - TZ=Europe/Bucharest volumes: - /volume1/docker/mastodon/redis:/data restart: always
mastodon-db: image: postgres container_name: Mastodon-DB hostname: mastodon-db security_opt: - no-new-privileges healthcheck: test: ["CMD", "pg_isready", "-q", "-d", "mastodon", "-U", "mastodonuser"] timeout: 45s interval: 10s retries: 10 user: 1026:100 volumes: - /volume1/docker/mastodon/db:/var/lib/postgresql/data environment: POSTGRES_DB: mastodon POSTGRES_USER: mastodonuser POSTGRES_PASSWORD: mastodonpw restart: always
mastodon: image: lscr.io/linuxserver/mastodon container_name: Mastodon hostname: mastodon security_opt: - no-new-privileges environment: - PUID=1026 - PGID=100 - TZ=Europe/Bucharest - DEFAULT_LOCALE=en - LOCAL_DOMAIN=mastodon.yourname.synology.me - WEB_DOMAIN=mastodon.yourname.synology.me - REDIS_HOST=mastodon-redis - REDIS_PORT=6379 - DB_HOST=mastodon-db - DB_USER=mastodonuser - DB_NAME=mastodon - DB_PASS=mastodonpw - DB_PORT=5432 - ES_ENABLED=false - ES_HOST=es - ES_PORT=9200 - ES_USER=elastic - ES_PASS=elastic - SECRET_KEY_BASE=2e80b1b7d3a70f6358ab08a1cebdffc2424d8800c8ff764ff238f892abd539ff70000f31310d21ac7391d281795479b6d97263edd5d88c05070b6b8acbadf2ab - OTP_SECRET=eca299ae599a9b4eda009b2abfc1ee5b01e0ca30eea060f2a47c6ca3075c4d3616df992ae7e437fcd061aeb6dc9f9cc3d38e79ab090324092777984478996c06 - S3_ENABLED=false volumes: - /volume1/docker/mastodon/config:/config ports: - 8562:443 restart: always depends_on: mastodon-redis: condition: service_healthy mastodon-db: condition: service_started 注意:在將上面的代碼粘貼到下面的 Web 編輯器區域之前,請使用您自己的 UID 和 GID 值更改用戶的值編號(按照我關於如何執行此操作的分步指南。) 1026 是我的個人 UID 值,100 是我的個人 GID 值。您必須輸入自己的值。 注意:在將上面的代碼粘貼到下面的 Web 編輯器區域之前,請更改 TZ 的值。(從此列表中選擇您當前的時區。) 注意:在將上面的代碼粘貼到下面的 Web 編輯器區域之前,請使用 您自己的值更改 PUID 和 PGID 的數值。(按照我關於如何執行此操作的分步指南進行操作。) 1026 是我個人的 PUID 值,100 是我個人的 PGID 值。您必須輸入自己的值。 注意:在將上面的代碼粘貼到下面的 Web 編輯器區域之前,請更改 LOCAL_DOMAIN 的值 並輸入您之前在步驟 6 中創建的自己的 synology.me DDNS。 注意:在將上面的代碼粘貼到下面的 Web 編輯器區域之前,請更改 WEB_DOMAIN 的值 並輸入您之前在步驟 6 中創建的自己的 synology.me DDNS。
Mastodon Synology NAS 設置 8
第 14 步 在頁面上向下滾動,直到您看到名為 Deploy the stack 的按鈕。點擊它。按照下圖中的說明進行操作。安裝過程最多可能需要幾分鐘。這將取決於您的互聯網連接速度。
Mastodon Synology NAS 設置 9 新 2023
第 15 步 如果一切順利,您將在屏幕右上角看到以下消息:“Success Stack successfully deployed”。
Mastodon Synology NAS 設置 10
第 16 步 在 Portainer 的左側邊欄中,單擊 Containers。確定您的 Mastodon 實例,然後單擊小終端圖標。按照下圖中的說明進行操作。
Mastodon Synology NAS 設置 11
第 17 步 在第 16 步單擊小終端圖標後,將打開一個新頁面。單擊 “連接”。按照下圖中的說明進行操作。
Mastodon Synology NAS 設置 12
第 18 步 單擊 Connect at STEP 17 後,將打開一個控制台。複製粘貼下面的代碼並按照圖像中的說明進行操作。
tootctl accounts create marius --email yourownemail --confirmed --role 所有者 點擊複製🐋 注意:在將上面的代碼粘貼到下面的控制台區域之前,請將 marius 更改為您自己的名稱。 注意:在將上面的代碼粘貼到下面的控制台區域之前,請使用您的電子郵件更改您自己的電子郵件文本。
Mastodon Synology NAS 設置 13 新
第 19 步 插入代碼後,按鍵盤上的 Enter 鍵確認,開始創建密碼的過程。幾秒鐘後,您將獲得先前在步驟 18 創建的用戶的新密碼。複製密碼並將其保存在安全的地方 - 稍後您將需要它。
Mastodon Synology NAS 設置 14
第 20 步 回到 第 1 步,否則您將處理業力🙂。
第 21 步 現在打開您的瀏覽器並輸入您的 HTTPS/SSL 證書,例如 https://mastodon。您之前在第 6 步創建的 yourname .synology.me。在我的例子中是 https://mastodon。mariushosting .synology.me 如果一切順利,您將看到 Mastodon 主頁。單擊登錄。按照下圖中的說明進行操作。
Mastodon Synology NAS 設置 15
第 22 步 在電子郵件地址字段中輸入您在步驟 18 中選擇的電子郵件。在密碼字段中輸入您之前在第 19 步自動生成的密碼。單擊 “登錄”。按照下圖中的說明進行操作。
Mastodon Synology NAS 設置 16 新 2023
第 23 步 個性化您自己的個人資料,然後單擊首選項以訪問您的管理區域。按照下圖中的說明進行操作。
Mastodon Synology NAS 設置 17
第 24 步 在左側邊欄中單擊 Administration。按照下圖中的說明進行操作。
Mastodon Synology NAS 設置 18
第 25 步 在管理下,單擊伺服器設置以個性化您的 Mastodon 伺服器。按照下圖中的說明進行操作。
Mastodon Synology NAS 設置 19
第 26 步 如果新用戶將訂閱您的伺服器,您將在 “帳戶” 區域的 “審核” 下找到它。單擊帳戶。單擊新的用戶配置文件。按照下圖中的說明進行操作。
Mastodon Synology NAS 設置 20
第 27 步 單擊確認以確認新用戶。一旦新用戶獲得批准,他們就可以開始使用您的 Mastodon 伺服器。按照下圖中的說明進行操作。 注意:所有者、管理員和版主可以確認,即批准新成員。 筆記:澄清一下:每個將在您的伺服器上註冊新帳戶的用戶都需要手動確認才能開始在您的 Mastodon 伺服器上使用他們的個人資料。新用戶首次註冊時,不會向他們發送電子郵件。我決定不包括 SMTP 電子郵件伺服器(在 docker compose 中)以自動確認新用戶,以免電子郵件伺服器過載。出於這個原因,我認為所有新用戶都由所有者、管理員或版主手動批准是公平的,這樣您就可以完全控制訪問您的私有 Mastodon 伺服器的用戶。如果您希望新用戶收到一封自動註冊確認電子郵件,請與我進行諮詢。
Mastodon Synology NAS 設置 21
享受您的 Mastodon 伺服器吧!
注意:了解 使用最新映像更新 Mastodon 容器。 注意:我可以在我的 Synology NAS 上運行 Docker 嗎? 查看支持的型號。 注意:如果您運行 Docker,如何釋放 NAS 上的磁碟空間。 注意:如何為 Docker 容器安排啟動和停止。 注意:如何激活電子郵件通知。 注意:如何在您的 NAS 上添加訪問控制配置文件。 注意:如何更改 Docker 容器重啟策略。 注意:如何通過 VPN 使用 Docker 容器。 注意:將 Docker Run 轉換為 Docker Compose。 注意:如何清理 Docker。 注意:如何自動清理 Docker。 注意:使用 Docker 和 DDNS 時的最佳實踐。 注意:一些 Docker 容器需要 WebSocket。 注意:找出適用於 Docker 的最佳 NAS 型號。 注意:為 Docker 容器激活 Gmail SMTP。