Misskey 是一个基于分布式 Fediverse 网络的开源社交网络平台。Fediverse 由一系列兼容的服务器组成,包括 Mastodon、Pleroma、Pixelfed 和 Misskey 等不同的社交网络服务。这些平台通过 ActivityPub 协议实现服务器间的互通性,使用户能够跨平台进行交流。

Misskey 的主要特点包括:

1. 分布式社交网络:用户可以在任意选择的 Misskey 服务器(节点)上创建账户,并与连接到同一 Fediverse 网络上的其他任何实例的用户互动。

2. 开源:Misskey 的源代码在 MIT 许可下可自由使用和修改,这意味着任何人都可以创建自己的 Misskey 服务器,甚至可以为软件做出贡献或进行修改。

3. 功能丰富的平台:它提供了类似其他社交网络平台的功能,包括发布消息、分享媒体、点赞、评论、重复(类似转推)等。

4. 定制化和扩展性:服务器管理员可以定制其实例,包括界面和用户体验等。同时,它还支持插件和主题,进一步增强了个性化和扩展性。

5. 实时通讯:类似于实时聊天应用程序,Misskey 支持实时发布动态和通讯。

6. 全球社交网络:它支持多种语言,用户遍布世界各地。

Misskey 提供了一个倡导去中心化、隐私保护并鼓励自由表达的替代选择,与由大型公司控制的中心化社交网络平台不同。用户可以控制自己的数据,并选择自己喜欢的服务器社区,或者自己搭建一个。

部署

以下以宝塔面板为例进行部署说明。

新建网站

以本站域名 wanne.cn 为例,注意修改。

进入 /www/wwwroot/wanne.cn/ 目录下:

1. 创建空白文件并命名为 docker-compose.yaml

2. 新建一个目录 .config

3. 进入 .config 目录下,新建 default.ymldocker.env 文件。

配置

编辑 docker-compose.yaml,填入以下内容:

services:

  web:

    image: misskey/misskey:latest

    restart: always

    links:

      - db

      - redis

    depends_on:

      db:

        condition: service_healthy

      redis:

        condition: service_healthy

    ports:

      - "127.0.0.1:3000:3000"

    networks:

      - internal_network

      - external_network

    volumes:

      - ./files:/misskey/files

      - ./.config:/misskey/.config:ro

  redis:

    restart: always

    image: redis:7-alpine

    networks:

      - internal_network

    volumes:

      - ./redis:/data

    healthcheck:

      test: "redis-cli ping"

      interval: 5s

      retries: 20

  db:

    restart: always

    image: postgres:15-alpine

    networks:

      - internal_network

    env_file:

      - .config/docker.env

    volumes:

      - ./db:/var/lib/postgresql/data

    healthcheck:

      test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"

      interval: 5s

      retries: 20

networks:

  internal_network:

    internal: true

  external_network:

编辑 docker.env,填入以下内容:

# db settings

POSTGRES_PASSWORD=example-misskey-pass

POSTGRES_USER=example-misskey-user

POSTGRES_DB=misskey

编辑 default.yml,填入以下内容,注意修改 URL 地址为自己的域名:

url: https://wanne.cn #此处注意修改

port: 3000

db:

  host: db

  port: 5432

  db: misskey

  user: example-misskey-user

  pass: example-misskey-pass

redis:

  host: redis

  port: 6379

id: 'aid'

初始化

使用终端在 /www/wwwroot/wanne.cn/ 目录下运行:

docker compose run --rm web pnpm run init

启动

使用终端在 /www/wwwroot/wanne.cn/ 目录下运行:

docker compose up -d

至此,部署成功。

反向代理

在宝塔面板中设置反向代理 127.0.0.1:3000 即可。