I have searched the existing issues and discussions.
Problem Description
I would like to propose splitting the DATABASE_URL configuration, so that it get more flexible for k8s environments where a PostgreSQL operator offers the credentials directly in the environment.
Desired Solution you'd like
Instead of a single DATABASE_URL variable, we could have,
DATABASE_TYPE: ["sqlite"(default), "postgres"]
DATABASE_USER: "openwebui" (default)
DATABASE_PASSWORD: "top-secret"
DATABASE_HOST: ""
DATABASE_NAME: "openwebui" (default)
DATABASE_PORT: "5432" (default)
If you agree I can create a PR for implementing a function that generate the resulting DATABASE_URL string afterwards.
Alternatives Considered
DATABASE_PASSWORD can then afterwards be read from a k8s secret in the helm chart. The other variables can be then statically defined in the helm chart values.yaml file.
Additional Context
No response
Originally created by @mjtrangoni on GitHub (May 2, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/13431
### Check Existing Issues
- [x] I have searched the existing issues and discussions.
### Problem Description
I would like to propose splitting the `DATABASE_URL` configuration, so that it get more flexible for k8s environments where a PostgreSQL operator offers the credentials directly in the environment.
### Desired Solution you'd like
Instead of a single **DATABASE_URL** variable, we could have,
* `DATABASE_TYPE`: ["sqlite"(default), "postgres"]
* `DATABASE_USER`: "openwebui" (default)
* `DATABASE_PASSWORD`: "top-secret"
* `DATABASE_HOST`: ""
* `DATABASE_NAME`: "openwebui" (default)
* `DATABASE_PORT`: "5432" (default)
If you agree I can create a PR for implementing a function that generate the resulting DATABASE_URL string afterwards.
### Alternatives Considered
`DATABASE_PASSWORD` can then afterwards be read from a k8s secret in the helm chart. The other variables can be then statically defined in the helm chart values.yaml file.
### Additional Context
_No response_
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Originally created by @mjtrangoni on GitHub (May 2, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/13431
Check Existing Issues
Problem Description
I would like to propose splitting the
DATABASE_URLconfiguration, so that it get more flexible for k8s environments where a PostgreSQL operator offers the credentials directly in the environment.Desired Solution you'd like
Instead of a single DATABASE_URL variable, we could have,
DATABASE_TYPE: ["sqlite"(default), "postgres"]DATABASE_USER: "openwebui" (default)DATABASE_PASSWORD: "top-secret"DATABASE_HOST: ""DATABASE_NAME: "openwebui" (default)DATABASE_PORT: "5432" (default)If you agree I can create a PR for implementing a function that generate the resulting DATABASE_URL string afterwards.
Alternatives Considered
DATABASE_PASSWORDcan then afterwards be read from a k8s secret in the helm chart. The other variables can be then statically defined in the helm chart values.yaml file.Additional Context
No response
@tjbck commented on GitHub (May 2, 2025):
As long as it'll be backward compatible PR welcome.