Il s'agit d'une application de gestion de photos basée sur les technologies Web. Exécutez-le sur votre serveur domestique et vous permettra de trouver ce que vous voulez de votre collection de photos à l'aide de n'importe quel appareil. Le filtrage intelligent est rendu possible automatiquement par la reconnaissance des objets, la sensibilisation à l'emplacement, l'analyse des couleurs et d'autres algorithmes.
Ce projet est actuellement en développement et n'est pas encore complet pour une version 1.0. Si cela ne vous dérange pas de supporter des parties cassées ou si vous voulez aider, exécutez l'image Docker et essayez-le. J'adorerais que d'autres contributeurs s'impliquent.
Veuillez vous joindre à la discussion et nous aider à gagner la visibilité en nous suivant sur les réseaux sociaux. Très apprécié :)
Si vous obtenez de la valeur de Photonix ou comme où nous nous dirigeons, nous l'apprécierons vraiment si vous envisagez de nous parrainer mensuellement.
Le moyen le plus simple de l'exécuter est avec Docker Compose en utilisant l'image prédéfinie en suivant ces étapes.
Créez un nouveau répertoire pour s'exécuter à l'intérieur et téléchargez l'exemple de fichier docker compose.
mkdir photonix
cd photonix
curl https://raw.githubusercontent.com/photonixapp/photonix/master/docker/docker-compose.example.yml > docker-compose.yml
Faites des répertoires de volume pour les données stockées à l'extérieur du conteneur.
mkdir -p data/photos
Apportez Docker Compose qui tirera et exécutera les images Docker requises.
docker-compose up
Quelques secondes après le début, vous devriez pouvoir vous rendre sur http: // localhost: 8888 / dans votre navigateur.
Vous devrez créer un nom d'utilisateur, un mot de passe et une bibliothèque. À l'heure actuelle, cela doit être fait sur la ligne de commande, alors exécutez-le dans une nouvelle fenêtre de terminal. Remplacez USERNAME
par votre propre nom d'utilisateur.
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"
Vous pouvez déplacer quelques photos dans les data/photos
du dossier et elles doivent être détectées et importées immédiatement. Une fois que vous avez fini d'essayer le système, vous pouvez modifier le volume dans le fichier docker-compose.yml
où il dit ./data/photos
à monter partout où vous gardez habituellement des photos. La base de données système, les vignettes et autres données de cache sont stockées séparément des photos, donc ne devrait pas polluer la zone. Vous êtes responsable de garder vos propres sauvegardes en cas d'erreur.
Si vous utilisez l'image docker prédéfinie, vous pouvez utiliser Kill, tirer et faire reculer en utilisant les éléments suivants:
# Ctrl-C to kill
docker-compose pull
docker-compose up
Il y a un Makefile
et un docker séparé composer docker-compose.dev.yml
que vous devez utiliser si vous souhaitez travailler sur le projet. Consultez le dépôt et cette configuration créera l'image, montez le code sous forme de volumes, les modifications JS à hot-reload dans le navigateur et recharger le serveur Python pour la plupart des modifications.
git clone [email protected]:damianmoore/photonix.git
cd photonix
mkdir -p data/photos
make build
make start
Si vous obtenez des erreurs telles que Error starting userland proxy: listen tcp 0.0.0.0:5432: bind: address alerady in use
, vous avez probablement un serveur existant tel que Postgres écoutant sur le port standard. Vous pouvez modifier les services de Photonix pour utiliser des numéros de port alternatifs en modifiant docker/docker-compose.dev.yml
et en réglant '5432:5432'
pour être '5433:5432'
par exemple. Ceci est pour Postgres, mais est-ce une solution similaire pour Redis ou les ports de serveur Web.
Si vous souhaitez accéder aux coquilles bash ou python pour le développement, vous pouvez utiliser la commande suivante.
make shell
PyTest est utilisé comme coureur de test et pour créer des luminaires. La façon la plus simple d'exécuter les tests est dans le conteneur Docker comme ceci:
make test