数字时代的记忆保管库:在Docker上启动你的Shoebox项目

数字时代的记忆保管库:在Docker上启动你的Shoebox项目

2025-07-29 00:25:26 3点赞 3收藏 0评论

数字时代的记忆保管库:在Docker上启动你的Shoebox项目

一、Shoebox介绍

1.1 Shoebox简介

Shoebox 是一个数字记忆管理工具,灵感来源于人们过去用鞋盒保存珍贵回忆的方式,帮助用户以结构化和安全的方式组织、存储视频,避免在云平台中遗失。

1.2 主要特点

  • 视频组织: 提供高效方式对视频进行分类与管理,便于日后查找与使用。

  • 视频导出: 支持将原始视频导出至指定路径,方便后续编辑与备份。

  • 记忆保存: 以时间线或主题形式结构化存储视频片段,便于回顾与创意再利用。

  • 用户友好界面: 简洁直观的交互设计,提升用户的操作体验。

  • 高效媒体处理: 基于 FFmpeg 实现快速且稳定的视频转码与处理功能。

  • 现代技术栈支持: 后端采用 Rust + Axum,前端基于 React + TypeScript,支持 SQLite/PostgreSQL 数据库,并具备 Docker/Kubernetes 部署能力。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为Ubuntu 22.04.1。

数字时代的记忆保管库:在Docker上启动你的Shoebox项目

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎; 2.在Docker环境下部署Shoebox数字记忆保存箱。

2.3 注意事项

⚠️ 注意事项

  • 项目仍处于活跃开发阶段:Shoebox 目前仍在积极开发中,尚未达到生产环境的稳定性与安全性要求,功能和数据模型可能会发生变更。

  • 可能存在影响数据的风险:在使用过程中有可能出现导致媒体文件损坏或数据丢失的问题,请务必定期备份您的原始视频和关键数据。

  • 自行承担使用风险:建议仅在测试或个人环境中部署使用,不推荐用于重要生产场景或商业用途,除非你已充分了解并接受潜在风险。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

root@jeven01:~# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2025-06-11 12:57:12 UTC; 1 week 0 days ago TriggeredBy: ● docker.socket Main PID: 848 (dockerd) Tasks: 83 Memory: 3.2G CPU: 29min 49.224s CGroup: /system.slice/docker.service ├─ 848 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

检查Docker版本

root@jeven01:~# docker -v Docker version 27.1.1, build 6312585

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

root@jeven01:~# docker compose version Docker Compose version v2.19.1

四、拉取Shoebox镜像

拉取Shoebox镜像,原镜像为ghcr.io/slackspace-io/shoebox:sha-9f05da53931ad6fa4f5b7f1d9b447ca65dec3e8b,如果拉取缓慢或失败,可尝试拉取swr.cn-north-4.myhuaweicloud.com/jeven/shoebox:latest镜像。

root@jeven01:~# docker pull swr.cn-north-4.myhuaweicloud.com/jeven/shoebox:latest latest: Pulling from jeven/shoebox Digest: sha256:29b82b098906c818c49dc2da6005656297e4e121e25e201148eaea40164d738d Status: Image is up to date for swr.cn-north-4.myhuaweicloud.com/jeven/shoebox:latest swr.cn-north-4.myhuaweicloud.com/jeven/shoebox:latest

五、部署Shoebox容器

5.1 创建部署目录

  • 创建部署目录

mkdir -p /data/shoebox && cd /data/shoebox

5.2 编辑部署文件

在`部署目录下,创建docker-compose.yaml文件,如下所示:

vim docker-compose.yaml

version: '3' services: app: image: swr.cn-north-4.myhuaweicloud.com/jeven/shoebox:latest container_name: shoebox restart: always ports: - "7200:3000" volumes: # Mount media source directories (read-only) - ./videos:/mnt/videos:ro # Mount export directory (read-write) - ./exports:/app/exports # Mount data directory for persistence - ./data:/app/data # Mount thumbnails directory for persistence - ./thumbnails:/app/thumbnails environment: - SERVER_HOST=0.0.0.0 - SERVER_PORT=3000 - DATABASE_URL=sqlite:/app/data/videos.db - MEDIA_SOURCE_PATHS=/mnt/videos - THUMBNAIL_PATH=/app/thumbnails - EXPORT_BASE_PATH=/app/exports - RUST_LOG=info

🛠️ 环境变量说明

数字时代的记忆保管库:在Docker上启动你的Shoebox项目

📁 目录映射建议(对应 volumes 配置)

数字时代的记忆保管库:在Docker上启动你的Shoebox项目

5.3 创建Shoebox容器

执行以下命令,创建Shoebox容器。

docker compose up -d数字时代的记忆保管库:在Docker上启动你的Shoebox项目

5.4 查看Shoebox容器状态

检查Shoebox容器运行状态,确保Shoebox容器正常启动。

root@jeven01:/data/tillywork# docker compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS tillywork-db-1 postgres:16.3-bullseye "docker-entrypoint.s…" db 2 minutes ago Up 2 minutes 5432/tcp tillywork-redis-1 redis:7.2.5-alpine "docker-entrypoint.s…" redis 2 minutes ago Up 2 minutes 6379/tcp tillywork-tillywork-1 tillywork/tillywork:latest "/docker-entrypoint.…" tillywork 2 minutes ago Up 2 minutes 0.0.0.0:8110->80/tcp, :::8110->80/tcp, 0.0.0.0:3600->3000/tcp, :::3600->3000/tcp

六、访问Shoebox服务

浏览器地址: http://<个人的服务器IP>:7200,访问Shoebox的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

数字时代的记忆保管库:在Docker上启动你的Shoebox项目

七、Shoebox基本使用

7.1 上传文件

在宿主机/data/shoebox/videos挂载目录下,上传视频文件。

root@jeven01:/data/shoebox/videos# pwd /data/shoebox/videos root@jeven01:/data/shoebox/videos# ll total 3336 drwxr-xr-x 2 root root 4096 Jun 18 15:00 ./ drwxr-xr-x 6 root root 4096 Jun 18 14:52 ../ -rw-r--r-- 1 root root 3406789 Jun 18 15:00 test.mp4

7.2 扫描视频目录

点击点“Scan Directories ”扫描视频目录,如下所示:

数字时代的记忆保管库:在Docker上启动你的Shoebox项目

可以看到已经扫描出视频文件,并且显示视频的缩略图。

数字时代的记忆保管库:在Docker上启动你的Shoebox项目

八、总结

通过 Docker 部署 Shoebox,可以快速搭建一个高效、稳定的数字记忆管理平台,充分利用其现代化技术栈和强大功能来整理和保存珍贵视频资料。合理的环境变量配置与目录挂载策略确保了数据的持久化与安全性,同时便于后续维护和扩展。此次部署实战验证了 Shoebox 在容器化环境中的良好兼容性与实用性,为个人或团队提供了一种便捷的视频记忆存档解决方案。


作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
3
扫一下,分享更方便,购买更轻松