Sign inSign up

codingjoe/the-box-redis:main

Manifest digest

sha256:b22584b55813c0bc16b69c02671b137870064b4deece37bedde6fd8cc74d6025

Last pushed

19 days by codingjoe

Type

Compose

Manifest digest

sha256:b22584b55813c0bc16b69c02671b137870064b4deece37bedde6fd8cc74d6025

Compose file content

name: the-box-web
services:
  web:
    image: traefik/whoami:v1.12.0 # placeholder image for OCI artifact
    environment:
      PORT: ${PORT:-8000}
      HOSTNAME: ${HOSTNAME:-localhost}
    networks:
      - app
      - app-wan
      - caddy
    labels:
      - "caddy=${HOSTNAME:-localhost}"
      - "caddy.encode=zstd br gzip"
      - "caddy.reverse_proxy={{upstreams ${PORT:-8000}}}"
      - "caddy.reverse_proxy.lb_policy=round_robin"
      - "caddy.reverse_proxy.health_uri=/"
      - "caddy.reverse_proxy.health_headers.X-Forwarded-Host=${HOSTNAME:-localhost}"
      - "caddy.reverse_proxy.health_headers.X-Forwarded-Proto=https"
      - "caddy.cache"
    deploy:
      replicas: 2
      resources:
        limits:
          cpus: '2' # Limit cores of the CPU
          memory: 512M # Limit to 512MB of RAM
      restart_policy:
        condition: on-failure
        delay: 5s
        max_attempts: 3
        window: 120s
    stop_grace_period: 1m # Allow up to 1 minute for graceful shutdown
networks:
  app:
    internal: true
  app-wan:
  caddy:
    external: true
name: the-box-redis
services:
  redis:
    image: redis:8.10.1-alpine
    volumes:
      - redis:/data
    networks:
      - app
      - caddy
    command: [ "redis-server", "--requirepass", "${REDIS_PASSWORD}" ]
    restart: unless-stopped
    healthcheck:
      test: [ "CMD", "redis-cli", "--pass", "${REDIS_PASSWORD}", "ping" ]
      interval: 10s
      retries: 5
      start_period: 30s
      timeout: 10s
    labels:
      - "caddy=redis.${HOSTNAME:-localhost}"
      - "caddy.respond=OK"
      - 'caddy_1.servers.listener_wrappers.0_layer4.@tls-redis=tls'
      - '[email protected]=redis.${HOSTNAME:-localhost}'
      - 'caddy_1.servers.listener_wrappers.0_layer4.route_1=@tls-redis'
      - 'caddy_1.servers.listener_wrappers.0_layer4.route_1.0_tls='
      - 'caddy_1.servers.listener_wrappers.0_layer4.route_1.1_proxy={{upstreams 6379}}'
      - 'caddy_1.servers.listener_wrappers.1_tls='
  web:
    depends_on:
      - redis
    environment:
      REDIS_URL: redis://:${REDIS_PASSWORD}@redis/
volumes:
  redis:

Docker commands

docker compose -f oci://codingjoe/the-box-redis:main up

Use the above command to pull and run the Compose file. Learn more.

Images used

Image + 1 more

Redis is the world’s fastest data platform for caching, vector search, and NoSQL databases.


Pulls

1B+

Stars

13617

Last Updated

2 days

Image

Tiny Go webserver that prints OS information and HTTP request to output


Pulls

10M+

Stars

72

Last Updated

about 2 months