大家好,我是羊刀仙~

本期带来的是一个开源去中心化微博平台——Misskey的部署教程,至于为啥搞这个,就是尝试了一下,感觉挺好玩就分享一波。

Docker 篇二十八:私有但能互通,快速搭建一个去中心化交流平台Misskey

主要特征


Misskey是一个免费开放的项目,任何人都可以使用Misskey自由创建服务器,因此互联网上已经发布了各种服务器。另一个重要的特点是 Misskey 它实现了一种名为 ActivityPub 的去中心化通信协议,因此无论选择哪个服务器,都可以与其他服务器上的用户进行交互。这就是为什么它被称为去中心化,它与 推特 等其他服务有根本的不同,后者由单个运营商在单个 URL 下发布。主要主题、用户组、语言等因服务器而异,找到适合自己的服务器是乐趣的一部分(当然,创建自己的服务器也很有趣)。

Misskey 的主要特点包括:

去中心化:每个用户可以运行自己的实例,这样可以保证数据的所有权和隐私。
丰富的功能:支持动态发布、评论、点赞、分享等社交功能,还包括标签、群组、私信等。
高可定制性:用户可以自定义界面、功能模块,甚至可以编写插件来扩展 Misskey 的功能。
联邦化:Misskey 支持与其他去中心化社交网络(如 Mastodon)互通,可以与更多用户互动。

我的个人实例,大家可以进去体验试试:https://ydxian.xyz 账户/密码:guest/ydxian666

官方实例列表:https://join.misskey.page/zh-CN/instances,也可与我们自己搭建的互通,但是这期比较懒就没进一步搞。

Docker部署流程


教程理论上全平台通用,包括群晖、威联通等NAS设备。

可内网部署使用,最好有公网IP,提前准备域名做好解析并检查可用端口。

通过SSH访问服务器或NAS:

ssh username@nas_ip Docker 篇二十八:私有但能互通,快速搭建一个去中心化交流平台Misskey

依次输入以下命令:

mkdir -p /share/Data/misskey # 准备docker目录 cd /share/Data/misskey # 进入刚创建的目录下 chomd 777 ./* # 赋权 mkdir config # 创建配置文件目录 cd config # 进入该文件目录下 vim docker.env # 配置环境文件

图示如下:

Docker 篇二十八:私有但能互通,快速搭建一个去中心化交流平台Misskey

将以下内容复制并粘贴进去:

# db settings POSTGRES_PASSWORD=example-misskey-pass # 可自定义,与下面一致 POSTGRES_USER=root POSTGRES_DB=misskeyDocker 篇二十八:私有但能互通,快速搭建一个去中心化交流平台Misskey

配置完毕后,英文状态下按esc,然后同时按SHIFT+:,输入wq并回车,保存退出。

接着输入以下命令:

vim default.yml

将以下内容复制并粘贴进去:

# Misskey configuration url: https://19960509.xyz # 改成自己的反代域名 port: 9876 # 与下文中端口号一致 db: host: db port: 5432 # 不需要改 db: misskey user: root pass: example-misskey-pass # 可自定义,与上面一致 redis: host: redis port: 6379 # 端口不会暴露,因此不必修改 id: 'aid'

如下图所示:

Docker 篇二十八:私有但能互通,快速搭建一个去中心化交流平台Misskey

配置完毕后,英文状态下按esc,然后同时按SHIFT+:,输入wq并回车,保存退出。

接着上面输入以下命令:

cd .. #返回到上级 misskey目录下 vim docker-compose.yml

将以下代码修改后粘贴进去:

# Misskey minimal deploy config version: "3" services: web: restart: always image: misskey/misskey:latest container_name: misskey_web # 容器名,为了方便管理,可以自行修改 links: - db - redis ports: - "9876:9876" # 与上文中端口号一致 networks: - internal_network - external_network volumes: - ./files:/misskey/files # 用户上传到本地的文件,如果一开始就接入外部存储(如wasabi或是AWS S3)可以忽略这块配置 - ./config:/misskey/.config:ro # 用于映射配置文件,设定为只读即可; redis: restart: always image: redis:latest container_name: misskey_redis networks: - internal_network volumes: - ./redis:/data # redis数据库的数据文件夹映射,创建后默认在 ./redis 文件夹中 db: restart: always image: postgres:15-alpine container_name: misskey_db networks: - internal_network env_file: - ./config/docker.env # 需要使用配置文件中设置的 Docker 环境变量 volumes: - ./db:/var/lib/postgresql/data # 主数据库的数据文件夹映射,创建后默认在 ./db 文件夹中 networks: internal_network: # 内部网络 internal: true external_network: # 外部网络

具体如下图所示:

Docker 篇二十八:私有但能互通,快速搭建一个去中心化交流平台Misskey

有的平台会中文乱码,无需理会。配置完毕后,英文状态下按esc,然后同时按SHIFT+:,输入wq并回车,保存退出。

以上步骤所有步骤全部完成后,接着在当前目录misskey下依次输入以下命令:

docker compose run --rm web yarn run init # 初始化数据库 docker compose up -d # docker-compose 或 docker composeDocker 篇二十八:私有但能互通,快速搭建一个去中心化交流平台Misskey

等待一切结束后,便可进行反向代理工作。

部署建议优先海外VPS+海外域名,其次是国内VPS(强烈建议备案),最后才是NAS(不是太推荐)

反向代理

参考我们之前的文章:

这里放几张配置截图:

Docker 篇二十八:私有但能互通,快速搭建一个去中心化交流平台Misskey

IP这里,如果Misskey与反代服务在同一服务器也可填写172.17.0.1一般是这个,或者输入ip addr show docker0进行查询。否则就按照上图所示填写Misskey所在服务器的公网IP。

Docker 篇二十八:私有但能互通,快速搭建一个去中心化交流平台Misskey

点击保存后,便可通过域名进行访问。

NAS部署建议使用Lucky进行反代,简单无脑:

具体使用


功能很多,创建的第一个用户是管理员用户。

登入后先如下图所示,设置开启MFM,这是Misskey的一大亮点:

Docker 篇二十八:私有但能互通,快速搭建一个去中心化交流平台Misskey

文章开头的动态文字、表情特效全靠它~建议用开头我提供的服务器进行体验。

Docker 篇二十八:私有但能互通,快速搭建一个去中心化交流平台Misskey

发动态时,先输入一个$,就会自动跟出各种样式模板:

Docker 篇二十八:私有但能互通,快速搭建一个去中心化交流平台Misskey

因为篇幅问题,更多详细玩法可以参考这篇文章:https://akaito.xyz/post/misskey/#top

不过距今已经更新了非常多的版本,大家还是多多尝试自己开发吧!

部署过程中若有问题可留言讨论。

本文完~

,

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。