
什么是 sqlite-web ?
sqlite-web是一个用Python编写的基于Web的SQLite数据库浏览器。
软件特点:
- 可与您现有的
SQLite数据库配合使用,也可用于创建新数据库。 - 添加或删除:
- 表格
- 列(支持旧版本的
SQLite) - 索引
- 将数据导出为
JSON或CSV。 - 导入
JSON或CSV文件。 - 浏览表数据。
- 插入、更新或删除行。
安装
在群晖上以 Docker 方式安装。
因为要挂载
SQLite的数据库文件,所以用docker cli运行可能更适合。当容器停止时,容器会被自动删除,这是图形化安装做不到的。
在注册表中搜索 sqlite-web ,选择第一个 coleifer/sqlite-web,只有一个 latest 版本,所以双击直接下载。

卷
在 docker 文件夹中,创建一个新文件夹 sqlite-web,并在其中建一个子文件夹 data
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/sqlite-web/data | /data | 存放数据库文件 |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
| 本地端口 | 容器端口 |
|---|---|
3440 | 8080 |

环境
| 可变 | 值 |
|---|---|
SQLITE_DATABASE | 需要挂载的 SQLite 数据库文件名 |
老苏用来测试的是 homebox 的数据库,数据库文件需要放入到 data 目录

所以环境变量设置如下

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
# 新建文件夹 sqlite-web 和子目录
mkdir -p /volume1/docker/sqlite-web/data
# 进入 sqlite-web 目录
cd /volume1/docker/sqlite-web
# 将 homebox.db 放入 data 目录
# 运行容器
docker run -it --rm \
--restart unless-stopped \
--name sqlite-web \
-p 3440:8080 \
-v $(pwd)/data:/data \
-e SQLITE_DATABASE=homebox.db \
coleifer/sqlite-web
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
version: '3'
services:
sqlite-web:
image: coleifer/sqlite-web
container_name: sqlite-web
restart: unless-stopped
ports:
- 3440:8080
volumes:
- ./data:/data
environment:
- SQLITE_DATABASE=homebox.db
然后执行下面的命令
# 新建文件夹 sqlite-web 和子目录
mkdir -p /volume1/docker/sqlite-web/data
# 进入 sqlite-web 目录
cd /volume1/docker/sqlite-web
# 将 docker-compose.yml 放入当前目录
# 将 homebox.db 放入 data 目录
# 一键启动
docker-compose up -d
【注意事项】:只有当使用
docker-compose down命令停止服务时会自动删除容器,而不会在使用docker-compose stop命令停止服务时立即删除容器。

运行
在浏览器中输入 http://群晖IP:3440 就能看到主界面,显示了有关数据库的一些基本信息,包括表和索引的数量以及其在磁盘上的大小

Structure 选项卡显示有关表结构的信息,包括列、索引、触发器和外键(如果存在)。在此页面中,您还可以创建、重命名或删除列和索引。

Content 选项卡显示所有表数据。表头中的链接可用于对数据进行排序

Query 选项卡允许您对表执行任意 SQL 查询。查询结果显示在表格中,并可以导出为 JSON 或 CSV

Import选项卡支持将 CSV 和 JSON 文件导入表中。有一个选项可以自动为导入文件中任何无法识别的键创建列

参考文档
coleifer/sqlite-web: Web-based SQLite database browser written in Python
地址:https://github.com/coleifer/sqlite-web



















