什么是 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