Photonix 照片管理器
这是一个基于网页技术的照片管理应用程序。将其运行在您的家用服务器上,它将允许您使用任何设备从您的照片集合中找到您想要的内容。智能过滤通过对象识别、位置感知、颜色分析和其他算法自动实现。
该项目目前正在开发中,还没有完成1.0版本的所有功能。如果您不介意遇到一些问题或者想要贡献一份力量,可以运行Docker镜像并试一试。我们非常欢迎来自其他贡献者的参与。
社区和社交
请加入讨论,并通过在社交媒体上关注我们来帮助我们提高知名度。非常感谢 :)
赞助
如果Photonix对您有用,或者您喜欢我们的发展方向,我们将非常感谢您考虑每月赞助我们。
安装和运行
最简单的运行方法是使用预构建的镜像和Docker Compose,按照以下步骤操作。
创建一个新目录并下载示例Docker Compose文件。
mkdir photonix
cd photonix
curl https://raw.githubusercontent.com/photonixapp/photonix/master/docker/docker-compose.example.yml > docker-compose.yml
为存储在容器外的数据创建卷目录。
mkdir -p data/photos
启动Docker Compose,它将拉取并运行所需的Docker镜像。
docker-compose up
启动后几秒钟,您应该能够在浏览器中访问http://localhost:8888/。
您需要创建一个用户名、密码和库。目前这需要在命令行中完成,所以在一个新的终端窗口中运行以下命令。将USERNAME
替换为您自己的用户名。
docker-compose run photonix python photonix/manage.py createsuperuser --username USERNAME --email example@example.com
docker-compose run photonix python photonix/manage.py create_library USERNAME "My Library"
您可以将一些照片移动到data/photos
文件夹中,它们应该会立即检测并导入。一旦您完成了系统的试用,可以编辑docker-compose.yml
文件中的卷配置,将其指向您通常存放照片的位置。系统数据库、缩略图和其他缓存数据与照片分开存储,因此不会污染照片存放区域。您需要自己负责备份,以防出现错误。
升级
如果您使用的是预构建的Docker镜像,可以使用以下命令终止、拉取并重新启动:
# Ctrl-C 终止
docker-compose pull
docker-compose up
开发
如果您想参与项目开发,可以使用Makefile
和独立的Docker Compose文件docker-compose.dev.yml
。检出代码库,这个设置将构建镜像、将代码作为卷挂载、热重载浏览器中的JS更改并在大多数更改时重载Python服务器。
git clone git@github.com:damianmoore/photonix.git
cd photonix
mkdir -p data/photos
make build
make start
如果您遇到Error starting userland proxy: listen tcp 0.0.0.0:5432: bind: address already in use
等错误,可能是因为您有一个现有的服务器(例如Postgres)在监听标准端口。通过编辑docker/docker-compose.dev.yml
并将'5432:5432'
改为'5433:5432'
等方式,可以更改Photonix服务使用的端口号。这适用于Postgres,也适用于Redis或web服务器端口。
如果您想访问Bash或Python shell进行开发,可以使用以下命令。
make shell
测试
PyTest 用作测试运行程序并创建夹具。最简单的运行方式是在Docker容器中运行:
make test