Misskey: ไป–ใฎใ‚คใƒณใ‚นใ‚ฟใƒณใ‚นใฎใƒฆใƒผใ‚ถใƒผใƒ•ใ‚ฉใƒญใƒผใงใใชใ„ๅ•้กŒ

Created on 22 Oct 2019  ยท  40Comments  ยท  Source: syuilo/misskey

๐Ÿ’ก Summary

  • ไป–ใฎใ‚คใƒณใ‚นใ‚ฟใƒณใ‚นใฎใƒฆใƒผใ‚ถใƒผใƒ•ใ‚ฉใƒญใƒผใงใใพใ›ใ‚“

๐Ÿ™‚ Expected Behavior

  • ใƒ“ใƒซใƒ‰ๆ™‚ใซใ‚จใƒฉใƒผๅ‡บใชใ„ใ“ใจ
  • ๆญฃๅธธใซใƒ•ใ‚ฉใƒญใƒผใชใฉใงใใ‚‹ใ“ใจ

โ˜น๏ธ Actual Behavior

  • docker image ใ‚’ใƒ“ใƒซใƒ‰ใ™ใ‚‹ใจใใซใ‚จใƒฉใƒผใŒๅ‡บใพใ—ใŸใŒใ€ใƒ“ใƒซใƒ‰ๆˆๅŠŸๆ‰ฑใ„ใ•ใ‚Œใพใ—ใŸใ€‚
  • misskeyใฎใ‚คใƒณใ‚นใ‚ฟใƒณใ‚นใ‚’ๅปบใฆใพใ—ใŸ
  • adminๅžขใ‚’ไฝœใ‚Šใพใ—ใŸ
  • adminๅžขใงpawooใฎใƒฆใƒผใ‚ถใƒผใ‚’ใƒ•ใ‚ฉใƒญใƒผใ—ใ‚ˆใ†ใจใ—ใŸใ‚‰ๅคฑๆ•—ใ—ใพใ—ใŸ
  • ๆคœ่จผใฎใŸใ‚ใ‚‚ใ†ไธ€ๅ€‹userใ‚’ไฝœใฃใฆใ€pawooใฎใƒฆใƒผใ‚ถใƒผใ‚’ใƒ•ใ‚ฉใƒญใƒผใ—ใ‚ˆใ†ใจใ—ใŸใ‚‰ๅคฑๆ•—ใ—ใพใ—ใŸ
  • ใ—ใ‹ใ—ใƒ•ใ‚ฉใƒญใƒผใ—ใ‚ˆใ†ใจใ—ใŸไป–ใฎใ‚คใƒณใ‚นใ‚ฟใƒณใ‚นใฎใƒฆใƒผใ‚ถใƒผใŒ้€ฃๅˆใ‚ฟใ‚คใƒ ใƒฉใ‚คใƒณใซๅ‡บใพใ—ใŸ

๐Ÿ“ Steps to Reproduce

  • ๅŸบๆœฌdockerใฎsetup guideใใฎใพใพใ‚„ใฃใฆใพใ—ใŸใ€‚
  • docker-compose.ymlใชใฉใฎๅค‰ๆ›ดใฏใ‚ใ‚Šใพใ™ใ€‚

๐Ÿ“Œ Environment

  • AWS EC2

    • Amazon Linux release 2 (Karoo)

    • Linux 4.14.146-119.123.amzn2.x86_64

  • Docker

    • Docker version 18.06.1-ce, build e68fc7a215d7133c34aa18e3b72b4a21fd0c6136

Most helpful comment

@NagaseYami ใƒˆใƒผใ‚ฏใƒณใŒ่จ˜่ผ‰ใ•ใ‚Œใฆใ„ใŸใŸใ‚ใใฎ้ƒจๅˆ†ใ‚’็ทจ้›†ใ—ใพใ—ใŸใ€‚้€Ÿใ‚„ใ‹ใซใใฎๆ™‚ๅˆฉ็”จใ—ใฆใ„ใŸใƒ–ใƒฉใ‚ฆใ‚ถใ‹ใ‚‰ /i/settings/api ใงใƒˆใƒผใ‚ฏใƒณใ‚’ๅ†็”Ÿๆˆใ—ใฆใŠใใ“ใจใ‚’ใŠใ™ใ™ใ‚ใ—ใพใ™ใ€‚


ใใ‚Œใฏใใ‚Œใจใ—ใฆใ€IDX_d54a512b822fac7ed52800f6b4ใฏ
https://github.com/syuilo/misskey/blob/21064f7859d9ec55c817133923d3e2033bebc3f6/migration/1000000000000-Init.ts#L134
ใชใฎใงใ€ๆ—ขใซDBไธŠใซใƒ•ใ‚ฉใƒญใƒผใƒชใ‚ฏใ‚จใ‚นใƒˆใŒไฝœใ‚‰ใ‚Œใฆใ„ใ‚‹ๅฏ่ƒฝๆ€งใŒใ‚ใ‚Šใพใ™ใ€‚UIไธŠใง"ใƒ•ใ‚ฉใƒญใƒผ็”ณ่ซ‹ใ‚’ใ‚ญใƒฃใƒณใ‚ปใƒซ"็š„ใชใฎใŒๅ‡บใชใ‘ใ‚Œใฐใ€DBไธŠใฎfollow_requestsใƒ†ใƒผใƒ–ใƒซใ‚’ๆ“ไฝœใ—ใฆ่งฃๆฑบใ™ใ‚‹ๅฏ่ƒฝๆ€งใŒใ‚ใ‚Šใพใ™ใ€‚

All 40 comments

pawooใฎใƒฆใƒผใ‚ถใƒผใ‚’ใƒ•ใ‚ฉใƒญใƒผใ—ใ‚ˆใ†ใจใ—ใŸใจใใฎๆŒ™ๅ‹•

2ๅˆ†ๅ‰ [api] SLOW API CALL DETECTED: users/show (2667.1327270045877ms)
{
}
2ๅˆ†ๅ‰ [queue.deliver] failed(Error: Missing process handler for job type __default__) id=1 to=https://pawoo.net/users/_moondoggie/inbox
{
"e": {
"name": "Error",
"stack": "Error: Missing process handler for job type __default__ at Queue.processJob (/misskey/node_modules/bull/lib/queue.js:1034:7) at runMicrotasks (<anonymous>) at processTicksAndRejections (internal/process/task_queues.js:93:5)",
"message": "Missing process handler for job type __default__"
},
"job": {
"id": "1",
"data": {
"to": "https://pawoo.net/users/_moondoggie/inbox",
"user": {
"id": "7z4xm8yw1v",
"uri": null,
"host": null,
"name": null,
"tags": [
],
"inbox": null,
"isBot": false,
"isCat": false,
"token": "2Hw98d8KOCVR5v5g",
"emojis": [
],
"isAdmin": true,
"avatarId": null,
"bannerId": null,
"featured": null,
"isLocked": false,
"username": "admin",
"avatarUrl": null,
"bannerUrl": null,
"createdAt": "2019-10-22T04:47:40.520Z",
"updatedAt": null,
"isSilenced": false,
"notesCount": 0,
"avatarColor": null,
"bannerColor": null,
"isModerator": false,
"isSuspended": false,
"sharedInbox": null,
"lastFetchedAt": null,
"followersCount": 1,
"followingCount": 0
},
"content": {
"id": "https://misskey.nagaseyami.com/a399b4c7-3e7f-4baa-96ec-ea12680a8020",
"type": "Follow",
"actor": "https://misskey.nagaseyami.com/users/7z4xm8yw1v",
"object": "https://pawoo.net/users/_moondoggie",
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"Hashtag": "as:Hashtag"
}
]
}
},
"name": "__default__",
"opts": {
"delay": 0,
"backoff": {
"type": "exponential",
"delay": 60000
},
"attempts": 8,
"timestamp": 1571719795624,
"removeOnFail": true,
"removeOnComplete": true
},
"delay": 0,
"progress": 0,
"timestamp": 1571719795624,
"finishedOn": null,
"stacktrace": [
"Error: Missing process handler for job type __default__ at Queue.processJob (/misskey/node_modules/bull/lib/queue.js:1034:7) at runMicrotasks (<anonymous>) at processTicksAndRejections (internal/process/task_queues.js:93:5)"
],
"processedOn": 1571719795629,
"returnvalue": null,
"attemptsMade": 1,
"failedReason": "Missing process handler for job type __default__"
}
}

syuiloใ•ใ‚“ใ‚’ใƒ•ใ‚ฉใƒญใƒผใ—ใ‚ˆใ†ใจใ—ใŸใจใใฎๆŒ™ๅ‹•

1ๅˆ†ๅ‰ [api] SLOW API CALL DETECTED: users/show (1890.4327009990811ms)
{
}
1ๅˆ†ๅ‰ [queue.deliver] failed(Error: Missing process handler for job type __default__) id=2 to=https://misskey.io/users/7rkrarq81i/inbox
{
"e": {
"name": "Error",
"stack": "Error: Missing process handler for job type __default__ at Queue.processJob (/misskey/node_modules/bull/lib/queue.js:1034:7) at runMicrotasks (<anonymous>) at processTicksAndRejections (internal/process/task_queues.js:93:5)",
"message": "Missing process handler for job type __default__"
},
"job": {
"id": "2",
"data": {
"to": "https://misskey.io/users/7rkrarq81i/inbox",
"user": {
"id": "7z4xm8yw1v",
"uri": null,
"host": null,
"name": null,
"tags": [
],
"inbox": null,
"isBot": false,
"isCat": false,
"token": "2Hw98d8KOCVR5v5g",
"emojis": [
],
"isAdmin": true,
"avatarId": null,
"bannerId": null,
"featured": null,
"isLocked": false,
"username": "admin",
"avatarUrl": null,
"bannerUrl": null,
"createdAt": "2019-10-22T04:47:40.520Z",
"updatedAt": null,
"isSilenced": false,
"notesCount": 0,
"avatarColor": null,
"bannerColor": null,
"isModerator": false,
"isSuspended": false,
"sharedInbox": null,
"lastFetchedAt": null,
"followersCount": 1,
"followingCount": 0
},
"content": {
"id": "https://misskey.nagaseyami.com/4501c452-d879-45b3-b9f6-f7dbe67bda36",
"type": "Follow",
"actor": "https://misskey.nagaseyami.com/users/7z4xm8yw1v",
"object": "https://misskey.io/users/7rkrarq81i",
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1",
{
"Hashtag": "as:Hashtag"
}
]
}
},
"name": "__default__",
"opts": {
"delay": 0,
"backoff": {
"type": "exponential",
"delay": 60000
},
"attempts": 8,
"timestamp": 1571720073520,
"removeOnFail": true,
"removeOnComplete": true
},
"delay": 0,
"progress": 0,
"timestamp": 1571720073520,
"finishedOn": null,
"stacktrace": [
"Error: Missing process handler for job type __default__ at Queue.processJob (/misskey/node_modules/bull/lib/queue.js:1034:7) at runMicrotasks (<anonymous>) at processTicksAndRejections (internal/process/task_queues.js:93:5)"
],
"processedOn": 1571720073522,
"returnvalue": null,
"attemptsMade": 1,
"failedReason": "Missing process handler for job type __default__"
}
}
1ๅˆ†ๅ‰ [api] Internal error occurred in following/create
{
"e": {
"code": "QueryFailedError",
"stack": "QueryFailedError: duplicate key value violates unique constraint "IDX_d54a512b822fac7ed52800f6b4" at new QueryFailedError (/misskey/node_modules/typeorm/error/QueryFailedError.js:11:28) at Query.callback (/misskey/node_modules/typeorm/driver/postgres/PostgresQueryRunner.js:176:38) at Query.handleError (/misskey/node_modules/pg/lib/query.js:142:17) at Connection.connectedErrorMessageHandler (/misskey/node_modules/pg/lib/client.js:211:17) at Connection.emit (events.js:210:5) at Connection.EventEmitter.emit (domain.js:476:20) at Socket.<anonymous> (/misskey/node_modules/pg/lib/connection.js:126:12) at Socket.emit (events.js:210:5) at Socket.EventEmitter.emit (domain.js:476:20) at addChunk (_stream_readable.js:308:12) at readableAddChunk (_stream_readable.js:289:11) at Socket.Readable.push (_stream_readable.js:223:10) at TCP.onStreamRead (internal/stream_base_commons.js:182:23)",
"message": "duplicate key value violates unique constraint "IDX_d54a512b822fac7ed52800f6b4""
},
"ep": "following/create",
"ps": {
"i": "2Hw98d8KOCVR5v5g",
"userId": "7z4xuz8w44"
}
}

docker-compose.yml

version: "3"

services:
  web:
    build: .
    restart: always
    links:
      - db
      - redis
#      - es
    ports:
      - "127.0.0.1:3001:3001"
    networks:
      - internal_network
      - external_network

  redis:
    restart: always
    image: redis:4.0-alpine
    networks:
      - internal_network
    volumes:
      - ./redis:/data

  db:
    restart: always
    image: postgres:11.2-alpine
    networks:
      - internal_network
    env_file:
      - .config/docker.env
    volumes:
      - ./db:/var/lib/postgresql/data

#  es:
#    restart: always
#    image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.4.2
#    environment:
#      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
#    networks:
#      - internal_network
#    volumes:
#      - ./elasticsearch:/usr/share/elasticsearch/data

networks:
  internal_network:
    internal: true
  external_network:

docker.env

# db settings
POSTGRES_PASSWORD=$q$v1szWN^r98le
POSTGRES_USER=misskey
POSTGRES_DB=misskey

default.yml

#โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”
# Misskey configuration
#โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”

#   โ”Œโ”€โ”€โ”€โ”€โ”€โ”
#โ”€โ”€โ”€โ”˜ URL โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

# Final accessible URL seen by a user.
url: https://misskey.nagaseyami.com/

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

#   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
#โ”€โ”€โ”€โ”˜ Port and TLS settings โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

#
# Misskey supports two deployment options for public.
#

# Option 1: With Reverse Proxy
#
#                 +----- https://example.tld/ ------------+
#   +------+      |+-------------+      +----------------+|
#   | User | ---> || Proxy (443) | ---> | Misskey (3000) ||
#   +------+      |+-------------+      +----------------+|
#                 +---------------------------------------+
#
#   You need to setup reverse proxy. (eg. nginx)
#   You do not define 'https' section.

# Option 2: Standalone
#
#                 +- https://example.tld/ -+
#   +------+      |   +---------------+    |
#   | User | ---> |   | Misskey (443) |    |
#   +------+      |   +---------------+    |
#                 +------------------------+
#
#   You need to run Misskey as root.
#   You need to set Certificate in 'https' section.

# To use option 1, uncomment below line.
port: 3001    # A port that your Misskey server should listen.

# To use option 2, uncomment below lines.
#port: 443

#https:
#  # path for certification
# key: /etc/letsencrypt/live/nagaseyami.com/privkey.pem
# cert: /etc/letsencrypt/live/nagaseyami.com/fullchain.pem

#   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
#โ”€โ”€โ”€โ”˜ PostgreSQL configuration โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

db:
  host: db
  port: 5432

  # Database name
  db: misskey

  # Auth
  user: misskey
  pass: $q$v1szWN^r98le

  # Whether disable Caching queries
  #disableCache: false

  # Extra Connection options
  #extra:
    #ssl: true

#   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
#โ”€โ”€โ”€โ”˜ Redis configuration โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

redis:
  host: redis
  port: 6379
  #pass: example-pass

#   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
#โ”€โ”€โ”€โ”˜ Elasticsearch configuration โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

#elasticsearch:
#  host: es
#  port: 9200
#  pass: null

#   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
#โ”€โ”€โ”€โ”˜ 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 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

# If enabled:
#  The first account created is automatically marked as Admin.
autoAdmin: true

# Whether disable HSTS
disableHsts: false

# Number of worker processes
clusterLimit: 1

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

# 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

# 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

่ฉณ็ดฐใซใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™ใ€‚

Missing process handler for job type __default__ 

ใ“ใ‚ŒใŒๅ•้กŒใฎใ‚จใƒฉใƒผใƒกใƒƒใ‚ปใƒผใ‚ธใฝใ„ใงใ™ใญ

่ฉณ็ดฐใซใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™ใ€‚

Missing process handler for job type __default__ 

ใ“ใ‚ŒใŒๅ•้กŒใฎใ‚จใƒฉใƒผใƒกใƒƒใ‚ปใƒผใ‚ธใฝใ„ใงใ™ใญ

ใใ†ใงใ™ใ€‚

10ๅˆ†ๅ‰ [api] SLOW API CALL DETECTED: users/show (1890.4327009990811ms)
10ๅˆ†ๅ‰ [queue.deliver] failed(Error: Missing process handler for job type __default__) id=2 to=https://misskey.io/users/7rkrarq81i/inbox
10ๅˆ†ๅ‰ [api] Internal error occurred in following/create

ใ“ใ‚“ใชๆ„Ÿใ˜ใงใ™

ใ†ใƒผใ‚€ใ€ไปŠใพใง่ฆ‹ใŸใ“ใจใชใ„ๆ„Ÿใ˜ใฎใ‚จใƒฉใƒผใชใฎใงใชใœใใ†ใชใ‚‹ใฎใ‹ใพใ ๅˆ†ใ‹ใ‚‰ใชใ„โ€ฆ

ใ†ใƒผใ‚€ใ€ไปŠใพใง่ฆ‹ใŸใ“ใจใชใ„ๆ„Ÿใ˜ใฎใ‚จใƒฉใƒผใชใฎใงใชใœใใ†ใชใ‚‹ใฎใ‹ใพใ ๅˆ†ใ‹ใ‚‰ใชใ„โ€ฆ

ใใ—ใŸใ‚‰ใพใšใƒ“ใƒซใƒ‰ใฎใ‚จใƒฉใƒผใซๅฏพใ—ใฆใชใซใ‹ๅฟƒๅฝ“ใŸใ‚Šใฏใ”ใ–ใ„ใพใ™ใงใ—ใ‚‡ใ†ใ‹๏ผŸ
ใƒ•ใ‚ฉใƒญใƒผใงใใชใ„ๅ•้กŒใŒใใ‚‚ใใ‚‚ใƒ“ใƒซใƒ‰ใฎใ‚จใƒฉใƒผใจ้–ขไฟ‚ใ—ใฆใ„ใ‚‹ๅฏ่ƒฝใ‚‚ใ‚ใ‚‹ใจๆ€ใ„ใพใ™ใŒใ€‚

ใƒ“ใƒซใƒ‰ใฎใ‚จใƒฉใƒผใซใคใ„ใฆใฏๆ—ข็Ÿฅใฎๅ•้กŒใงใ€ใใ‚Œใงๆญฃๅธธใงใ™ใ€‚ๅ‹•ไฝœใซๅฝฑ้Ÿฟใฏใ‚ใ‚Šใพใ›ใ‚“

ใชใ‚‹ใปใฉใ€ใใ—ใŸใ‚‰

  • docker-compose.yml
  • default.yml
  • docker.env

ใฎๅ†…ๅฎนใซๅฏพใ—ใฆใชใซใ‹ไธ้ฉๅˆ‡ใชใจใ“ใ‚ใฏใ”ใ–ใ„ใพใ™ใงใ—ใ‚‡ใ†ใ‹๏ผŸ

ใ‚ใ€ใ”ๆ็คบใ„ใŸใ ใ„ใŸใƒญใ‚ฐใ‚’ใ‚ˆใ่ฆ‹ใŸใ‚‰้€šๅธธใงใฏๅ‡บใชใ„ใ‚ˆใ†ใชใ‚จใƒฉใƒผใ‚‚ๅ‡บใฆใพใ™ใญ
ใงใ‚‚ใ„ใšใ‚Œใซใ—ใฆใ‚‚ๅ‹•ไฝœใซๅฝฑ้Ÿฟใฏ็„กใ•ใใ†ใซๆ€ใˆใพใ™ใŒใ€ใชใœใใ†ใชใ‚‹ใฎใ‹ใกใ‚‡ใฃใจไธๆ˜Žใงใ™

่จญๅฎšใƒ•ใ‚กใ‚คใƒซใฏๅ•้กŒใชใ•ใใ†ใซ่ฆ‹ใˆใพใ™ใ€‚

่จญๅฎšใƒ•ใ‚กใ‚คใƒซใฏๅ•้กŒใชใ•ใใ†ใซ่ฆ‹ใˆใพใ™ใ€‚

ใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™

ใ‚“ใƒผใ€ไพๅญ˜้–ขไฟ‚(npm)ใฎใ‚คใƒณใ‚นใƒˆใƒผใƒซใงไฝ•ใ‹ๅ•้กŒใŒใ‚ใ‚‹ใฎใ‹ใ‚‚ใ—ใ‚Œใพใ›ใ‚“

Dockerใซ้–ขใ—ใฆใฏ็งใฏใ‚ใพใ‚Š่ฉณใ—ใใชใ„ใฎใงใ€ไป–ใฎใƒกใƒณใƒใƒผใซ่ฆ‹ใฆใ‚‚ใ‚‰ใ„ใŸใ„ใจใ“ใ‚ใงใ™
cc: @mei23 @acid-chicken @u1-liquid

ๆ„šๆกˆใ‹ใ‚‚ใ—ใ‚Œใพใ›ใ‚“ใŒใ€
syuiloใ•ใ‚“ใŒmisskeyใฎdocker imageใ‚’docker hubใซใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰ใ™ใ‚‹ใจใ„ใ†ๆกˆใฏใ„ใ‹ใŒใงใ—ใ‚‡ใ†๏ผŸ

Dockerใซ้–ขใ—ใฆใฏ็งใฏใ‚ใพใ‚Š่ฉณใ—ใใชใ„ใฎใงใ€ไป–ใฎใƒกใƒณใƒใƒผใซ่ฆ‹ใฆใ‚‚ใ‚‰ใ„ใŸใ„ใจใ“ใ‚ใงใ™

ใ‚ˆใ‚ใ—ใใŠ้ก˜ใ„ใ„ใŸใ—ใพใ™ใ€‚

ๆ„šๆกˆใ‹ใ‚‚ใ—ใ‚Œใพใ›ใ‚“ใŒใ€
syuiloใ•ใ‚“ใŒmisskeyใฎdocker imageใ‚’docker hubใซใ‚ขใƒƒใƒ—ใƒญใƒผใƒ‰ใ™ใ‚‹ใจใ„ใ†ๆกˆใฏใ„ใ‹ใŒใงใ—ใ‚‡ใ†๏ผŸ

ไปŠใใฎใ‚ˆใ†ใชๆ„Ÿใ˜ใซใชใฃใฆใ„ใ‚‹ใจๆ€ใ„ใพใ™(ใใ†ใ„ใ†ใ“ใจใงใฏใชใ๏ผŸ)
https://hub.docker.com/r/misskey/misskey

kwwzi

docker ใฎ setup guideใซๆ›ธใ„ใฆใชใ‹ใฃใŸใ‹ใ‚‰็Ÿฅใ‚‰ใชใ‹ใฃใŸใฃใ™

docker ใฎ setup guideใซๆ›ธใ„ใฆใชใ‹ใฃใŸใ‹ใ‚‰็Ÿฅใ‚‰ใชใ‹ใฃใŸใฃใ™

ใ”ใ‚ใ‚“ใชใ•ใ„ใ€ใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใฎไธๅ‚™ใ‹ใ‚‚ใ—ใ‚Œใพใ›ใ‚“๐Ÿ™

docker hubไธŠใฎimageใงใ‚‚ใ†ไธ€ๅบฆใ‚„ใฃใฆใฟใพใ™

[ec2-user@ip-172-31-1-83 misskey]$ docker-compose run web yarn run init
Starting misskey_redis_1 ... done
Starting misskey_db_1    ... done
yarn run v1.19.0
$ npm run migrate
npm WARN lifecycle The node binary used for scripts is /tmp/yarn--1571722386900-0.8914993605914809/node but npm is using /usr/local/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.

> [email protected] migrate /misskey
> ts-node ./node_modules/typeorm/cli.js migration:run

Error during migration run:
Error: ENOENT: no such file or directory, open '/misskey/built/config/../../.config/default.yml'
    at Object.openSync (fs.js:451:3)
    at Object.readFileSync (fs.js:353:35)
    at Object.load [as default] (/misskey/built/config/load.js:20:37)
    at Object.<anonymous> (/misskey/built/config/index.js:4:33)
    at Module._compile (internal/modules/cjs/loader.js:945:30)
    at Module.m._compile (/misskey/node_modules/ts-node/src/index.ts:493:23)
    at Module._extensions..js (internal/modules/cjs/loader.js:962:10)
    at Object.require.extensions.<computed> [as .js] (/misskey/node_modules/ts-node/src/index.ts:496:12)
    at Module.load (internal/modules/cjs/loader.js:798:32)
    at Function.Module._load (internal/modules/cjs/loader.js:711:12) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: '/misskey/built/config/../../.config/default.yml'
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] migrate: `ts-node ./node_modules/typeorm/cli.js migration:run`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] migrate script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2019-10-22T05_33_12_894Z-debug.log
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

docker hubใฎimageใงใ‚„ใฃใŸใ‚‰ๅคฑๆ•—ใ—ใพใ—ใŸใ€‚
่ฆ‹ใŸๆ„Ÿใ˜misskeyใฎใƒชใƒใ‚ธใƒˆใƒชใ‚’ใ‚ณใƒณใƒ†ใƒŠใฎไธญใซใƒžใ‚ฆใƒณใƒˆใ™ใ‚‹ๅฟ…่ฆใŒใ‚ใ‚‹๏ผŸ

[ec2-user@ip-172-31-1-83 misskey]$ docker-compose run --rm web yarn run init
Creating misskey_redis_1 ... done
Creating misskey_db_1    ... done
yarn run v1.19.0
$ npm run migrate
npm WARN lifecycle The node binary used for scripts is /tmp/yarn--1571722785573-0.09160174459811743/node but npm is using /usr/local/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.

> [email protected] migrate /misskey
> ts-node ./node_modules/typeorm/cli.js migration:run

sh: ts-node: not found
npm ERR! code ELIFECYCLE
npm ERR! syscall spawn
npm ERR! file sh
npm ERR! errno ENOENT
npm ERR! [email protected] migrate: `ts-node ./node_modules/typeorm/cli.js migration:run`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the [email protected] migrate script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2019-10-22T05_39_45_970Z-debug.log
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

ใ‚„ใฏใ‚Šใƒžใ‚ฆใƒณใƒˆใ ใ‘ใงใฏ่งฃๆฑบใ—ใพใ›ใ‚“ใญใ€‚
dockerใฎ่ฉณใ—ใ„ๆ–นใฎใ”ๅ›ž็ญ”ๅพ…ใกใพใ—ใ‚‡ใ†ใ€‚

FYI: ๆœ€ๅˆใฎMissing process handler for job type __default__ใ‚จใƒฉใƒผ
ไฝ•ใ‚‰ใ‹ใฎ็†็”ฑใง๏ผˆใŸใถใ‚“ๅฎŸ่กŒๆ™‚ใซใใ†่จญๅฎšใ—ใŸ๏ผ‰--only-serverใ‚ชใƒ—ใ‚ทใƒงใƒณใŒๅ…ฅใฃใฆใฆใ€queueใชใ—ใงใ‚ฆใ‚งใƒ–ใ‚ตใƒผใƒใƒผใŒไธŠใŒใฃใŸใจๆ€ใ‚ใ‚Œใพใ™ใ€‚
https://github.com/syuilo/misskey/blob/d2edd67cff676cca632f1fd79ef4d1e634a4e7a5/src/argv.ts#L8
https://github.com/syuilo/misskey/blob/d2edd67cff676cca632f1fd79ef4d1e634a4e7a5/src/queue/index.ts#L205-L210
ใ“ใ‚Œใฏk8sๅ‘ใ‘ใฎjob queueใ‚’ใ‚ฆใ‚งใƒ–ใ‚ตใƒผใƒใƒผใจๅˆ†้›ขใ™ใ‚‹ๆ™‚ใฎๆฉŸ่ƒฝใชใฎใงๅ˜ไธ€dockerๆง‹ๆˆใฎๅ ดๅˆใฏ่ฆใ‚Šใพใ›ใ‚“ใ€‚

ใ‚ใƒผ
default.yml ใฎ

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

ใ“ใ“ใฎใƒฉใ‚คใƒณใฎ;ใฎใ›ใ„ใงparse error ใŒๅ‡บใฆNaNๆ‰ฑใ„ใ•ใ‚Œใฆใ—ใพใฃใŸใฎใงใฏ

ใ‚ใƒผ
default.yml ใฎ

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

ใ“ใ“ใฎใƒฉใ‚คใƒณใฎ;ใฎใ›ใ„ใงparse error ใŒๅ‡บใฆNaNๆ‰ฑใ„ใ•ใ‚Œใฆใ—ใพใฃใŸใฎใงใฏ

ใ‚ใƒผ

ahm7p

Missing process handler for job type __default__

ใ‚ปใƒŸใ‚ณใƒญใƒณๅ‰Š้™คใ—ใŸใ‚‰ๆฒปใ‚Šใพใ—ใŸใ€‚ใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™ใ€‚

ใ—ใ‹ใ—ใƒชใƒขใƒผใƒˆใƒ•ใ‚ฉใƒญใƒผใงใใชใ„ๅ•้กŒใฏใพใ ่งฃๆฑบใ•ใ‚Œใฆใ„ใพใ›ใ‚“ใ€‚

58็ง’ๅ‰ [remote.ap.deliver] https://misskey.io/users/7rkrarq81i/inbox --> 202
57็ง’ๅ‰ [api] Internal error occurred in following/create
{
"e": {
"code": "QueryFailedError",
"stack": "QueryFailedError: duplicate key value violates unique constraint "IDX_d54a512b822fac7ed52800f6b4" at new QueryFailedError (/misskey/node_modules/typeorm/error/QueryFailedError.js:11:28) at Query.callback (/misskey/node_modules/typeorm/driver/postgres/PostgresQueryRunner.js:176:38) at Query.handleError (/misskey/node_modules/pg/lib/query.js:142:17) at Connection.connectedErrorMessageHandler (/misskey/node_modules/pg/lib/client.js:211:17) at Connection.emit (events.js:210:5) at Connection.EventEmitter.emit (domain.js:476:20) at Socket.<anonymous> (/misskey/node_modules/pg/lib/connection.js:126:12) at Socket.emit (events.js:210:5) at Socket.EventEmitter.emit (domain.js:476:20) at addChunk (_stream_readable.js:308:12) at readableAddChunk (_stream_readable.js:289:11) at Socket.Readable.push (_stream_readable.js:223:10) at TCP.onStreamRead (internal/stream_base_commons.js:182:23)",
"message": "duplicate key value violates unique constraint "IDX_d54a512b822fac7ed52800f6b4""
},
"ep": "following/create",
"ps": {
"i": "<<<masked>>>",
"userId": "7z51t0sp25"
}
}

@NagaseYami ใƒˆใƒผใ‚ฏใƒณใŒ่จ˜่ผ‰ใ•ใ‚Œใฆใ„ใŸใŸใ‚ใใฎ้ƒจๅˆ†ใ‚’็ทจ้›†ใ—ใพใ—ใŸใ€‚้€Ÿใ‚„ใ‹ใซใใฎๆ™‚ๅˆฉ็”จใ—ใฆใ„ใŸใƒ–ใƒฉใ‚ฆใ‚ถใ‹ใ‚‰ /i/settings/api ใงใƒˆใƒผใ‚ฏใƒณใ‚’ๅ†็”Ÿๆˆใ—ใฆใŠใใ“ใจใ‚’ใŠใ™ใ™ใ‚ใ—ใพใ™ใ€‚


ใใ‚Œใฏใใ‚Œใจใ—ใฆใ€IDX_d54a512b822fac7ed52800f6b4ใฏ
https://github.com/syuilo/misskey/blob/21064f7859d9ec55c817133923d3e2033bebc3f6/migration/1000000000000-Init.ts#L134
ใชใฎใงใ€ๆ—ขใซDBไธŠใซใƒ•ใ‚ฉใƒญใƒผใƒชใ‚ฏใ‚จใ‚นใƒˆใŒไฝœใ‚‰ใ‚Œใฆใ„ใ‚‹ๅฏ่ƒฝๆ€งใŒใ‚ใ‚Šใพใ™ใ€‚UIไธŠใง"ใƒ•ใ‚ฉใƒญใƒผ็”ณ่ซ‹ใ‚’ใ‚ญใƒฃใƒณใ‚ปใƒซ"็š„ใชใฎใŒๅ‡บใชใ‘ใ‚Œใฐใ€DBไธŠใฎfollow_requestsใƒ†ใƒผใƒ–ใƒซใ‚’ๆ“ไฝœใ—ใฆ่งฃๆฑบใ™ใ‚‹ๅฏ่ƒฝๆ€งใŒใ‚ใ‚Šใพใ™ใ€‚

ใ”ๅฏพๅฟœใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™ใ€‚่ฉฆใ—ใซใ‚„ใฃใฆใฟใพใ™ใ€‚

ๅฟตใฎ็‚บใซใ€ใ‚คใƒณใ‚นใ‚ฟใƒณใ‚นๅ…จๅ‰Š้™คใ—ใฆใ€git cloneใ‹ใ‚‰ใ‚„ใ‚Š็›ดใ—ใพใ—ใŸใ€‚
docker-compose.ymlใจdocker.envใฏไธŠใซ่จ˜่ผ‰ใ•ใ‚ŒใŸใ‚‚ใฎใจๅค‰ใ‚ใ‚‰ใšใ€
default.ymlใ‹ใ‚‰ไธ่ฆใชใ‚ปใƒŸใ‚ณใƒญใƒณใ‚’ๅ‰Š้™คใ—ใพใ—ใŸใ€‚

ใ™ใ‚‹ใจๅ•้กŒใชใใƒชใƒขใƒผใƒˆใƒ•ใ‚ฉใƒญใƒผใงใใพใ—ใŸใ€‚ใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™ใ€‚

@syuilo ๆœฌissuesใฎCloseใ‚ˆใ‚ใ—ใใŠ้ก˜ใ„ใ„ใŸใ—ใพใ™ใ€‚

ใพใจใ‚

  • example.ymlใซไธ่ฆใชใ‚ปใƒŸใ‚ณใƒญใƒณใŒๅ…ฅใฃใฆใ„ใพใ™
# deliverJobConcurrency: 128;
# inboxJobConcurrency: 16;
  • Docker HubไธŠใฎmisskeyใฎไฝฟ็”จๆ–นๆณ•ใŒใ‚ใ‚Šใพใ›ใ‚“

    • misskeyใฎใƒชใƒใ‚ธใƒˆใƒชใฎใƒžใ‚ฆใƒณใƒˆใชใฉ

@syuilo ๆœฌissuesใฎCloseใ‚ˆใ‚ใ—ใใŠ้ก˜ใ„ใ„ใŸใ—ใพใ™ใ€‚

ใ‚ใ€ๅคฑ็คผใ€ใ‚‚ใ†ไธ€ใคๅฐ‘ใ€…ๆฐ—ใซใชใฃใŸใจใ“ใ‚ใงใ™ใŒใ€‚
misskeyใ‚’ใƒ“ใƒซใƒ‰ใ—ใŸใ‚‰ใ€ใ‚‚ใ†ไธ€ใคใ‚ˆใใ‚ใ‹ใ‚‰ใชใ„imageใ‚‚ไฝœใ‚‰ใ‚Œใพใ—ใŸใŒใ€

[ec2-user@ip-172-31-1-83 misskey]$ docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
misskey_web          latest              fae50888da53        9 minutes ago       731MB
<none>               <none>              b20647ca9ef8        11 minutes ago      1.38GB

ใ“ใฎ<none>ใฏไฝ•ใชใฎใ‹ใ”ๅญ˜็Ÿฅใฎๆ–นใ„ใ‚‰ใฃใ—ใ‚ƒใ„ใพใ™ใงใ—ใ‚‡ใ†ใ‹๏ผŸ

ใ“ใฎ<none>ใฏไฝ•ใชใฎใ‹ใ”ๅญ˜็Ÿฅใฎๆ–นใ„ใ‚‰ใฃใ—ใ‚ƒใ„ใพใ™ใงใ—ใ‚‡ใ†ใ‹๏ผŸ

ใ“ใกใ‚‰ใฎArticleใ‚’ใ”่ฆงใใ ใ•ใ„ใ€‚
https://codechord.com/2019/08/docker-images-none-dangling/

ใ“ใกใ‚‰ใฎArticleใ‚’ใ”่ฆงใใ ใ•ใ„ใ€‚
https://codechord.com/2019/08/docker-images-none-dangling/

ๅคšๅˆ†ใกใ‚‡ใฃใจ้•ใ†ใจๆ€ใ„ใพใ™ใ€‚
ๅŒใ˜ๅๅ‰ใฎimageใ‚’่ค‡ๆ•ฐๅ›žใƒ“ใƒซใƒ‰ใ™ใ‚‹ใจ็ขบใ‹ใซ<none>ใซใชใ‚Šใพใ™ใŒใ€
่‡ชๅˆ†ใฏใ„ใคใ‚‚ใƒ“ใƒซใƒ‰ใ™ใ‚‹ๅ‰ใซdocker rmiใงๅ‰ๅ›žใƒ“ใƒซใƒ‰ใ—ใŸใ‚‚ใฎใ‚’ๅ‰Š้™คใ—ใฆใ„ใพใ™ใฎใงใ€
ไปŠๅ›žใฎ<none>imageใฏๅ‰ๅ›žใฎใƒ“ใƒซใƒ‰ๆˆๆžœ็‰ฉใงใฏใชใใ€
ไธ€ๅ›žใฎdocker-compose buildใง๏ผ’ๅ€‹ใฎimageใŒ็”Ÿๆˆใ•ใ‚ŒใŸใจ่€ƒใˆใ‚‰ใ‚Œใพใ™ใ€‚
ใใ‚‚ใใ‚‚imageใฎใ‚ตใ‚คใ‚บใ‚‚ๅคงใใ้•ใ„ใพใ™ใ€‚
misskey_webใŒ731MBใงใ€<none>ใฏ1.38GBใงใ—ใŸใ€‚
ใจใ„ใ†ใ‚ใ‘ใงใ“ใฎ<none>ใฏไฝ•ใ—ใ‚‡ใ†๏ผŸ

https://github.com/syuilo/misskey/blob/d2edd67cff676cca632f1fd79ef4d1e634a4e7a5/Dockerfile#L9
https://github.com/syuilo/misskey/blob/d2edd67cff676cca632f1fd79ef4d1e634a4e7a5/Dockerfile#L30
ใ„ใพใฎMisskeyใฏdocker buildๆ™‚ใซbuilder ใจrunnerใง2ใคใฎใ‚คใƒกใƒผใ‚ธใ‚’ไฝœๆˆใ™ใ‚‹ใ“ใจใซใชใฃใฆใ„ใพใ™ใ€‚
ใŠใใ‚‰ใ<none>ใฏbuilderใฎๆ–นใงใ™ใญใ€‚

ใ‹ใ—ใ“ใพใ‚Šใพใ—ใŸใ€‚
ใ‚ใ‚ŠใŒใจใ†ใ”ใ–ใ„ใพใ™ใ€‚

Was this page helpful?
0 / 5 - 0 ratings