banner
 Sayyiku

Sayyiku

Chaos is a ladder
telegram
twitter

Docker Misskey

image

整個搭建過程一開始參考了官網的,發現稍微有點複雜,然後搜尋到了下面兩個小夥伴的經驗分享,非常有幫助,感謝付出!

搭建分享:使用 Docker 最小化部署 Misskey

本教程基本~借鑒~抄自上面的搭建教程 XD

使用分享:Fediverse 不止 Mastodon——Misskey 介紹

1. 簡介#

Misskey 是由日本開發者しゅいろ (syuilo) 所創立的去中心化社交網絡服務,其官方實例是 misskey.io。Misskey 和 Mastodon 一樣,採用了 ActivityPub 協議,因此可以與聯邦宇宙 Fediverse 互通。

簡單來說,它就是一個去中心化的微博!

我們創建的則是一個實例,不同的實例是可以互相訪問互動的。

image

1.1 相關地址#

官方實例地址:https://misskey.io/ (如果你不想自己搭建,可以直接加入官方的實例,不過貌似是日文的。)

官方網站:https://misskey-hub.net/en/

GitHub 地址:https://github.com/misskey-dev/misskey (3k star)

實例列表:https://join.misskey.page/zh-CN/instances (如果你不想自己搭建,也可以加入一個實例來使用)

2. 項目展示#

image

3. 搭建環境#

  • 系統:Debian 11

  • 安裝好 Docker、Docker-compose

  • 服務: Unesty 春季促銷 高配德國 vds

4. 開始搭建#

sudo -i

mkdir -p /root/data/docker_data/misskey

cd /root/data/docker_data/misskey

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:
      - "3001:3001"
    networks:
      - internal_network
      - external_network
    volumes:
      - ./config:/misskey/.config:ro # 用於映射配置文件,請根據您的實際配置來決定文件夾名稱,設定為只讀即可;
      - ./files:/misskey/files # 用戶上傳到本地的文件,如果您一開始就接入外部存儲(如wasabi或是AWS S3)您可以忽略這塊配置

  redis:
    restart: always
    image: redis:latest
    container_name: misskey_redis
    networks:
      - internal_network
    volumes:
      - ./redis:/data # redis數據庫的數據文件夾映射,創建後默認在 ./redis 文件夾中

  db:
    restart: always
    image: postgres:12.2-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: # 外部網
mkdir config
cd config
vim default.yml

default.yml 內容#

#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Misskey configuration
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

#   ┌─────┐
#───┘ URL └─────────────────────────────────────────────────────

# Final accessible URL seen by a user.
url:        # 注意改成自己最後反向代理想要的网址

# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
# URL SETTINGS AFTER THAT!

#   ┌───────────────────────┐
#───┘ Port and TLS settings └───────────────────────────────────

#
# Misskey requires a reverse proxy to support HTTPS connections.
#
#                 +----- https://example.tld/ ------------+
#   +------+      |+-------------+      +----------------+|
#   | User | ---> || Proxy (443) | ---> | Misskey (3000) ||
#   +------+      |+-------------+      +----------------+|
#                 +---------------------------------------+
#
#   You need to set up a reverse proxy. (e.g. nginx)
#   An encrypted connection with HTTPS is highly recommended
#   because tokens may be transferred in GET requests.

# The port that your Misskey server should listen on.
port: 3001

#   ┌──────────────────────────┐
#───┘ PostgreSQL configuration └────────────────────────────────

db:
  host: db
  port: 5432

  # Database name
  db: misskey

  # Auth
  user: example-misskey-user
  pass: example-misskey-pass

  # Whether disable Caching queries
  #disableCache: true

  # Extra Connection options
  #extra:
  #  ssl: true

#   ┌─────────────────────┐
#───┘ Redis configuration └─────────────────────────────────────

redis:
  host: redis
  port: 6379
  #family: 0  # 0=Both, 4=IPv4, 6=IPv6
  #pass: example-pass
  #prefix: example-prefix
  #db: 1

#   ┌─────────────────────────────┐
#───┘ Elasticsearch configuration └─────────────────────────────

#elasticsearch:
#  host: localhost
#  port: 9200
#  ssl: false
#  user: 
#  pass: 

#   ┌───────────────┐
#───┘ ID generation └───────────────────────────────────────────

# You can select the ID generation method.
# You don't usually need to change this setting, but you can
# change it according to your preferences.

# Available methods:
# aid ... Short, Millisecond accuracy
# meid ... Similar to ObjectID, Millisecond accuracy
# ulid ... Millisecond accuracy
# objectid ... This is left for backward compatibility

# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
# ID SETTINGS AFTER THAT!

id: 'aid'

#   ┌─────────────────────┐
#───┘ Other configuration └─────────────────────────────────────

# Whether disable HSTS
#disableHsts: true

# Number of worker processes
#clusterLimit: 1

# Job concurrency per worker
# deliverJobConcurrency: 128
# inboxJobConcurrency: 16

# Job rate limiter
# deliverJobPerSec: 128
# inboxJobPerSec: 16

# Job attempts
# deliverJobMaxAttempts: 12
# inboxJobMaxAttempts: 8

# IP address family used for outgoing request (ipv4, ipv6 or dual)
#outgoingAddressFamily: ipv4

# Syslog option
#syslog:
#  host: localhost
#  port: 514

# Proxy for HTTP/HTTPS
#proxy: http://127.0.0.1:3128

#proxyBypassHosts: [
#  'example.com',
#  '192.0.2.8'
#]

# Proxy for SMTP/SMTPS
#proxySmtp: http://127.0.0.1:3128   # use HTTP/1.1 CONNECT
#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5

# Media Proxy
#mediaProxy: https://example.com/proxy

# Proxy remote files (default: false)
#proxyRemoteFiles: true

# Sign to ActivityPub GET request (default: false)
#signToActivityPubGet: true

#allowedPrivateNetworks: [
#  '127.0.0.1/32'
#]

# Upload or download file size limits (bytes)
#maxFileSize: 262144000
docker.env 內容
# db settings
POSTGRES_PASSWORD=example-misskey-pass
POSTGRES_USER=example-misskey-user
POSTGRES_DB=misskey
啟動
cd ..    # 來到dockercompose文件所在的文件夾下
docker-compose run --rm web yarn run init   # 初始化數據庫
docker-compose up -d 

5. 使用教程#

5.1 安裝和配置#

詳細使用參考:Fediverse 不止 Mastodon——Misskey 介紹

6.BUG 解決#

排障
在初次安裝完伺服器後,出現了上傳圖片時報 Internal Server Error 的問題,通過 docker logs 查看日誌發現:

image

原因來自權限不足,進入 misskey 安裝目錄修改權限

sudo chown -R 991:991 files

參考資料#

搭建參考:使用 Docker 最小化部署 Misskey

使用參考:Fediverse 不止 Mastodon——Misskey 介紹

官方實例地址:https://misskey.io/

官方網站:https://misskey-hub.net/en/

GitHub 地址:https://github.com/misskey-dev/misskey (3k star)

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。