上次分享了个人助理工具箱后,趁周末把之前做的单机版相册重构成了多用户版。
为什么做这个?
以前一家人出去玩,照片视频全扔微信群里,又乱又压画质,想找原图得翻几个G的聊天记录。市面上的云相册要么收费要么有广告,干脆自己写了一个,直接部署在 NAS 上,足够轻量,全家人用浏览器就能传。
核心特点:
- 多用户隔离:管理员在后台创建账号,每人独立文件夹,互不干扰。
- 上传体验:支持多选照片和视频,有进度条,上传后自动用 ffmpeg 生成视频缩略图,列表不会黑乎乎一片。
- 丝滑预览:点开任意文件后,手机端支持左右滑动翻看,电脑端支持键盘方向键,照片和视频混在一起也能连续浏览。
- 防滥用设计:普通用户没有打包下载权限,避免一个人把服务器内存跑满。只有管理员可以在后台按需下载任意用户的文件夹(生成 ZIP)。
- 极简风格:整个界面只有文件夹、图片和右下角一个加号按钮,没有多余的东西。
- PWA 支持:手机浏览器打开,添加到桌面,体验和 App 差不多。
技术栈
- 后端:Python Flask + Flask-Login
- 数据库:SQLite(用户和文件都在本地)
- 视频缩略图:FFmpeg
- 部署:Docker / Docker Compose,已推送阿里云容器镜像
快速部署
# 【飞牛云】进入 Docker 目录
cd /vol1/1000/docker
# 从 Gitee 克隆项目代码
git clone https://gitee.com/DAFILI/simple-gallery-v2
# 进入相册目录
cd simple-gallery-v2
# 设置默认管理员密码(替换成你自己的强密码)
echo "DEFAULT_PASS=你的强密码" > .env
# 设置 Session 加密密钥(替换成你自己的随机字符串)
echo "SECRET_KEY=你的随机密钥" >> .env
# 拉取镜像并启动容器
sudo docker compose up -d
默认管理员账号 admin,密码是你设置的 DEFAULT_PASS。
截图和代码





后续计划
- 加一个简单的"一键换封面"功能
- 考虑支持后端压缩图片,节省 NAS 空间
感兴趣的老哥可以试试,有什么建议或者 bug 直接提 issue,轻喷哈。