Sheetable:Docker 部署自托管乐谱库
本文属于「自托管 Docker 部署实战」系列(共 35 篇),第 25 篇。 示例中的 IP(192.0.2.10)、域名(example.com)、密码均为占位符,请按实际环境替换。
它是什么
自托管乐谱管理工具,支持 PDF/图片乐谱、歌单、多设备浏览,SQLite 存储。
前置条件
- 一台 Linux 服务器(1C1G 起步;Java 类应用建议 2C4G 以上);
- 已安装 Docker 与 Compose v2,执行
docker compose version有版本号输出; - 所有示例里的 IP / 域名 / 密码都是占位符,实际部署请替换成自己的。
# 安装 Docker(已安装可跳过)
curl -fsSL https://get.docker.com | sh
# 目录约定:一个服务一个目录,后文的 ./data 均指栈目录内
mkdir -p /srv/docker/active/<stack> && cd /srv/docker/active/<stack>
镜像地址
vallezw/sheetable:latest
目录结构
/srv/docker/active/sheetable/
├── docker-compose.yml
└── config/ # sqlite 数据库 + 乐谱目录
部署步骤
# docker-compose.yml
services:
sheetable:
image: vallezw/sheetable:latest
container_name: sheetable
restart: unless-stopped
ports:
- "8585:8080" # 容器内固定 8080
volumes:
- ./config:/app/config
environment:
- DB_DRIVER=sqlite
docker compose up -d
# 访问 http://<SERVER_IP>:8585
关键配置
- 容器内端口是 8080,不是 8585,别映射错;
- 数据在
/app/config(SQLite + 乐谱文件),备份这一个目录就够; - 乐谱建议按「歌手/专辑」建目录再批量导入。
注意事项
- 图片乐谱体积大,注意磁盘;
- 没有账号体系(或很弱),只在内网/加反代认证;
- 升级前备份
config/,SQLite 存在 schema 迁移。
备份与升级
# 数据库与乐谱都在 config/
docker compose stop
tar czf "sheetable-$(date +%F).tar.gz" ./config
docker compose start
# 升级
docker compose pull
docker compose up -d
- SQLite 在运行中直接打包可能不一致,先停容器再备份;
- 乐谱文件体积大,定期检查磁盘。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果