在这里插入图片描述

本文是应网友 anthony084 的要求写的;

什么是 Misskey ?

Misskey 是一个开源、去中心化的社交媒体平台,发帖方式类似于微博和推特。 去中心化则意味着一个 Misskey 实例可以与其他 Misskey 实例进行相互连接,在 Fediverse (ActivityPub) 上,您可以与 MastodonPixelFedPeerTube 等其他平台上的人互动!

什么是 ActivityPub ?

ActivityPub 是一个去中心社交网络(decentralized social networking)的交互协议,允许软件项目通过添加 ActivityPub 支持,实现拥有完全不同代码库的应用程序之间的可互操作社交网络。

这个协议,老苏之前在写 Funkwhale 时简单介绍过

文章传送门:去中心化开源音乐服务器Funkwhale

安装

docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

这是基于官方的 docker-compose.yml 改出来的,官方原始的的写法需要自己下载代码构建镜像,但是实际上官方已经发布了镜像,而且更新非常频繁

version: "3"

services:
  web:
    image: misskey/misskey:13.6.1
    container_name: misskey-web
    restart: always
    links:
      - db
      - redis
    depends_on:
      db:
        condition: service_healthy
      redis:
        condition: service_healthy
    ports:
      - "3838:3000"
    volumes:
      - ./files:/misskey/files
      - ./.config:/misskey/.config:ro

  redis:
    image: redis:6.2
    container_name: misskey-redis
    restart: always
    volumes:
      - ./rdata:/data
    healthcheck:
      test: "redis-cli ping"
      interval: 5s
      retries: 20

  db:
    image: postgres:14
    container_name: misskey-db
    restart: always
    volumes:
      - ./pdata:/var/lib/postgresql/data
    healthcheck:
      test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
      interval: 5s
      retries: 20
    environment:
      - POSTGRES_USER=misskey
      - POSTGRES_PASSWORD=misskey
      - POSTGRES_DB=misskey

另外还需要一个设置文件 ,原始文件在: https://github.com/misskey-dev/misskey/blob/develop/.config/docker_example.yml,里面有很多注释,有助于你理解各参数的含义,为了方便大家,老苏把注释去掉简化了一下

请将下面的内容保存为 docker.yml 文件

因为包含了中文,记得使用 utf-8 编码格式

# 最终用来访问的 URL
url: http://192.168.0.197:3838/

# Misskey服务器应侦听的端口
port: 3000

# PostgreSQL 设置
db:
  host: db
  port: 5432

  # 数据库名
  db: misskey

  # 数据库认证,要和 docker-compose.yml 中的设置一致
  user: misskey
  pass: misskey

# Redis 设置
redis:
  host: redis
  port: 6379

id: 'aid'

proxyBypassHosts:
  - api.deepl.com
  - api-free.deepl.com
  - www.recaptcha.net
  - hcaptcha.com
  - challenges.cloudflare.com

# Sign to ActivityPub GET request (default: true)
signToActivityPubGet: true
  • url:请根据自己的情况修改,如果要加入 ActivityPub 肯定是要有公网地址的,建议用域名,有端口也要带上。如果你和老苏一样使用 npm 做反代,这里可以先填局域网 IP + 端口;
  • userpass :要和 docker-compose.yml 中的设置一致;

接下来,在 SSH 客户端中执行下面的命令

# 新建文件夹 misskey 和 子目录
mkdir -p /volume2/docker/misskey/{.config,files,pdata,rdata}

# 进入 misskey 目录
cd /volume2/docker/misskey

docker-compose.yml 放入 misskey 根目录

在这里插入图片描述

docker.yml 放入 .config 目录

在这里插入图片描述

接下来需要初始化数据库

# 初始化数据库
docker-compose run --rm web pnpm run init

在这里插入图片描述

运行需要一些时间,没问题的话会看到 Migration成功的提示

在这里插入图片描述

现在可以一键启动了

# 一键启动
docker-compose up -d

运行

当在 misskey-web 容器日志中看到 All workers started

在这里插入图片描述

就可以在浏览器中输入 http://群晖IP:3838 开始访问了,默认就支持中文,需要先配置管理账号

在这里插入图片描述

登录成功后的主界面

在这里插入图片描述

发个帖子

在这里插入图片描述

发帖成功

在这里插入图片描述

功能就留给大家慢慢摸索吧

反向代理

如果要远程使用,或者加入 ActivityPub,需要做反代处理,还是以 npm 为例

在这里插入图片描述

老苏还是习惯全部勾选

在这里插入图片描述

只是随便点了点,暂时没发现有什么异常

参考文档

misskey-dev/misskey: 🌎 An interplanetary microblogging platform 🚀
地址:https://github.com/misskey-dev/misskey

Create your own Misskey instance | Misskey Hub
地址:https://misskey-hub.net/en/docs/install.html#using-docker

Logo

秉承“创新、开放、协作、共享”的开源价值观,致力于为大规模开源开放协同创新助力赋能,打造创新成果孵化和新时代开发者培养的开源创新生态!支持公有云使用、私有化部署以及软硬一体化私有部署。

更多推荐