热门搜索:
ghcr.io/coleifer/sqlite-web

ghcr.io/coleifer/sqlite-web:0.7.1

ghcr.iolinux/amd640.7.1大小: 未知更新于 2026年5月23日

sqlite-web

sqlite-web 是一个基于 Web 的 SQLite 数据库浏览器,使用 Python 编写。

项目依赖

  • flask
  • peewee
  • pygments

安装

$ pip install sqlite-web

使用

$ sqlite_web /path/to/database.db

如果有多个数据库:

$ sqlite_web /path/to/db1.db /path/to/db2.db /path/to/db3.db

或使用 Docker 运行:

$ docker run -it --rm \
-p 8080:8080 \
-v /path/to/your-data:/data \
ghcr.io/coleifer/sqlite-web:latest \
db_filename.db

或使用高性能 gevent WSGI 服务器运行(需安装 gevent):

$ sqlite_wsgi /path/to/db.db

然后访问 http://localhost:8080/ 即可查看数据库。

功能特性

  • 可与现有 SQLite 数据库配合使用,也可用于创建新数据库。
  • 支持添加或删除:
    • 列(支持旧版本 SQLite)
    • 索引
  • 导出数据为 JSON 或 CSV 格式。
  • 导入 JSON 或 CSV 文件。
  • 浏览表数据。
  • 插入、更新或删除行。
  • 运行时加载和卸载数据库(参见 --enable-load--enable-filesystem

截图

索引页显示数据库的基本信息,包括表和索引的数量以及磁盘大小:

structure 标签页显示表结构信息,包括列、索引、触发器和外键(如果存在)。从该页面还可以创建、重命名或删除列和索引。

列可以轻松添加、删除或重命名:

content 标签页显示所有表数据。表头中的链接可用于对数据进行排序:

query 标签页允许在表上执行任意 SQL 查询。查询结果以表格形式显示,并可导出为 JSON 或 CSV 格式:

import 标签页支持将 CSV 和 JSON 文件导入表中。可选择为导入文件中任何未识别的键自动创建列:

export 标签页支持导出全部或部分列:

支持基本的 INSERT、UPDATE 和 DELETE 查询:

配置 --enable-load--enable-filesystem 后,可以在运行时加载或卸载其他数据库:

命令行选项

调用 sqlite-web 的语法为:

$ sqlite_web [options] /path/to/database.db /path/to/another.db

可用选项如下:

    • -p, --port:默认值为 8080
    • -H, --host:默认值为 127.0.0.1
    • -d, --debug:默认值为 false
    • -l, --log-file:应用日志的文件名。
    • -q, --quiet:仅记录错误。
    • -b, --browser:sqlite-web 启动时打开 Web 浏览器。
    • -x, --no-browser:sqlite-web 启动时不打开 Web 浏览器。
    • -P, --password:提示输入访问 sqlite-web 的密码。或者,密码可存储在 "SQLITE_WEB_PASSWORD" 环境变量中,此时应用不会提示输入密码,而是使用环境变量中的值。
    • -r, --read-only:以只读模式打开数据库。
    • -R, --rows-per-page:设置内容页的分页,默认 50 行。
    • -Q, --query-rows-per-page:设置查询页的分页,默认 1000 行。
    • -T, --no-truncate:禁用长文本值的省略号。如果使用此选项,将始终显示完整文本值。
    • -B, --base64:BLOB 数据以 base64 格式显示(默认是十六进制)。
    • -e, --extension:可加载扩展的路径或名称。要加载多个扩展,请为每个扩展指定 -e [path]
    • -s, --startup-hook:用于在每个请求前初始化连接的启动钩子路径,例如 my.module.some_callable。应接受一个参数,即 SqliteDatabase 实例。
    • -f, --foreign-keys:启用外键约束pragma。
    • -u, --url-prefix:应用的 URL 前缀,例如 "/sqlite-web"。
    • -L, --enable-load:允许在运行时加载其他数据库(仅上传)。要添加本地数据库,请使用 --enable-filesystem
    • -U, --upload-dir:上传数据库的目标目录(-L)。如果未指定,将使用系统临时目录。
    • -F, --enable-filesystem:允许通过在运行时指定磁盘路径来加载其他数据库。使用此选项时需谨慎。
    • -c, --cert 和 -k, --key - 指定 SSL 证书和私钥。
    • -a, --ad-hoc - 使用临时 SSL 上下文运行。

使用 Docker

sqlite-web 提供了 Dockerfile。使用方法如下:

#
# 使用 GitHub 容器仓库:
#

$ docker run -it --rm \
-p 8080:8080 \
-v /path/to/your-data:/data \
ghcr.io/coleifer/sqlite-web:latest \
db_filename.db

#
# 或自行构建镜像:
#

$ cd docker/ # 进入包含 Dockerfile 的目录
$ docker build -t coleifer/sqlite-web .
$ docker run -it --rm \
-p 8080:8080 \
-v /path/to/your-data:/data \
coleifer/sqlite-web
db_filename.db

通过 Docker 运行时可以传递命令行选项。例如,如果要在单独的 URL 前缀(如 /sqlite-web/)下运行:

$ docker run -it --rm \
-p 8080:8080 \
-v /path/to/your-data:/data \
ghcr.io/coleifer/sqlite-web:latest \
db_filename.db \
--url-prefix="/sqlite-web/"

高性能 WSGI 服务器

要使用高性能 gevent WSGI 服务器运行 sqlite-web,可以运行 sqlite_wsgi 而非 sqlite_web

$ sqlite_wsgi /path/to/db.db

更完整的示例:

$ sqlite_wsgi -p 8000 -H '0.0.0.0' /path/to/db1.db /path/to/db2.db

项目仓库 README(补充)

sqlite-web 是一个基于 Web 的 SQLite 数据库浏览器,使用 Python 编写。

项目依赖

  • flask
  • peewee
  • pygments

安装

$ pip install sqlite-web

使用

$ sqlite_web /path/to/database.db

如果有多个数据库:

$ sqlite_web /path/to/db1.db /path/to/db2.db /path/to/db3.db

或使用 Docker 运行:

$ docker run -it --rm \
-p 8080:8080 \
-v /path/to/your-data:/data \
ghcr.io/coleifer/sqlite-web:latest \
db_filename.db

或使用高性能 gevent WSGI 服务器运行(需 gevent):

$ sqlite_wsgi /path/to/db.db

然后访问 http://localhost:8080/ 即可查看数据库。

功能特性

  • 可与现有 SQLite 数据库配合使用,也可用于创建新数据库。
  • 支持添加或删除:
  • 列(支持旧版本 SQLite)
  • 索引
  • 导出数据为 JSON 或 CSV 格式。
  • 导入 JSON 或 CSV 文件。
  • 浏览表数据。
  • 插入、更新或删除行。
  • 运行时加载和卸载数据库(参见 --enable-load--enable-filesystem

截图

索引页显示数据库的基本信息,包括表和索引的数量以及磁盘大小:

structure 标签页显示表结构信息,包括列、索引、触发器和外键(如果存在)。从该页面还可以创建、重命名或删除列和索引。

列可以轻松添加、删除或重命名:

content 标签页显示所有表数据。表头中的链接可用于对数据进行排序:

query 标签页允许在表上执行任意 SQL 查询。查询结果以表格形式显示,并可导出为 JSON 或 CSV 格式:

import 标签页支持将 CSV 和 JSON 文件导入表中。可选择为导入文件中任何未识别的键自动创建列:

export 标签页支持导出全部或部分列:

支持基本的 INSERT、UPDATE 和 DELETE 查询:

配置 --enable-load--enable-filesystem 后,可以在运行时加载或卸载其他数据库:

命令行选项

调用 sqlite-web 的语法为:

$ sqlite_web [options] /path/to/database.db /path/to/another.db

可用选项如下:

  • -p, --port:默认值为 8080
  • -H, --host:默认值为 127.0.0.1
  • -d, --debug:默认值为 false
  • -l, --log-file:应用日志的文件名。
  • -q, --quiet:仅记录错误。
  • -b, --browser:sqlite-web 启动时打开 Web 浏览器。
  • -x, --no-browser:sqlite-web 启动时不打开 Web 浏览器。
  • -P, --password:提示输入访问 sqlite-web 的密码。或者,密码可存储在 "SQLITE_WEB_PASSWORD" 环境变量中,此时应用不会提示输入密码,而是使用环境变量中的值。
  • -r, --read-only:以只读模式打开数据库。
  • -R, --rows-per-page:设置内容页的分页,默认 50 行。
  • -Q, --query-rows-per-page:设置查询页的分页,默认 1000 行。
  • -T, --no-truncate:禁用长文本值的省略号。如果使用此选项,将始终显示完整文本值。
  • -B, --base64:BLOB 数据以 base64 格式显示(默认是十六进制)。
  • -e, --extension:可加载扩展的路径或名称。要加载多个扩展,请为每个扩展指定 -e [path]
  • -s, --startup-hook:用于在每个请求前初始化连接的启动钩子路径,例如 my.module.some_callable。应接受一个参数,即 SqliteDatabase 实例。
  • -f, --foreign-keys:启用外键约束 pragma。
  • -u, --url-prefix:应用的 URL 前缀,例如 "/sqlite-web"。
  • -L, --enable-load:允许在运行时加载其他数据库(仅上传)。要添加本地数据库,请使用 --enable-filesystem
  • -U, --upload-dir:上传数据库的目标目录(-L)。如果未指定,将使用系统临时目录。
  • -F, --enable-filesystem:允许通过在运行时指定磁盘路径来加载其他数据库。使用此选项时需谨慎
  • -c, --cert-k, --key - 指定 SSL 证书和私钥。
  • -a, --ad-hoc - 使用临时 SSL 上下文运行。

使用 Docker

sqlite-web 提供了 Dockerfile。使用方法如下:

#
# 使用 GitHub 容器仓库:
#

$ docker run -it --rm \
-p 8080:8080 \
-v /path/to/your-data:/data \
ghcr.io/coleifer/sqlite-web:latest \
db_filename.db

#
# 或自行构建镜像:
#

$ cd docker/ # 进入包含 Dockerfile 的目录
$ docker build -t coleifer/sqlite-web .
$ docker run -it --rm \
-p 8080:8080 \
-v /path/to/your-data:/data \
coleifer/sqlite-web
db_filename.db

通过 Docker 运行时可以传递命令行选项。例如,如果要在单独的 URL 前缀(如 /sqlite-web/)下运行:

$ docker run -it --rm \
-p 8080:8080 \
-v /path/to/your-data:/data \
ghcr.io/coleifer/sqlite-web:latest \
db_filename.db \
--url-prefix="/sqlite-web/"

高性能 WSGI 服务器

要使用高性能 gevent WSGI 服务器运行 sqlite-web,可以运行 sqlite_wsgi 而非 sqlite_web

$ sqlite_wsgi /path/to/db.db

更完整的示例:

$ sqlite_wsgi -p 8000 -H '0.0.0.0' /path/to/db1.db /path/to/db2.db

镜像拉取常见问题

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

镜像拉取问题咨询请 提交工单。官方公众号:源码跳动。官方技术交流群:51517718。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。