Skip to content

Commit

Permalink
Use DragonflyDB (#716)
Browse files Browse the repository at this point in the history
  • Loading branch information
u1-liquid authored Sep 16, 2024
1 parent 1367c8d commit 454a3f9
Show file tree
Hide file tree
Showing 10 changed files with 112 additions and 42 deletions.
8 changes: 4 additions & 4 deletions .config/docker_example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,31 +72,31 @@ dbReplications: false
#───┘ Redis configuration └─────────────────────────────────────

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

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

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

#redisForTimelines:
# host: keydb
# host: dragonfly
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
Expand Down
8 changes: 4 additions & 4 deletions .devcontainer/devcontainer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,31 +72,31 @@ dbReplications: false
#───┘ Redis configuration └─────────────────────────────────────

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

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

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

#redisForTimelines:
# host: keydb
# host: dragonfly
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
Expand Down
24 changes: 16 additions & 8 deletions .devcontainer/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,25 @@ services:
- internal_network
- external_network

keydb:
dragonfly:
restart: unless-stopped
image: eqalpha/keydb:latest
image: docker.dragonflydb.io/dragonflydb/dragonfly
ulimits:
memlock: -1
environment:
DFLY_snapshot_cron: '* * * * *'
DFLY_version_check: false
DFLY_tcp_backlog: 2048
DFLY_default_lua_flags: allow-undeclared-keys
DFLY_pipeline_squash: 0
DFLY_multi_exec_squash: false
DFLY_conn_io_threads: 4
DFLY_epoll_file_threads: 4
DFLY_proactor_threads: 4
networks:
- internal_network
volumes:
- keydb-data:/data
healthcheck:
test: "keydb-cli ping"
interval: 5s
retries: 20
- dragonfly-data:/data

db:
restart: unless-stopped
Expand All @@ -45,7 +53,7 @@ services:

volumes:
postgres-data:
keydb-data:
dragonfly-data:

networks:
internal_network:
Expand Down
1 change: 0 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ docker-compose.yml
node_modules/
packages/*/node_modules
redis/
keydb/
files/
fluent-emojis/
.pnp.*
Expand Down
28 changes: 24 additions & 4 deletions .github/workflows/test-backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,18 @@ jobs:
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
keydb:
image: eqalpha/keydb:latest
dragonfly:
image: docker.dragonflydb.io/dragonflydb/dragonfly
options: --ulimit "memlock=-1"
env:
DFLY_version_check: false
DFLY_tcp_backlog: 2048
DFLY_default_lua_flags: allow-undeclared-keys
DFLY_pipeline_squash: 0
DFLY_multi_exec_squash: false
DFLY_conn_io_threads: 4
DFLY_epoll_file_threads: 4
DFLY_proactor_threads: 4
ports:
- 56312:6379

Expand Down Expand Up @@ -84,8 +94,18 @@ jobs:
env:
POSTGRES_DB: test-misskey
POSTGRES_HOST_AUTH_METHOD: trust
keydb:
image: eqalpha/keydb:latest
dragonfly:
image: docker.dragonflydb.io/dragonflydb/dragonfly
options: --ulimit "memlock=-1"
env:
DFLY_version_check: false
DFLY_tcp_backlog: 2048
DFLY_default_lua_flags: allow-undeclared-keys
DFLY_pipeline_squash: 0
DFLY_multi_exec_squash: false
DFLY_conn_io_threads: 4
DFLY_epoll_file_threads: 4
DFLY_proactor_threads: 4
ports:
- 56312:6379

Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ run.bat
api-docs.json
*.log
/redis
/keydb
*.code-workspace
.DS_Store
/files
Expand Down
21 changes: 19 additions & 2 deletions chart/templates/Deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,25 @@ spec:
value: "misskey"
ports:
- containerPort: 5432
- name: keydb
image: eqalpha/keydb:latest
- name: dragonfly
image: docker.dragonflydb.io/dragonflydb/dragonfly
env:
- name: DFLY_version_check
value: false
- name: DFLY_tcp_backlog
value: 2048
- name: DFLY_default_lua_flags
value: allow-undeclared-keys
- name: DFLY_pipeline_squash
value: 0
- name: DFLY_multi_exec_squash
value: false
- name: DFLY_conn_io_threads
value: 4
- name: DFLY_epoll_file_threads
value: 4
- name: DFLY_proactor_threads
value: 4
ports:
- containerPort: 6379
volumes:
Expand Down
22 changes: 15 additions & 7 deletions docker-compose.local-db.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,25 @@ version: "3"
# このconfigは、 dockerでMisskey本体を起動せず、 redisとpostgresql などだけを起動します

services:
keydb:
dragonfly:
restart: always
image: eqalpha/keydb:latest
image: docker.dragonflydb.io/dragonflydb/dragonfly
ulimits:
memlock: -1
environment:
DFLY_snapshot_cron: '* * * * *'
DFLY_version_check: false
DFLY_tcp_backlog: 2048
DFLY_default_lua_flags: allow-undeclared-keys
DFLY_pipeline_squash: 0
DFLY_multi_exec_squash: false
DFLY_conn_io_threads: 4
DFLY_epoll_file_threads: 4
DFLY_proactor_threads: 4
ports:
- "6379:6379"
volumes:
- ./keydb:/data
healthcheck:
test: "keydb-cli ping"
interval: 5s
retries: 20
- ./redis:/data

db:
restart: always
Expand Down
26 changes: 17 additions & 9 deletions docker-compose_example.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ services:
restart: always
links:
- db
- keydb
- dragonfly
# - mcaptcha
# - meilisearch
depends_on:
db:
condition: service_healthy
keydb:
dragonfly:
condition: service_healthy
ports:
- "3000:3000"
Expand All @@ -23,17 +23,25 @@ services:
- ./files:/misskey/files
- ./.config:/misskey/.config:ro

keydb:
dragonfly:
restart: always
image: eqalpha/keydb:latest
image: docker.dragonflydb.io/dragonflydb/dragonfly
ulimits:
memlock: -1
environment:
DFLY_snapshot_cron: '* * * * *'
DFLY_version_check: false
DFLY_tcp_backlog: 2048
DFLY_default_lua_flags: allow-undeclared-keys
DFLY_pipeline_squash: 0
DFLY_multi_exec_squash: false
DFLY_conn_io_threads: 4
DFLY_epoll_file_threads: 4
DFLY_proactor_threads: 4
networks:
- internal_network
volumes:
- ./keydb:/data
healthcheck:
test: "keydb-cli ping"
interval: 5s
retries: 20
- ./redis:/data

db:
restart: always
Expand Down
15 changes: 13 additions & 2 deletions packages/backend/test/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,19 @@
version: "3"

services:
keydbtest:
image: eqalpha/keydb:latest
dragonflytest:
image: docker.dragonflydb.io/dragonflydb/dragonfly
ulimits:
memlock: -1
environment:
DFLY_version_check: false
DFLY_tcp_backlog: 2048
DFLY_default_lua_flags: allow-undeclared-keys
DFLY_pipeline_squash: 0
DFLY_multi_exec_squash: false
DFLY_conn_io_threads: 4
DFLY_epoll_file_threads: 4
DFLY_proactor_threads: 4
ports:
- "127.0.0.1:56312:6379"

Expand Down

0 comments on commit 454a3f9

Please sign in to comment.