Coder Social home page Coder Social logo

h9812 / librephotos Goto Github PK

View Code? Open in Web Editor NEW

This project forked from librephotos/librephotos

0.0 1.0 0.0 70.78 MB

Self hosted alternative to Google Photos

License: MIT License

Python 53.58% Lua 41.32% Shell 0.52% CSS 0.13% JavaScript 1.58% HTML 2.33% Makefile 0.04% Dockerfile 0.50%

librephotos's Introduction

Quality Gate Status Discord Website GitHub contributors

LibrePhotos

Screenshots

Live demo

Live demo available here. User is demo, password is demo1234.

Discord Server

https://discord.gg/xwRvtSDGWb

What is it?

  • LibrePhotos is a fork of Ownphotos
  • Self hosted Google Photos clone, with a slight focus on cool graphs
  • Django backend & React frontend.

Contributions

  • Librephotos is in development. Contributions are welcome!
  • Join our discord server or open a pull request to start contributing
  • We are looking for developers who want to port LibrePhotos to ARM

Currently the project is in very early stages, some bugs may exist. If you find any please log an issue

Features

- Currently implemented:

  • Label some faces manually, and train a face classifier to label the rest.
  • View photos by people in them.
  • Automatically generate "event" albums like "Thursday in Berlin"
  • See photos on the map
  • Backend caching
  • View photos grouped by date
  • "Optimized" frontend
  • Detect objects in photos, and make them searchable by objects
  • Search photos by the location
  • Authentication (using JWT)
  • Create custom albums
  • Docker ready

- Upcoming

  • Short term:

    • Share photos/albums
    • Stability
  • Longer term, i.e. haven't thought much about them

    • Basic photo editing, like rotation
    • Tag undetected face
    • Add cool graphs

What does it use?

  • Face detection: face_recognition
  • Face classification/clusterization: scikit-learn
  • Object detection: densecap, places365
  • Reverse geocoding: Mapbox: You need to have an API key. First 50,000 geocode lookups are free every month.

How do I run it?

Compatibility

You need a x86 processor and it is recommended to have 8GBs of RAM. It does not work on ARM processors. That also means that it won't run on a raspberry pi.

Size

You will need at least 10 GB of HDD Space for the docker images. It needs that space because of the machine learning models. Librephotos will also create a database and thumbnails which will need additional space.

Docker

LibrePhotos comes with separate backend and frontend servers. The backend serves the restful API, and the frontend serves, well, the frontend. They are connected via a proxy. The easiest way to do it is using Docker.

Docker-compose method (Recommended)

wget https://raw.githubusercontent.com/LibrePhotos/librephotos/dev/docker-compose.yml.template
cp docker-compose.yml.template docker-compose.yml

Open docker-compose.yml in your favorite text editor and make changes in the lines with # CHANGE ME

docker-compose up -d

You should have librephotos accessible after a few minutes of bootup on: localhost:3000 User is demo, password is demo1234 unless you chaged it in the docker-compose.yml. It is recomended you change the admin username and password if Libre Photos is going to be publicly accessible via the docker-compose.yml file.

First steps after setting up

You need to log in as the admin user, and set up the directory for the users. To do this, click the top right button, and go to "Admin Area". On this page, it will show a list of users, and manually set the "Scan Directory" for the desired user. Only an admin can do this. And then you can go to Dashboard - Library and click the Green "Scan photos (file system)" button. If you have a Nextcloud instance, you can also input this in the Dashboard-Library page. Once logged in (the little circle next to "Nextcloud Scan Directory will be green), you can choose a top level directory in your logged in Nextcloud account. Once this works, you can click the blue "Scan photos (Nextcloud)". The backend system will copy the contents of the Nextcloud directory you specified.

The basic idea is this:

  • For scaning photos that reside in the local file system
    • Only the admin user can change the "scan directory" of the users, including the admin itself.
    • Normal users cannot change his/her own "scan directory"
    • Only the admin can find the page to control this under the "user icon (top right) - admin area"
  • For scaning photos that reside in external Nextcloud instances
    • Any user can change his/her own Nextcloud endpoint, and choose a top level directory in the Nextcloud account.

librephotos's People

Contributors

derneuere avatar guysoft avatar dependabot[bot] avatar vividboarder avatar aka-rammi avatar lologhi avatar grumpymeow avatar arthurdk avatar jricks92 avatar marval avatar tecknicaltom avatar

Watchers

James Cloos 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.