[GH-ISSUE #15278] issue: Settings cannot be saved under multiple copies #56186

Closed
opened 2026-05-05 18:54:56 -05:00 by GiteaMirror · 1 comment
Owner

Originally created by @EntropyYue on GitHub (Jun 25, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/15278

Check Existing Issues

  • I have searched the existing issues and discussions.
  • I am using the latest version of Open WebUI.

Installation Method

Docker

Open WebUI Version

0.6.15

Ollama Version (if applicable)

No response

Operating System

Windows 10

Browser (if applicable)

No response

Confirmation

  • I have read and followed all instructions in README.md.
  • I am using the latest version of both Open WebUI and Ollama.
  • I have included the browser console logs.
  • I have included the Docker container logs.
  • I have provided every relevant configuration, setting, and environment variable used in my setup.
  • I have clearly listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
  • I have documented step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation. My steps:
  • Start with the initial platform/version/OS and dependencies used,
  • Specify exact install/launch/configure commands,
  • List URLs visited, user input (incl. example values/emails/passwords if needed),
  • Describe all options and toggles enabled or changed,
  • Include any files or environmental changes,
  • Identify the expected and actual result at each stage,
  • Ensure any reasonably skilled user can follow and hit the same issue.

Expected Behavior

Settings should be saved in the database

Actual Behavior

In multiple copies, the setting is only saved in Redis, and the database will not be changed

Steps to Reproduce

services:
  nginx:
    image: nginx:latest
    ports:
      - 80:80
    volumes:
      - ./data/nginx/cert:/etc/ssl/nginx
      - ./data/nginx/nginx.conf:/etc/nginx/nginx.conf
    networks:
      - open-webui
    depends_on:
      - open-webui
    restart: always
    deploy:
      restart_policy:
        condition: any
    command: nginx -g "daemon off;"

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    environment:
      - DATABASE_URL=postgresql://postgres:postgres@db:5432/open_webui
      - REDIS_URL=redis://redis:6379/0
      - ENABLE_WEBSOCKET_SUPPORT=true
      - WEBSOCKET_MANAGER=redis
      - WEBSOCKET_REDIS_URL=redis://redis:6379/0
      - UVICORN_WORKERS=1
      - WEBUI_SECRET_KEY=3we2ir40opu89tycg
      - ENABLE_RAG_LOCAL_WEB_FETCH=true
      - OLLAMA_BASE_URL=<your-ollama-base-url>
    security_opt:
      - seccomp:unconfined
      - apparmor=unconfined
      - label=type:container_engine_t
    volumes:
      - ./data/open-webui:/app/backend/data
      - /sys/fs/cgroup:/sys/fs/cgroup
      - /proc:/proc2
    networks:
      - open-webui
    depends_on:
      - db
      - redis
    restart: always
    deploy:
      replicas: 4
      restart_policy:
        condition: any

  db:
    image: postgres:17-alpine
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=open_webui
    volumes:
      - ./data/postgres:/var/lib/postgresql/data
    networks:
      - open-webui
    restart: always
    deploy:
      restart_policy:
        condition: any
    healthcheck:
      test: ["CMD", "pg_isready"]
      interval: 10s
      timeout: 5s
      retries: 5

  redis:
    image: redis:7.2
    networks:
      - open-webui
    restart: always
    deploy:
      restart_policy:
        condition: any
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 5s
      timeout: 3s
      retries: 5

networks:
  open-webui:
    name: open-webui
    driver: bridge
events {
    worker_connections 1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    server {
        listen 80;
    
        client_max_body_size 1024m;

        location / {
            proxy_pass http://open-webui:8080;
            proxy_read_timeout 360s;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }
}

Start containers using the above settings in Docker Swarm mode
Modify any prompt word in /admin/settings/interface
Delete all containers and restart
Observed that the account is still there, but the previous settings have been lost

Logs & Screenshots

The logs show that the settings have been saved to Redis and the database, and other replicas have also successfully loaded the settings from Redis

Additional Information

No response

Originally created by @EntropyYue on GitHub (Jun 25, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/15278 ### Check Existing Issues - [x] I have searched the existing issues and discussions. - [x] I am using the latest version of Open WebUI. ### Installation Method Docker ### Open WebUI Version 0.6.15 ### Ollama Version (if applicable) _No response_ ### Operating System Windows 10 ### Browser (if applicable) _No response_ ### Confirmation - [x] I have read and followed all instructions in `README.md`. - [x] I am using the latest version of **both** Open WebUI and Ollama. - [x] I have included the browser console logs. - [x] I have included the Docker container logs. - [x] I have **provided every relevant configuration, setting, and environment variable used in my setup.** - [x] I have clearly **listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup** (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc). - [x] I have documented **step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation**. My steps: - Start with the initial platform/version/OS and dependencies used, - Specify exact install/launch/configure commands, - List URLs visited, user input (incl. example values/emails/passwords if needed), - Describe all options and toggles enabled or changed, - Include any files or environmental changes, - Identify the expected and actual result at each stage, - Ensure any reasonably skilled user can follow and hit the same issue. ### Expected Behavior Settings should be saved in the database ### Actual Behavior In multiple copies, the setting is only saved in Redis, and the database will not be changed ### Steps to Reproduce ```yaml services: nginx: image: nginx:latest ports: - 80:80 volumes: - ./data/nginx/cert:/etc/ssl/nginx - ./data/nginx/nginx.conf:/etc/nginx/nginx.conf networks: - open-webui depends_on: - open-webui restart: always deploy: restart_policy: condition: any command: nginx -g "daemon off;" open-webui: image: ghcr.io/open-webui/open-webui:main environment: - DATABASE_URL=postgresql://postgres:postgres@db:5432/open_webui - REDIS_URL=redis://redis:6379/0 - ENABLE_WEBSOCKET_SUPPORT=true - WEBSOCKET_MANAGER=redis - WEBSOCKET_REDIS_URL=redis://redis:6379/0 - UVICORN_WORKERS=1 - WEBUI_SECRET_KEY=3we2ir40opu89tycg - ENABLE_RAG_LOCAL_WEB_FETCH=true - OLLAMA_BASE_URL=<your-ollama-base-url> security_opt: - seccomp:unconfined - apparmor=unconfined - label=type:container_engine_t volumes: - ./data/open-webui:/app/backend/data - /sys/fs/cgroup:/sys/fs/cgroup - /proc:/proc2 networks: - open-webui depends_on: - db - redis restart: always deploy: replicas: 4 restart_policy: condition: any db: image: postgres:17-alpine environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - POSTGRES_DB=open_webui volumes: - ./data/postgres:/var/lib/postgresql/data networks: - open-webui restart: always deploy: restart_policy: condition: any healthcheck: test: ["CMD", "pg_isready"] interval: 10s timeout: 5s retries: 5 redis: image: redis:7.2 networks: - open-webui restart: always deploy: restart_policy: condition: any healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 5 networks: open-webui: name: open-webui driver: bridge ``` ```conf events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; server { listen 80; client_max_body_size 1024m; location / { proxy_pass http://open-webui:8080; proxy_read_timeout 360s; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } } ``` Start containers using the above settings in Docker Swarm mode Modify any prompt word in /admin/settings/interface Delete all containers and restart Observed that the account is still there, but the previous settings have been lost ### Logs & Screenshots The logs show that the settings have been saved to Redis and the database, and other replicas have also successfully loaded the settings from Redis ### Additional Information _No response_
GiteaMirror added the bug label 2026-05-05 18:54:56 -05:00
Author
Owner

@tjbck commented on GitHub (Jun 25, 2025):

We're unable to reproduce, keep us updated.

<!-- gh-comment-id:3004124173 --> @tjbck commented on GitHub (Jun 25, 2025): We're unable to reproduce, keep us updated.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#56186