webui无法注册如何配置

1. 初始登陆界面

docker部署的脚本为:

docker run -d \
-p 8180:8080 --gpus=all \
-v ollama:/root/.ollama \
-v /home/pretrained_model/output:/app/backend/output \
--name open-webui \
--restart always ghcr.io/open-webui/open-webui:ollama

 

2. 新增注册入口

方案1:管理员配置

点击进入管理员面板

可以看到:允许用户注册,开关默认并未打开,打开开关并保存,普通用户注册就可以看到注册入口了。

 

方案2:docker服务启动配置

增加

  -e DISABLE_REGISTRATION=false \
  -v /path/on/host/data:/app/backend/data \

DISABLE_REGISTRATION :是否禁用注册(设为 false 以启用)。

 部署脚本变为

docker run -d \
-p 8180:8080 --gpus=all \
-v ollama:/root/.ollama \
-v /home/pretrained_model/output:/app/backend/output \
-e DISABLE_REGISTRATION=false \
-e OLLAMA_API_BASE=http://localhost:11434 \
-e MODEL_ISOLATION=false \
-v /home/data:/app/backend/data \
--name open-webui \
--restart always ghcr.io/open-webui/open-webui:ollama

增加后仍无注册入口

检查容器的挂载信息:

$ docker inspect 5ce | grep Mounts -A 20
        "Mounts": [
            {
                "Type": "volume",
                "Name": "ollama",
                "Source": "/home/docker/lib/docker/volumes/ollama/_data",
                "Destination": "/root/.ollama",
                "Driver": "local",
                "Mode": "z",
                "RW": true,
                "Propagation": ""
            },
            {
                "Type": "bind",
                "Source": "/home/pretrained_model/output",
                "Destination": "/app/backend/output",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",

 (1)关键配置项

如果目标是 重新启用注册功能,检查以下配置:

.env
 文件中的变量:
DISABLE_REGISTRATION=false  # 确保为 false
ADMIN_USERNAME=admin        # 管理员账户(第一个注册用户)

config.json
 中的字段(如果存在):
{
  "auth": {
    "disable_registration": false
  }
}

root@5d771f4dd26f:/app/backend# cat .env
cat: .env: No such file or directory
root@5d771f4dd26f:/app/backend# cat /app/backend/.env
cat: /app/backend/.env: No such file or directory
root@5d771f4dd26f:/app/backend# ls -la /app/backend/config.*
ls: cannot access '/app/backend/config.*': No such file or directory
root@5d771f4dd26f:/app/backend# ls /app/backend/data/
cache  uploads  vector_db  webui.db

从你的检查结果来看,Open WebUI 容器内 没有 
.env 或 config.json 文件,但存在 /app/backend/data/ 目录,其中包含 webui.db
(SQLite 数据库文件)。这说明配置可能通过以下方式管理:

1. 配置存储在数据库 (webui.db) 中
Open WebUI 的部分设置(如用户权限、注册开关)可能直接保存在数据库里。
检查方法:
apt update && apt install -y sqlite3
sqlite3 /app/backend/data/webui.db "SELECT * FROM settings;"
或查看用户表:
sqlite3 /app/backend/data/webui.db "SELECT * FROM users;"
root@5d771f4dd26f:/app/backend# sqlite3 /app/backend/data/webui.db "SELECT * FROM settings;"
Error: in prepare, no such table: settings

既然 webui.db 中没有 settings 表,说明 Open WebUI 的配置可能存储在其他位置,或者通过其他方式管理。以下是进一步的排查和解决方案:

1. 检查所有数据库表
运行以下命令查看 webui.db 中的所有表,确认是否有与配置相关的表:
sqlite3 /app/backend/data/webui.db ".tables"
root@5d771f4dd26f:/app/backend# sqlite3 /app/backend/data/webui.db ".tables"
alembic_version   config            group             model
auth              document          knowledge         note
channel           feedback          memory            prompt
channel_member    file              message           tag
chat              folder            message_reaction  tool
chatidtag         function          migratehistory    user

从 .tables 输出可以看到,数据库中有 config 和 user 表,但没有 settings
 表。这说明 Open WebUI 的配置可能存储在 config 表中,而用户数据在 user 表中。

1. 检查 config 表
运行以下命令查看 config 表的内容:
sqlite3 /app/backend/data/webui.db "SELECT * FROM config;"
root@5d771f4dd26f:/app/backend# sqlite3 /app/backend/data/webui.db "SELECT * FROM config;"
1|{"version": 0, "ui": {"enable_signup": false}}|0|2025-06-05 02:04:47|

从 config 表的输出可以看到,注册功能被明确关闭了:
{"version": 0, "ui": {"enable_signup": false}}

解决方案:直接修改数据库启用注册
1. 更新 config 表
运行以下命令将 enable_signup 改为 true:
sqlite3 /app/backend/data/webui.db "UPDATE config SET value='{\"version\": 0, \"ui\": {\"enable_signup\": true}}' WHERE key=1;"
root@5d771f4dd26f:/app/backend# sqlite3 /app/backend/data/webui.db "UPDATE config SET value='{"version": 0, "ui": {"enable_signup": true}}' WHERE key=1;"
Error: in prepare, no such column: value

根据config表结构和错误信息,我们需要调整SQL语句。让我们重新分析并解决这个问题。
正确的解决方案:
首先检查config表的完整结构:
sqlite3 /app/backend/data/webui.db "PRAGMA table_info(config);"
root@5d771f4dd26f:/app/backend# sqlite3 /app/backend/data/webui.db "PRAGMA table_info(config);"
0|id|INTEGER|1||1
1|data|JSON|1||0
2|version|INTEGER|1||0
3|created_at|DATETIME|1|CURRENT_TIMESTAMP|0
4|updated_at|DATETIME|0|CURRENT_TIMESTAMP|0

根据 PRAGMA table_info(config); 的输出,config 表的结构如下:
| 列号 | 列名      | 类型     | 非空 | 默认值          | 主键 |
|------|-----------|----------|------|-----------------|------|
| 0    | id        | INTEGER  | 1    | -               | 1    |
| 1    | data      | JSON     | 1    | -               | 0    |
| 2    | version   | INTEGER  | 1    | -               | 0    |
| 3    | created_at| DATETIME | 1    | CURRENT_TIMESTAMP| 0    |
| 4    | updated_at| DATETIME | 0    | CURRENT_TIMESTAMP| 0    |

正确的 SQL 更新命令

要修改注册设置,你需要更新 data 列(而不是之前假设的 value 列):
sqlite3 /app/backend/data/webui.db "UPDATE config SET data='{\"version\": 0, \"ui\": {\"enable_signup\": true}}', updated_at=CURRENT_TIMESTAMP WHERE id=1;"
# 退出并重启
exit
docker restart 5d7
root@5ce1f6824ab5:/app/backend# sqlite3 /app/backend/data/webui.db "SELECT data FROM config;"
{"version": 0, "ui": {"enable_signup": true}}

 完整操作流程:

# 进入容器
docker exec -it 5d7 /bin/bash

# 更新配置
sqlite3 /app/backend/data/webui.db "UPDATE config SET data='{\"version\": 0, \"ui\": {\"enable_signup\": true}}' WHERE id=1;"

# 验证
sqlite3 /app/backend/data/webui.db "SELECT data FROM config;"

# 退出并重启
exit
docker restart 5d7

 成功出现注册入口:

 

3. 如何让普通用户看到模型

普通用户登陆进来后,发现没有可用的模型

在 Open WebUI 中,管理员为普通用户开放模型权限的完整操作流程如下:

1. 通过管理员面板设置
操作路径:
使用管理员账户登录 Open WebUI 点击左下角 ⚙️ Settings (设置)
选择 Admin Panel (管理员面板)
进入 Model Permissions (模型权限) 选项卡

权限控制选项:

全局开关:启用/禁用 模型隔离 (Model Isolation)
✅ 关闭时:所有用户可见全部模型
❌ 开启时:需单独授权模型

单个模型授权:
勾选用户旁的复选框或使用 Bulk Actions 批量授权

 普通用户就看看到模型了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值