All Projects → damianmoore → Photonix

damianmoore / Photonix

Licence: agpl-3.0
This is a new web-based photo management application. Run it on your home server and it will let you find the right photo from your collection on any device. Smart filtering is made possible by object recognition, location awareness, color analysis and other ML algorithms.

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Photonix

Ownphotos
Self hosted alternative to Google Photos
Stars: ✭ 2,587 (+336.99%)
Mutual labels:  object-detection, django, gallery
Ffdl
Fabric for Deep Learning (FfDL, pronounced fiddle) is a Deep Learning Platform offering TensorFlow, Caffe, PyTorch etc. as a Service on Kubernetes
Stars: ✭ 640 (+8.11%)
Mutual labels:  ai, storage, ml
meiupic
简洁好用的多用户图片社区。
Stars: ✭ 165 (-72.13%)
Mutual labels:  gallery, photography, photo
Image classifier
CNN image classifier implemented in Keras Notebook 🖼️.
Stars: ✭ 139 (-76.52%)
Mutual labels:  ai, ml, image-recognition
Photoview
Photo gallery for self-hosted personal servers
Stars: ✭ 553 (-6.59%)
Mutual labels:  photo, photography, gallery
Zing Gallery
基于node.js的web相册,让摄影照片的展示更加简单 Web albums based on node.js, more simple to show photography photos
Stars: ✭ 401 (-32.26%)
Mutual labels:  photography, gallery
Kglib
Grakn Knowledge Graph Library (ML R&D)
Stars: ✭ 405 (-31.59%)
Mutual labels:  ai, ml
Imagestore
Open source google photos alternative!
Stars: ✭ 429 (-27.53%)
Mutual labels:  storage, photo
Mediabrowser
🏞 A simple iOS photo and video browser with optional grid view, captions and selections written in Swift5.0
Stars: ✭ 579 (-2.2%)
Mutual labels:  photo, gallery
Csinva.github.io
Slides, paper notes, class notes, blog posts, and research on ML 📉, statistics 📊, and AI 🤖.
Stars: ✭ 342 (-42.23%)
Mutual labels:  ai, ml
Metaflow
🚀 Build and manage real-life data science projects with ease!
Stars: ✭ 5,108 (+762.84%)
Mutual labels:  ai, ml
Myvision
Computer vision based ML training data generation tool 🚀
Stars: ✭ 453 (-23.48%)
Mutual labels:  object-detection, ml
Ptshowcaseviewcontroller
An initial implementation of a "showcase" view( controller) for iOS apps... Visualizes images, videos and PDF files beautifully! (by @pittleorg) [meta: image, photo, video, document, pdf, album, gallery, showcase, gallery, iOS, iPhone, iPad, component, library, viewer]
Stars: ✭ 395 (-33.28%)
Mutual labels:  photo, gallery
Differentiable Plasticity
Implementations of the algorithms described in Differentiable plasticity: training plastic networks with gradient descent, a research paper from Uber AI Labs.
Stars: ✭ 371 (-37.33%)
Mutual labels:  ai, ml
Resizer
An image resizing library for Android
Stars: ✭ 406 (-31.42%)
Mutual labels:  photo, photography
Max Image Resolution Enhancer
Upscale an image by a factor of 4, while generating photo-realistic details.
Stars: ✭ 361 (-39.02%)
Mutual labels:  ai, docker-image
Ssd.pytorch
A PyTorch Implementation of Single Shot MultiBox Detector
Stars: ✭ 4,499 (+659.97%)
Mutual labels:  object-detection, image-recognition
Fastocloud
Self-hosted IPTV/NVR/CCTV/Video service (Community version)
Stars: ✭ 464 (-21.62%)
Mutual labels:  ai, ml
Awesome Mlops
A curated list of references for MLOps
Stars: ✭ 7,119 (+1102.53%)
Mutual labels:  ai, ml
Thumbsup
Generate static HTML photo / video galleries
Stars: ✭ 493 (-16.72%)
Mutual labels:  photography, gallery

Photonix Photo Manager

This is a photo management application based on web technologies. Run it on your home server and it will let you find what you want from your photo collection using any device. Smart filtering is made possible automatically by object recognition, location awareness, color analysis and other algorithms.

Screenshot of photo list view

This project is currently in development and not feature complete for a version 1.0 yet. If you don't mind putting up with broken parts or want to help out, run the Docker image and give it a go. I'd love for other contributors to get involved.

Community and Social

Please join in the discussion and help us gain visibility by following us on social media. Much appreciated :)

Installing & Running

The easiest way to run it is with Docker Compose using the pre-built image following these steps.

Create a new directory to run inside and download the example Docker Compose file.

mkdir photonix
cd photonix
curl https://raw.githubusercontent.com/damianmoore/photonix/master/docker/docker-compose.example.yml > docker-compose.yml

Make volume directories for data stored outside the container.

mkdir -p  data/photos

Bring up Docker Compose which will pull and run the required Docker images.

docker-compose up

A few seconds after starting you should be able to go to http://localhost:8888/ in your browser.

You'll need to create a username, password and library. Right now this needs to be done on the command-line so run this in a new terminal window. Replace USERNAME with your own username.

docker-compose run photonix python photonix/manage.py createsuperuser --username USERNAME --email [email protected]
docker-compose run photonix python photonix/manage.py create_library USERNAME "My Library"

You can move some photos into the folder data/photos and they should get detected and imported immediately. Once you have finished trying out the system you can edit the volume in the docker-compose.yml file where it says ./data/photos to mount wherever you usually keep photos. System database, thumbnails and other cache data is stored separately from the photos so shouldn't pollute the area. You are responsible for keeping your own backups in case of error.

Upgrading

If you are using the pre-built Docker image you can use kill, pull and bring back up using the following:

# Ctrl-C to kill
docker-compose pull
docker-compose up

Developing

There is a Makefile and separate Docker Compose file docker-compose.dev.yml that you should use if you want to work on the project. Check out the repo and this setup will build the image, mount the code as volumes, hot-reload JS changes to the browser and reload the Python server for most changes.

git clone [email protected]:damianmoore/photonix.git
cd photonix
mkdir -p  data/photos
make build
make start

If you get errors such as Error starting userland proxy: listen tcp 0.0.0.0:5432: bind: address alerady in use then you probably have an existing server such as Postgres listening on the standard port. You can change Photonix's services to use alternative port numbers by editing docker/docker-compose.dev.yml and setting '5432:5432' to be '5433:5432' for example. This is for Postgres but is it a similar solution for Redis or the webserver ports.

If you want to access the Bash or Python shells for development, you can use the following command.

make shell

Testing

PyTest is used as a test runner and for creating fixtures. The easiest way to run the tests is within the Docker container like this:

make test
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].