大家好,我是羊刀仙~
本期帶來(lái)的是一個(gè)開(kāi)源去中心化微博平臺(tái)——Misskey的部署教程,至于為啥搞這個(gè),就是嘗試了一下,感覺(jué)挺好玩就分享一波。
主要特征
Misskey是一個(gè)免費(fèi)開(kāi)放的項(xiàng)目,任何人都可以使用Misskey自由創(chuàng)建服務(wù)器,因此互聯(lián)網(wǎng)上已經(jīng)發(fā)布了各種服務(wù)器。另一個(gè)重要的特點(diǎn)是 Misskey 它實(shí)現(xiàn)了一種名為 ActivityPub 的去中心化通信協(xié)議,因此無(wú)論選擇哪個(gè)服務(wù)器,都可以與其他服務(wù)器上的用戶進(jìn)行交互。這就是為什么它被稱為去中心化,它與 推特 等其他服務(wù)有根本的不同,后者由單個(gè)運(yùn)營(yíng)商在單個(gè) URL 下發(fā)布。主要主題、用戶組、語(yǔ)言等因服務(wù)器而異,找到適合自己的服務(wù)器是樂(lè)趣的一部分(當(dāng)然,創(chuàng)建自己的服務(wù)器也很有趣)。
Misskey 的主要特點(diǎn)包括:
去中心化:每個(gè)用戶可以運(yùn)行自己的實(shí)例,這樣可以保證數(shù)據(jù)的所有權(quán)和隱私。
豐富的功能:支持動(dòng)態(tài)發(fā)布、評(píng)論、點(diǎn)贊、分享等社交功能,還包括標(biāo)簽、群組、私信等。
高可定制性:用戶可以自定義界面、功能模塊,甚至可以編寫插件來(lái)擴(kuò)展 Misskey 的功能。
聯(lián)邦化:Misskey 支持與其他去中心化社交網(wǎng)絡(luò)(如 Mastodon)互通,可以與更多用戶互動(dòng)。
我的個(gè)人實(shí)例,大家可以進(jìn)去體驗(yàn)試試:https://ydxian.xyz 賬戶/密碼:guest/ydxian666
官方實(shí)例列表:https://join.misskey.page/zh-CN/instances,也可與我們自己搭建的互通,但是這期比較懶就沒(méi)進(jìn)一步搞。
Docker部署流程
教程理論上全平臺(tái)通用,包括群暉、威聯(lián)通等NAS設(shè)備。
可內(nèi)網(wǎng)部署使用,最好有公網(wǎng)IP,提前準(zhǔn)備域名做好解析并檢查可用端口。
通過(guò)SSH訪問(wèn)服務(wù)器或NAS:
ssh username@nas_ip
依次輸入以下命令:
mkdir -p /share/Data/misskey # 準(zhǔn)備docker目錄 cd /share/Data/misskey # 進(jìn)入剛創(chuàng)建的目錄下 chomd 777 ./* # 賦權(quán) mkdir config # 創(chuàng)建配置文件目錄 cd config # 進(jìn)入該文件目錄下 vim docker.env # 配置環(huán)境文件
圖示如下:
將以下內(nèi)容復(fù)制并粘貼進(jìn)去:
# db settings POSTGRES_PASSWORD=example-misskey-pass # 可自定義,與下面一致 POSTGRES_USER=root POSTGRES_DB=misskey
配置完畢后,英文狀態(tài)下按esc
,然后同時(shí)按SHIFT
+:
,輸入wq
并回車,保存退出。
接著輸入以下命令:
vim default.yml
將以下內(nèi)容復(fù)制并粘貼進(jìn)去:
# Misskey configuration url: https://19960509.xyz # 改成自己的反代域名 port: 9876 # 與下文中端口號(hào)一致 db: host: db port: 5432 # 不需要改 db: misskey user: root pass: example-misskey-pass # 可自定義,與上面一致 redis: host: redis port: 6379 # 端口不會(huì)暴露,因此不必修改 id: 'aid'
如下圖所示:
配置完畢后,英文狀態(tài)下按esc
,然后同時(shí)按SHIFT
+:
,輸入wq
并回車,保存退出。
接著上面輸入以下命令:
cd .. #返回到上級(jí) misskey目錄下 vim docker-compose.yml
將以下代碼修改后粘貼進(jìn)去:
# Misskey minimal deploy config version: "3" services: web: restart: always image: misskey/misskey:latest container_name: misskey_web # 容器名,為了方便管理,可以自行修改 links: - db - redis ports: - "9876:9876" # 與上文中端口號(hào)一致 networks: - internal_network - external_network volumes: - ./files:/misskey/files # 用戶上傳到本地的文件,如果一開(kāi)始就接入外部存儲(chǔ)(如wasabi或是AWS S3)可以忽略這塊配置 - ./config:/misskey/.config:ro # 用于映射配置文件,設(shè)定為只讀即可; redis: restart: always image: redis:latest container_name: misskey_redis networks: - internal_network volumes: - ./redis:/data # redis數(shù)據(jù)庫(kù)的數(shù)據(jù)文件夾映射,創(chuàng)建后默認(rèn)在 ./redis 文件夾中 db: restart: always image: postgres:15-alpine container_name: misskey_db networks: - internal_network env_file: - ./config/docker.env # 需要使用配置文件中設(shè)置的 Docker 環(huán)境變量 volumes: - ./db:/var/lib/postgresql/data # 主數(shù)據(jù)庫(kù)的數(shù)據(jù)文件夾映射,創(chuàng)建后默認(rèn)在 ./db 文件夾中 networks: internal_network: # 內(nèi)部網(wǎng)絡(luò) internal: true external_network: # 外部網(wǎng)絡(luò)
具體如下圖所示:
有的平臺(tái)會(huì)中文亂碼,無(wú)需理會(huì)。配置完畢后,英文狀態(tài)下按esc
,然后同時(shí)按SHIFT
+:
,輸入wq
并回車,保存退出。
以上步驟所有步驟全部完成后,接著在當(dāng)前目錄misskey
下依次輸入以下命令:
docker compose run --rm web yarn run init # 初始化數(shù)據(jù)庫(kù) docker compose up -d # docker-compose 或 docker compose
等待一切結(jié)束后,便可進(jìn)行反向代理工作。
部署建議優(yōu)先海外VPS+海外域名,其次是國(guó)內(nèi)VPS(強(qiáng)烈建議備案),最后才是NAS(不是太推薦)
反向代理
參考我們之前的文章:
這里放幾張配置截圖:
IP這里,如果Misskey與反代服務(wù)在同一服務(wù)器也可填寫172.17.0.1
一般是這個(gè),或者輸入ip addr show docker0
進(jìn)行查詢。否則就按照上圖所示填寫Misskey所在服務(wù)器的公網(wǎng)IP。
點(diǎn)擊保存后,便可通過(guò)域名進(jìn)行訪問(wèn)。
NAS部署建議使用Lucky進(jìn)行反代,簡(jiǎn)單無(wú)腦:
具體使用
功能很多,創(chuàng)建的第一個(gè)用戶是管理員用戶。
登入后先如下圖所示,設(shè)置開(kāi)啟MFM,這是Misskey的一大亮點(diǎn):
文章開(kāi)頭的動(dòng)態(tài)文字、表情特效全靠它~建議用開(kāi)頭我提供的服務(wù)器進(jìn)行體驗(yàn)。
發(fā)動(dòng)態(tài)時(shí),先輸入一個(gè)$
,就會(huì)自動(dòng)跟出各種樣式模板:
因?yàn)槠鶈?wèn)題,更多詳細(xì)玩法可以參考這篇文章:https://akaito.xyz/post/misskey/#top
不過(guò)距今已經(jīng)更新了非常多的版本,大家還是多多嘗試自己開(kāi)發(fā)吧!
部署過(guò)程中若有問(wèn)題可留言討論。
本文完~
,