Skip to content

[Bug]: Valkey setup compose seems broken #195

Description

@HenkieTenkie62

What version of Degoog are you using?

0.21.0

What platform is it deployed on?

Ubunutu 22.04

What steps can reproduce the bug?

Take example docker compose (valkey or full).
Setup as documented with:
mkdir -p ./data && sudo chown -R 1000:1000 ./data

In your compose folder.

Run:
docker compose up -d

What is the expected behavior?

Valkey working out of the box.

What do you see instead?

Valkey won't launch and is thus not found by degoog

Additional information

Fixed with following compose:

# Degoog + Valkey shared cache + PostgreSQL indexer backend.
# Good for: high-traffic public instances that want both cross-process caching
# and a fairly scalable indexer.
#
# Setup:
#   mkdir -p ./data && sudo chown -R 1000:1000 ./data
#   Change POSTGRES_PASSWORD below before starting.

services:
  degoog:
    container_name: degoog
    image: ghcr.io/degoog-org/degoog:latest
    volumes:
      - ./data:/app/data
    ports:
      - "4444:4444"
    restart: unless-stopped
    environment:
      DEGOOG_VALKEY_URL: "redis://degoog-valkey:6379"
      DEGOOG_POSTGRES: "postgresql://degoog:changeme@degoog-postgres:5432/degoog"
    depends_on:
      degoog-valkey:
        condition: service_started
      degoog-postgres:
        condition: service_healthy
    networks:
      - degoog-net
        
  degoog-valkey:
    container_name: degoog-valkey
    image: valkey/valkey:8-alpine
    command: ["valkey-server", "--save", "", "--appendonly", "no"]
    restart: unless-stopped
    # user: "1000:1000"
    read_only: true
    # cap_drop:
    #   - ALL
    security_opt:
      - no-new-privileges:true
    networks:
      - degoog-net
      
  degoog-postgres:
    container_name: degoog-postgres
    image: postgres:17-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: degoog
      POSTGRES_USER: degoog
      POSTGRES_PASSWORD: changeme
    volumes:
      - postgres-data:/var/lib/postgresql/data
    user: "70:70"
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U degoog -d degoog"]
      interval: 5s
      timeout: 5s
      retries: 10
      start_period: 10s
    networks:
      - degoog-net

volumes:
  postgres-data:

networks:
  degoog-net:
    driver: bridge

It wouldn't launch without excluding the privileges for valkey.
I don't know what the security implication is of running it like this.
Also my Docker 29.5.3 wouldn't setup access by means of "container name" as DNS address.
Thus the separate degoog-net network.

Metadata

Metadata

Assignees

Labels

bugOne or more bugs

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions