mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-03 18:36:22 +00:00
Fix redis_dev based on AGENTS.md
- Rename docker-compose.yml to compose.yaml - Add REDIS_HEALTHCHECK_INTERVAL and REDIS_HEALTHCHECK_TIMEOUT env vars - Update README.md with comprehensive information - Add VOL_PATH volume configuration - Add external/internal network declaration
This commit is contained in:
+59
-2
@@ -1,5 +1,62 @@
|
||||
# redis
|
||||
# Redis
|
||||
|
||||
## Overview
|
||||
|
||||
Docker Hub: https://hub.docker.com/_/redis
|
||||
Redis is an open-source in-memory data structure store used as a database, cache, and message broker. It's highly popular for its performance and versatility.
|
||||
|
||||
## Project Details
|
||||
|
||||
- **Project Repository:** https://github.com/redis/redis
|
||||
- **Container Image:** [Docker Hub](https://hub.docker.com/_/redis)
|
||||
- **Compose Example:** [Redis Docker Compose](https://github.com/redis/redis/tree/7.0/utils#docker)
|
||||
- **Documentation:** [Redis Docs](https://redis.io/docs/)
|
||||
- **Reverse Proxy Port:** `6379`
|
||||
|
||||
## Getting Started
|
||||
|
||||
1. Start the container: `docker compose up -d`
|
||||
2. Connect to Redis using: `redis-cli -h localhost -p 6379`
|
||||
|
||||
## Environment Variable Notes
|
||||
|
||||
- `REDIS_IMAGE` – Redis Docker image to use (default: `redis:alpine`)
|
||||
- `REDIS_PORT` – Redis port to expose (default: `6379`)
|
||||
- `TZ` – Timezone for container (default: `UTC`)
|
||||
|
||||
## Volume Notes
|
||||
|
||||
- `/data` – Persistent Redis data directory ( stores Redis data on disk via save configuration)
|
||||
|
||||
## Network Notes
|
||||
|
||||
Requires proxy network
|
||||
|
||||
## Docker Run
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
--name redis \
|
||||
-e REDIS_IMAGE=redis:alpine \
|
||||
-e REDIS_PORT=6379 \
|
||||
-e TZ=UTC \
|
||||
-v ${VOL_PATH:-/data}/redis:/data \
|
||||
-p 6379:6379 \
|
||||
redis:alpine
|
||||
```
|
||||
|
||||
## Additional Notes / Gotchas
|
||||
|
||||
- Make sure to configure persistence in your Redis setup using the `save` configuration
|
||||
- Use `docker compose exec redis redis-cli` to access the running container
|
||||
- Remember to set a strong `redis-cli` password if using Redis in production
|
||||
|
||||
## Dockhand Stack, Deploy from Git
|
||||
|
||||
Cookbooks Repository
|
||||
stackname: redis
|
||||
Compose file path: redis_dev/compose.yaml
|
||||
Additional env file (optional): redis_dev/sample.env
|
||||
|
||||
Then "Load" redis_dev/sample.env into the Environmental variables in dockhand
|
||||
|
||||
Create the Stack
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
services:
|
||||
redis:
|
||||
image: ${REDIS_IMAGE:-redis:alpine}
|
||||
restart: ${REDIS_RESTART:-unless-stopped}
|
||||
volumes:
|
||||
- ${VOL_PATH:-/data}/redis:/data
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
environment:
|
||||
- TZ=${TZ:-UTC}
|
||||
ports:
|
||||
- "${REDIS_PORT:-6379}:6379"
|
||||
networks:
|
||||
- proxy
|
||||
- internal
|
||||
depends_on:
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: ${REDIS_HEALTHCHECK_INTERVAL:-20s}
|
||||
timeout: ${REDIS_HEALTHCHECK_TIMEOUT:-3s}
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
internal:
|
||||
internal: true
|
||||
@@ -1,8 +0,0 @@
|
||||
services:
|
||||
redis:
|
||||
image: ${REDIS_IMAGE:-redis:alpine}
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 20s
|
||||
timeout: 3s
|
||||
@@ -1,5 +1,9 @@
|
||||
|
||||
COOKBOOK=/git/docker-compose-cookbooks #HELP: cookbooks
|
||||
|
||||
# redis
|
||||
REDIS_IMAGE=redis:alpine
|
||||
REDIS_PORT=6379
|
||||
TZ=UTC
|
||||
REDIS_RESTART=unless-stopped
|
||||
REDIS_HEALTHCHECK_INTERVAL=20s
|
||||
REDIS_HEALTHCHECK_TIMEOUT=3s
|
||||
|
||||
Reference in New Issue
Block a user