Skip to content

Issue with redis container #155

@Thimoty44

Description

@Thimoty44

Hi everybody,
I am currently meeting a problem with the cache container I got the following error from redis :

1:M 06 Mar 2026 18:23:08.534 # Background saving error
1:M 06 Mar 2026 18:23:14.071 * 1 changes in 3600 seconds. Saving...
1:M 06 Mar 2026 18:23:14.083 * Background saving started by pid 143334
143334:C 06 Mar 2026 18:23:15.008 # Write error while saving DB to the disk(rdbSaveRio): No space left on device

I verified disk space and everything is alright (note that redis is in /opt/wger) :

workout@Workout:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            1.9G     0  1.9G   0% /dev
tmpfs           392M  1.7M  390M   1% /run
/dev/vda3        18G  4.2G   13G  25% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
efivarfs        256K   23K  234K   9% /sys/firmware/efi/efivars
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           1.0M     0  1.0M   0% /run/credentials/systemd-journald.service
/dev/vdb         99G   33G   62G  36% /opt/wger
/dev/vda2       969M  9.4M  960M   1% /boot/efi
tmpfs           2.0G     0  2.0G   0% /tmp
tmpfs           1.0M     0  1.0M   0% /run/credentials/getty@tty1.service
tmpfs           1.0M     0  1.0M   0% /run/credentials/serial-getty@ttyAMA0.service
tmpfs           392M   16K  392M   1% /run/user/0

I checked my CPU and RAM and no problem :

Image

My current config for docker compose (sry for the syntax copy paste not workign well) :

services:
web:
image: docker.io/wger/server:latest
depends_on:
db:
condition: service_healthy
cache:
condition: service_healthy
env_file:
- ./config/prod.env
volumes:
- ./static:/home/wger/static
- ./media:/home/wger/media
expose:
- 8000
logging:
driver: json-file
options:
max-size: 5m
max-file: 5
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8000"]
interval: 10s
timeout: 5s
start_period: 300s
retries: 5
restart: unless-stopped

nginx:
image: docker.io/nginx:stable
depends_on:
- web
volumes:
- ./config/nginx.conf:/etc/nginx/conf.d/default.conf
- ./static:/wger/static:ro
- ./media:/wger/media:ro
ports:
- "80:80"
healthcheck:
test: ["CMD", "service", "nginx", "status"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
restart: unless-stopped

db:
image: docker.io/postgres:15-alpine
environment:
- POSTGRES_USER=wger
- POSTGRES_PASSWORD=CENSURED
- POSTGRES_DB=wger
- TZ=Europe/Berlin
volumes:
- ./postgres-data:/var/lib/postgresql/data/
expose:
- 5432
logging:
driver: json-file
options:
max-size: 5m
max-file: 5
healthcheck:
test: ["CMD", "pg_isready", "-U", "wger" ]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
restart: unless-stopped

cache:
image: docker.io/redis
expose:
- 6379
logging:
driver: json-file
options:
max-size: 5m
max-file: 5
volumes:
- ./config/redis.conf:/usr/local/etc/redis/redis.conf
- ./redis-data:/data
command: ["redis-server", "/usr/local/etc/redis/redis.conf"]
healthcheck:
test: redis-cli ping
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
restart: unless-stopped

# You probably want to limit the memory usage of the cache, otherwise it might
# hog all the available memory. Remove or change according to your needs.
#mem_limit: 5gb

celery_worker:
image: docker.io/wger/server:latest
command: /start-worker
env_file:
- ./config/prod.env
volumes:
- ./media:/home/wger/media
logging:
driver: json-file
options:
max-size: 5m
max-file: 5
depends_on:
web:
condition: service_healthy
healthcheck:
test: ["CMD", "celery", "-A", "wger", "inspect", "ping"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
restart: unless-stopped

celery_beat:
image: docker.io/wger/server:latest
command: /start-beat
logging:
driver: json-file
options:
max-size: 5m
max-file: 5
volumes:
- ./celery-beat:/home/wger/beat/
env_file:
- ./config/prod.env
depends_on:
celery_worker:
condition: service_healthy
restart: unless-stopped

celery_flower:
image: wger/server:latest
container_name: wger_celery_flower
command: /start-flower
env_file:
- ./config/prod.env
ports:
- "5555:5555"
healthcheck:
test: wget --no-verbose --tries=1 http://localhost:5555/healthcheck
interval: 10s
timeout: 5s
retries: 5
depends_on:
celery_worker:
condition: service_healthy
restart: unless-stopped

volumes:
postgres-data:
celery-beat:
redis-data:

# Heads up, if you remove these volumes and use folders directly you need to chown them
# to the UID and GID 1000 even if it doesn't exist on your system. Also, they should
# be readable by everyone.
#
# https://wger.readthedocs.io/en/latest/production/docker.html#missing-static-files
media:
static:

networks:
default:
name: wger_network

If i check space in the container directly there is no problem :

Filesystem      Size  Used Avail Use% Mounted on
overlay          18G  4.2G   13G  25% /
tmpfs            64M     0   64M   0% /dev
shm              64M     0   64M   0% /dev/shm
/dev/vdb         99G   33G   62G  36% /data
/dev/vda3        18G  4.2G   13G  25% /etc/hosts
tmpfs           2.0G     0  2.0G   0% /proc/acpi
tmpfs           2.0G     0  2.0G   0% /sys/firmware

I think the cache is causing me some problem with using wger because I can't event do research about food, and many times by adding measurement I got error and he don't get add and sometime it is added.

If somebody meet the problem I would like your advice.
Have a nice day guys.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions