migrate mastodon redis to multiple dragonflydb instances
This commit is contained in:
parent
1147e8f410
commit
79b64d713f
2 changed files with 69 additions and 6 deletions
|
|
@ -2,6 +2,11 @@
|
||||||
LOCAL_DOMAIN=merping.synth.download
|
LOCAL_DOMAIN=merping.synth.download
|
||||||
AUTHORIZED_FETCH=true
|
AUTHORIZED_FETCH=true
|
||||||
|
|
||||||
|
# dragonflydb
|
||||||
|
REDIS_URL=redis://dragonfly:6379/0
|
||||||
|
CACHE_REDIS_URL=redis://dragonfly-cache:6380/0
|
||||||
|
SIDEKIQ_REDIS_URL=redis://dragonfly-sidekiq:6381/0
|
||||||
|
|
||||||
# max character/profile related limits
|
# max character/profile related limits
|
||||||
MAX_TOOT_CHARS=100000
|
MAX_TOOT_CHARS=100000
|
||||||
MAX_BIO_CHARS=100000
|
MAX_BIO_CHARS=100000
|
||||||
|
|
|
||||||
|
|
@ -16,10 +16,11 @@ services:
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:46098:3000"
|
- "127.0.0.1:46098:3000"
|
||||||
depends_on:
|
depends_on:
|
||||||
redis:
|
dragonfly:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
volumes:
|
volumes:
|
||||||
- ./public/system:/mastodon/public/system
|
- ./public/system:/mastodon/public/system
|
||||||
|
- ./shared:/shared # this is just to allow seeing/copying emoji exports
|
||||||
|
|
||||||
streaming:
|
streaming:
|
||||||
image: ghcr.io/melontini/mastodon-streaming:nightly
|
image: ghcr.io/melontini/mastodon-streaming:nightly
|
||||||
|
|
@ -37,7 +38,7 @@ services:
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:58834:4000"
|
- "127.0.0.1:58834:4000"
|
||||||
depends_on:
|
depends_on:
|
||||||
redis:
|
dragonfly:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
|
||||||
sidekiq:
|
sidekiq:
|
||||||
|
|
@ -48,7 +49,7 @@ services:
|
||||||
- .env
|
- .env
|
||||||
command: bundle exec sidekiq
|
command: bundle exec sidekiq
|
||||||
depends_on:
|
depends_on:
|
||||||
redis:
|
dragonfly:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
networks:
|
networks:
|
||||||
- masto
|
- masto
|
||||||
|
|
@ -59,13 +60,70 @@ services:
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ['CMD-SHELL', "ps aux | grep '[s]idekiq\ 7' || false"]
|
test: ['CMD-SHELL', "ps aux | grep '[s]idekiq\ 7' || false"]
|
||||||
|
|
||||||
redis:
|
# generic dragonfly instance
|
||||||
|
dragonfly:
|
||||||
|
image: docker.dragonflydb.io/dragonflydb/dragonfly
|
||||||
restart: always
|
restart: always
|
||||||
image: redis:alpine
|
ulimits:
|
||||||
|
memlock: -1
|
||||||
networks:
|
networks:
|
||||||
- masto
|
- masto
|
||||||
|
environment:
|
||||||
|
# these envvars are important to make dfdb act as closely as possible to redis for properly saving and loading data
|
||||||
|
DFLY_snapshot_cron: '* * * * *'
|
||||||
|
DFLY_version_check: false
|
||||||
|
DFLY_default_lua_flags: allow-undeclared-keys
|
||||||
|
DFLY_dbfilename: 'dump.rdb'
|
||||||
|
DFLY_df_snapshot_format: false
|
||||||
|
DFLY_dir: '/data'
|
||||||
volumes:
|
volumes:
|
||||||
- ./redis:/data
|
- ./dragonfly/generic:/data
|
||||||
|
healthcheck:
|
||||||
|
test: "redis-cli ping"
|
||||||
|
interval: 5s
|
||||||
|
retries: 20
|
||||||
|
|
||||||
|
# cache dragonfly instance
|
||||||
|
dragonfly-cache:
|
||||||
|
image: docker.dragonflydb.io/dragonflydb/dragonfly
|
||||||
|
restart: always
|
||||||
|
ulimits:
|
||||||
|
memlock: -1
|
||||||
|
networks:
|
||||||
|
- masto
|
||||||
|
environment:
|
||||||
|
DFLY_port: 6380
|
||||||
|
DFLY_snapshot_cron: '* * * * *'
|
||||||
|
DFLY_version_check: false
|
||||||
|
DFLY_default_lua_flags: allow-undeclared-keys
|
||||||
|
DFLY_dbfilename: 'dump.rdb'
|
||||||
|
DFLY_df_snapshot_format: false
|
||||||
|
DFLY_dir: '/data'
|
||||||
|
volumes:
|
||||||
|
- ./dragonfly/cache:/data
|
||||||
|
healthcheck:
|
||||||
|
test: "redis-cli ping"
|
||||||
|
interval: 5s
|
||||||
|
retries: 20
|
||||||
|
|
||||||
|
# sidekiq dragonfly instance
|
||||||
|
dragonfly-sidekiq:
|
||||||
|
image: docker.dragonflydb.io/dragonflydb/dragonfly
|
||||||
|
restart: always
|
||||||
|
ulimits:
|
||||||
|
memlock: -1
|
||||||
|
networks:
|
||||||
|
- masto
|
||||||
|
environment:
|
||||||
|
DFLY_port: 6381
|
||||||
|
DFLY_snapshot_cron: '* * * * *'
|
||||||
|
DFLY_version_check: false
|
||||||
|
DFLY_default_lua_flags: allow-undeclared-keys
|
||||||
|
DFLY_dbfilename: 'dump.rdb'
|
||||||
|
DFLY_df_snapshot_format: false
|
||||||
|
DFLY_dir: '/data'
|
||||||
|
volumes:
|
||||||
|
- ./dragonfly/sidekiq:/data
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: "redis-cli ping"
|
test: "redis-cli ping"
|
||||||
interval: 5s
|
interval: 5s
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue