two host redis implemented

This commit is contained in:
Berkay 2025-12-06 17:19:02 +03:00
parent 6613808013
commit 4e4dbf60ea
2 changed files with 116 additions and 0 deletions

13
two-host/.env Normal file
View File

@ -0,0 +1,13 @@
TIMEZONE=Europe/Istanbul
REDIS_VERSION=7.4
REDIS1_PORT=6379
REDIS2_PORT=6380
REDIS1_PASSWORD=super_secret_redis1_password
REDIS2_PASSWORD=super_secret_redis2_password
COMMANDER1_PORT=8081
COMMANDER2_PORT=8082
COMMANDER_HTTP_USER=admin
COMMANDER_HTTP_PASSWORD=another_strong_password

103
two-host/docker-compose.yml Normal file
View File

@ -0,0 +1,103 @@
services:
redis1:
image: redis:${REDIS_VERSION}
container_name: redis-server-1
restart: unless-stopped
command: >
redis-server
--appendonly yes
--requirepass ${REDIS1_PASSWORD}
--maxmemory 512mb
--maxmemory-policy allkeys-lru
--save 900 1
--save 300 10
--save 60 10000
environment:
- TZ=${TIMEZONE}
ports:
- "${REDIS1_PORT}:6379"
volumes:
- redis1-data:/data
networks:
- redis-network
healthcheck:
test: ["CMD", "redis-cli", "-a", "${REDIS1_PASSWORD}", "PING"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
redis2:
image: redis:${REDIS_VERSION}
container_name: redis-server-2
restart: unless-stopped
command: >
redis-server
--appendonly yes
--requirepass ${REDIS2_PASSWORD}
--maxmemory 512mb
--maxmemory-policy allkeys-lru
--save 900 1
--save 300 10
--save 60 10000
environment:
- TZ=${TIMEZONE}
ports:
- "${REDIS2_PORT}:6379"
volumes:
- redis2-data:/data
networks:
- redis-network
healthcheck:
test: ["CMD", "redis-cli", "-a", "${REDIS2_PASSWORD}", "PING"]
interval: 30s
timeout: 10s
retries: 3
start_period: 20s
redis-commander-1:
image: rediscommander/redis-commander:latest
container_name: redis-commander-1
restart: unless-stopped
depends_on:
redis1:
condition: service_healthy
environment:
- TZ=${TIMEZONE}
# UI auth
- HTTP_USER=${COMMANDER_HTTP_USER}
- HTTP_PASSWORD=${COMMANDER_HTTP_PASSWORD}
# Format: name:host:port:db:password
- REDIS_HOSTS=redis1:redis1:6379:0:${REDIS1_PASSWORD}
ports:
- "${COMMANDER1_PORT}:8081"
networks:
- redis-network
redis-commander-2:
image: rediscommander/redis-commander:latest
container_name: redis-commander-2
restart: unless-stopped
depends_on:
redis2:
condition: service_healthy
environment:
- TZ=${TIMEZONE}
- HTTP_USER=${COMMANDER_HTTP_USER}
- HTTP_PASSWORD=${COMMANDER_HTTP_PASSWORD}
- REDIS_HOSTS=redis2:redis2:6379:0:${REDIS2_PASSWORD}
ports:
- "${COMMANDER2_PORT}:8081"
networks:
- redis-network
networks:
redis-network:
driver: bridge
volumes:
redis1-data:
driver: local
redis2-data:
driver: local