redis-service/two-host/docker-compose.yml

104 lines
2.4 KiB
YAML

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