[GH-ISSUE #342] copyAppData pod using big (open-webui) image #115

Closed
opened 2026-10-18 21:06:14 +00:00 by bsakaguchi · 4 comments
Owner

Originally created by @jpaodev on GitHub (Feb 5, 2026).
Original GitHub issue: https://github.com/open-webui/helm-charts/issues/342

Hey there,

I am not sure if copyAppData is 100% required, so it might be a nice option to turn it off completely if no persistence is used.
The primary issue I have identified (please correct me if I'm missing something!) is that the copyAppData startup container uses the big open-webui image instead of a customizable image (which should be a small image e.g. busybox by default ideally

Originally created by @jpaodev on GitHub (Feb 5, 2026). Original GitHub issue: https://github.com/open-webui/helm-charts/issues/342 Hey there, I am not sure if copyAppData is 100% required, so it might be a nice option to turn it off completely if no persistence is used. The primary issue I have identified (please correct me if I'm missing something!) is that the copyAppData startup container uses the big open-webui image instead of a customizable image (which should be a small image e.g. busybox by default ideally
Author
Owner

@james-westbrook commented on GitHub (Feb 14, 2026):

Hi @jpaodev, unfortunately copyAppData is still needed for the reasons described here: https://github.com/open-webui/helm-charts/issues/38#issuecomment-2246439800

However, it appears that the init container should be correctly using the slim image when the main Open WebUI image is set to use it, specifically by setting the useSlim value such as below:

image:
  repository: ghcr.io/open-webui/open-webui
  tag: ""
  pullPolicy: "IfNotPresent"
  useSlim: true

This results in the following template for the Open WebUI init container pod with the slim image:

  initContainers:
  - command:
    - sh
    - -c
    - cp -R -n /app/backend/data/* /tmp/app-data/
    image: ghcr.io/open-webui/open-webui:0.8.0-slim
    imagePullPolicy: IfNotPresent
    name: copy-app-data
    resources: {}
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /tmp/app-data
      name: data

If you are not seeing the same results, please send me an example values file that causes the issue so I can investigate further. Thanks!

<!-- gh-comment-id:3900469798 --> @james-westbrook commented on GitHub (Feb 14, 2026): Hi @jpaodev, unfortunately copyAppData is still needed for the reasons described here: https://github.com/open-webui/helm-charts/issues/38#issuecomment-2246439800 However, it appears that the init container should be correctly using the slim image when the main Open WebUI image is set to use it, specifically by setting the `useSlim` value such as below: ``` image: repository: ghcr.io/open-webui/open-webui tag: "" pullPolicy: "IfNotPresent" useSlim: true ``` This results in the following template for the Open WebUI init container pod with the slim image: ``` initContainers: - command: - sh - -c - cp -R -n /app/backend/data/* /tmp/app-data/ image: ghcr.io/open-webui/open-webui:0.8.0-slim imagePullPolicy: IfNotPresent name: copy-app-data resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp/app-data name: data ``` If you are not seeing the same results, please send me an example values file that causes the issue so I can investigate further. Thanks!
Author
Owner

@jpaodev commented on GitHub (Feb 14, 2026):

Hi @jpaodev, unfortunately copyAppData is still needed for the reasons described here: https://github.com/open-webui/helm-charts/issues/38#issuecomment-2246439800

However, it appears that the init container should be correctly using the slim image when the main Open WebUI image is set to use it, specifically by setting the useSlim value such as below:

image:
  repository: ghcr.io/open-webui/open-webui
  tag: ""
  pullPolicy: "IfNotPresent"
  useSlim: true

This results in the following template for the Open WebUI init container pod with the slim image:

  initContainers:
  - command:
    - sh
    - -c
    - cp -R -n /app/backend/data/* /tmp/app-data/
    image: ghcr.io/open-webui/open-webui:0.8.0-slim
    imagePullPolicy: IfNotPresent
    name: copy-app-data
    resources: {}
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /tmp/app-data
      name: data

If you are not seeing the same results, please send me an example values file that causes the issue so I can investigate further. Thanks!

Hi there, thanks for the reply and info!
Is the copyAppData container also required when only using cloud services e.g. also for embedding?

<!-- gh-comment-id:3902074291 --> @jpaodev commented on GitHub (Feb 14, 2026): > Hi @jpaodev, unfortunately copyAppData is still needed for the reasons described here: https://github.com/open-webui/helm-charts/issues/38#issuecomment-2246439800 > > However, it appears that the init container should be correctly using the slim image when the main Open WebUI image is set to use it, specifically by setting the `useSlim` value such as below: > ``` > image: > repository: ghcr.io/open-webui/open-webui > tag: "" > pullPolicy: "IfNotPresent" > useSlim: true > ``` > > This results in the following template for the Open WebUI init container pod with the slim image: > ``` > initContainers: > - command: > - sh > - -c > - cp -R -n /app/backend/data/* /tmp/app-data/ > image: ghcr.io/open-webui/open-webui:0.8.0-slim > imagePullPolicy: IfNotPresent > name: copy-app-data > resources: {} > terminationMessagePath: /dev/termination-log > terminationMessagePolicy: File > volumeMounts: > - mountPath: /tmp/app-data > name: data > ``` > > If you are not seeing the same results, please send me an example values file that causes the issue so I can investigate further. Thanks! Hi there, thanks for the reply and info! Is the copyAppData container also required when only using cloud services e.g. also for embedding?
Author
Owner

@james-westbrook commented on GitHub (Feb 14, 2026):

Hi there, thanks for the reply and info! Is the copyAppData container also required when only using cloud services e.g. also for embedding?

It is not explicitly required at that point, however you will get error logs in Open WebUI for failure to download the embedding model from HuggingFace in an offline scenario. Given that if you're using a cloud provider you won't be in an offline scenario, the init container is not required and could be removed.

We can make that init container optional but defaulted to enabled if it would really speed things up for you!

<!-- gh-comment-id:3902093074 --> @james-westbrook commented on GitHub (Feb 14, 2026): > Hi there, thanks for the reply and info! Is the copyAppData container also required when only using cloud services e.g. also for embedding? It is not explicitly required at that point, however you will get error logs in Open WebUI for failure to download the embedding model from HuggingFace in an offline scenario. Given that if you're using a cloud provider you won't be in an offline scenario, the init container is not required and could be removed. We can make that init container optional but defaulted to enabled if it would really speed things up for you!
Author
Owner

@hbusul commented on GitHub (Oct 15, 2026):

@james-westbrook since it was related to this issue I didn't want to create a new one. When changing from normal image to slim image we received the error (in the init container):

cp: cannot stat '/app/backend/data/*': No such file or directory

So I checked the slim image:

docker run --rm -it ghcr.io/open-webui/open-webui:0.12.2-slim /bin/bash

root@4ac035652c48:/app/backend# cd data
root@4ac035652c48:/app/backend/data# ls -alh
total 8.0K
drwxr-xr-x 2 root root 4.0K Oct 14 21:08 .
drwxr-xr-x 1 root root 4.0K Oct 14 21:07 ..
root@4ac035652c48:/app/backend/data# 

Image does not contain anything under /app/backend/data

So the default copy command:

        command:
          - sh
          - -c
          - cp -R -n /app/backend/data/* /tmp/app-data/

where the /app/backend/data comes from the docker image and /tmp/app-data comes from the

        volumeMounts:
        - name: data
          mountPath: /tmp/app-data

supposed to always fail? I might be missing something. Thanks for your time!

<!-- gh-comment-id:6194778152 --> @hbusul commented on GitHub (Oct 15, 2026): @james-westbrook since it was related to this issue I didn't want to create a new one. When changing from normal image to slim image we received the error (in the init container): > cp: cannot stat '/app/backend/data/*': No such file or directory So I checked the slim image: > docker run --rm -it ghcr.io/open-webui/open-webui:0.12.2-slim /bin/bash ``` root@4ac035652c48:/app/backend# cd data root@4ac035652c48:/app/backend/data# ls -alh total 8.0K drwxr-xr-x 2 root root 4.0K Oct 14 21:08 . drwxr-xr-x 1 root root 4.0K Oct 14 21:07 .. root@4ac035652c48:/app/backend/data# ``` Image does not contain anything under `/app/backend/data` So the default copy command: ```yaml command: - sh - -c - cp -R -n /app/backend/data/* /tmp/app-data/ ``` where the `/app/backend/data` comes from the docker image and `/tmp/app-data` comes from the ```yaml volumeMounts: - name: data mountPath: /tmp/app-data ``` supposed to always fail? I might be missing something. Thanks for your time!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
open-webui/helm-charts#115
No description provided.