GithubHelp home page GithubHelp logo

vimdude / photonix Goto Github PK

View Code? Open in Web Editor NEW

This project forked from photonixapp/photonix

0.0 0.0 0.0 1.66 MB

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.

Home Page: https://photonix.org/

License: GNU Affero General Public License v3.0

Python 63.36% JavaScript 30.89% HTML 0.24% CSS 4.70% Shell 0.30% Dockerfile 0.50%

photonix's Introduction

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.

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-compose.example.yml > docker-compose.yml

Make volume directories for data stored outside the container.

mkdir data
mkdir 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 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 separate Docker Compose file docker-compose.dev.yml that you should run 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
docker-compose -f docker-compose.dev.yml build
docker-compose -f docker-compose.dev.yml up

If you want to access the Bash or Python shells for development, you can use the following helper scripts:

./docker_shell.sh  # Gets you into the running container
./docker_manage.sh  # Gets you into the Django/Python 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:

./docker_shell.sh
cd photonix
python test.py

photonix's People

Contributors

damianmoore avatar dependabot[bot] avatar bobobo1618 avatar kennylevinsen avatar lukedeaves avatar flaviut avatar whisprin avatar yofab avatar cclauss avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.