misskey-dev / misskey

🌎 A completely free and open interplanetary microblogging platform 🚀
https://misskey-hub.net/
GNU Affero General Public License v3.0
10.07k stars 1.38k forks source link

Failed to sign in: Rate limit exceeded #9253

Open lacafjh opened 1 year ago

lacafjh commented 1 year ago

💡 Summary

I just finished the deployment of Misskey with Docker, and now there is only one administrator account on the instance. But when I logged out, I couldn't log in again. The web page just pops up a warning Failed to sign in: Rate limit exceeded

🥰 Expected Behavior

My server is a VPS with 4 cores, 8GB memory, and SSD as the storage medium. Having looked at other people's setups, I think this should be enough to run a Misskey instance. I'm wondering if it's some default setting in the config file that's causing the rate limit error to occur. I didn't find much useful information in the documentation and Issues.

🤬 Actual Behavior

Failed to Sign in Misskey Rate Limit Exceeded

📝 Steps to Reproduce

  1. Deploy the instance by Docker Compose:
    $ git clone -b master https://github.com/misskey-dev/misskey.git
    $ cd misskey
    $ git checkout master
    $ cp .config/example.yml .config/default.yml
    $ cp .config/docker_example.env .config/docker.env
    $ vi docker-compose.yml
    $ vi .config/default.yml
    $ sudo docker compose build
    $ sudo docker compose run --rm web yarn run init
    $ sudo docker compose up -d
  2. Register administrator account
  3. Sign out

When I tried to log in again, I saw the pop-up Failed to sign in: Rate limit exceeded.

📌 Environment

docker-compose.yml:

version: "3"

services:
  web:
    build: .
    restart: always
    container_name: misskey_web
    links:
      - db
      - redis
#      - es
    ports:
      - "${same as in Reverse Proxy}:3000"
    networks:
      - internal_network
      - external_network
    volumes:
      - ./files:/misskey/files
      - ./.config:/misskey/.config:ro

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

  db:
    restart: always
    image: postgres:12.2-alpine
    container_name: misskey_db
    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"
#      - "TAKE_FILE_OWNERSHIP=111"
#    networks:
#      - internal_network
#    volumes:
#      - ./elasticsearch:/usr/share/elasticsearch/data

networks:
  internal_network:
    internal: true
  external_network:

default.yml, in which only url, host and signToActivityPubGet have been modified:

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

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

# Final accessible URL seen by a user.
url: https://my.domain/

# 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: 3000

#   ┌──────────────────────────┐
#───┘ 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

As I said in https://github.com/misskey-dev/misskey/issues/8775#issuecomment-1334070318, any modifications in docker.env don't seem to work. So I kept its default value without modification.

Misskey version: 12.119.0 Server OS: Debian 11 My OS: Windows 10 21H2 My Browser: Chrome 107.0.5304.122

joshrandall8478 commented 9 months ago

same issue here, using docker compose with firefish

joshrandall8478 commented 9 months ago

Ignore my comment, i stopped having issues when i moved from firefish to iceshrimp. Firefish has a number of issues not associated with misskey