dmlogic / photo-indexer
从Google Photos账户查找相册并下载到本地存储
v2.0.2
2022-05-19 08:49 UTC
Requires
- php: ^8.0
- google/apiclient: ^2.12
- google/photos-library: ^1.7
- intervention/image: ^2.7
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.3
- laravel/framework: ^9.11
- phpstan/phpstan: ^1.2
This package is auto-updated.
Last update: 2024-09-12 19:36:13 UTC
README
一个Laravel包,提供控制台命令来维护Google Photos账户的本地副本。还提供了设置OAuth访问的端点,通过几个localhost路由。
这可以作为备份,同时通过使用幻灯片工具,在您的电视或相框上实现随机轮播显示。
索引器只关注您放入相册中的照片。目的是您必须将图像标记为“足够特殊”才能复制下来。这样就不会包含同步的随机手机拍摄照片。
安装
作为一个包,这需要一个主机Laravel应用。我真的很讨厌将laravel/laravel作为一个容器来处理我的代码,因此有一个构建脚本来快速从基于最新Laravel骨架的运行中的应用程序中消耗这个包。这使代码库保持清洁,并在升级时极大地简化了生活。
- 创建合适的主机硬件和操作系统。一个带大存储卡的树莓派是完美的
- 克隆此仓库
- 将
.env.template
复制到.env
并根据需要调整 - 尤其是照片存储的完整路径(这应该完全独立于此代码) - 设置App的OAuth访问权限,并将凭据下载到此文件夹中的
credentials.json
- 运行
./build.sh
- 进入
build
目录并运行php artisan serve
- 在浏览器中访问
http://127.0.0.1/oauth/start
并完成OAuth过程 - 设置一个CRON命令以每日索引。例如,
0 1 * * * cd /full/path/to/project/build && php artisan photos:index
升级和维护
只要您不破坏数据,您可以基本上遵循上述步骤。推荐流程
- 将
database/database.sqlite
复制到安全的地方 - 如果您的照片存储不在构建的应用程序之外,请将其复制到安全的地方
- 删除构建的应用程序
- 完成安装步骤
- 如有必要,将
database/database.sqlite
和您的照片复制回来
许可
此代码是开源软件,根据MIT许可证授权。