Coder Social home page Coder Social logo

etnguyen03 / photomanager Goto Github PK

View Code? Open in Web Editor NEW
61.0 1.0 1.0 620 KB

Self hosted Google Photos alternative

License: GNU Affero General Public License v3.0

Python 76.55% Shell 0.93% HTML 22.03% JavaScript 0.24% Dockerfile 0.25%
google-photos django python tensorflow self-hosted keras

photomanager's Introduction

photomanager

Because fuck Google Photos.

CI Codacy Badge Codacy Badge GitHub stars GitHub license

NOTE: Definitely not ready for any production usage. My goal is to be somewhat close to production ready by the time that Google Photos goes non-free (currently set for July 2021) but that might be missed.

photomanager is an effort to clone as many features of Google Photos as possible in a high-quality manner, while still remaining free, open-source software accessible to all.

The goals include:

  • Per-user authentication
  • Nextcloud integration, perhaps with a simple read-only mount
    • Easier to auto-upload - app already exists
  • Tensorflow NASNet for autotagging images
  • face-recognition for face recognition

For further information on deployment and development, see the Wiki (here).


This project is definitely not endorsed by Google, Alphabet Inc., or anyone else affiliated with Google Photos.

Copyright (c) 2020 Ethan Nguyen and contributors. All rights reserved.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.

photomanager's People

Contributors

etnguyen03 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

kohfuchs

photomanager's Issues

Error Mapping Secret.py

# Read the Wiki on Github for configuration instructions
# before running `docker-compose up -d`.

version: "3"
services:
  redis:
    image: redis:alpine
    expose:
      - "6379"

  postgres:
    image: postgres:13-alpine
    volumes:
      - photomanager-db:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: photomanager
      # Supply a password before you deploy
      POSTGRES_PASSWORD: "[redacted]"
    expose:
      - "5432"

  photomanager-celerybeat:
    image: etnguyen03/photomanager
    build:
      context: .
      dockerfile: Dockerfile
    command: celerybeat
    volumes:
      - ./photomanager/settings/secret.py:/app/photomanager/settings/secret.py
      # Change the source of the mount below to your Nextcloud data folder.
      # This is typically /var/www/nextcloud/data
      # For instance, change the line below to "- /var/www/nextcloud/data:/data
      - /mnt/storage/DockerContainerStorage/nextcloud/data:/data:ro
      # Change the source of the mount below to a place to store thumbnails.
      # You don't have to, though.
      - photomanager-thumbs:/thumbs
    depends_on:
      - redis
      - postgres

volumes:
  photomanager-db:
  photomanager-photos:
  photomanager-thumbs:

After running docker-compose up -d, it errors out with:

ERROR: Service 'photomanager-celerybeat' failed to build: cannot mount volume over existing file, file exists /var/lib/docker/overlay2/f1ffad672525ab54b233c2f1b259e93cb44d04ccbd642cef5de646e26301d805/merged/app/photomanager/settings/secret.py

Stuck "Installing Dependencies from Pipfile.lock"

Went through all of the setup and was able to get a Nextcloud instance up and running, but after running docker-compose up -d, my CLI sits on Installing dependencies from Pipfile.lock (df1fc6...)

I've tried cancelling the operation and running docker-compose up -d again, but it gets stuck in the same place

Roadmap

  • Nextcloud integration
    • Reading files from a read-only mount of the Nextcloud data directory
    • Monitoring this data directory for changes
  • Reading image metadata and storing it somewhere (Postgres DB?)
    • Automatic import of metadata from Google Photos exports (or other formats)
  • Album creation
    • Automatically by geolocation?
  • Face recognition
  • Item detection
  • A nice UI

Just putting this out here for planning purposes.

Authenticating With NextCloud Not Working

First off, I'm really sorry about all the tickets hahaha

I've got PhotoManager up and running now, but I can't authenticate with Nextcloud. I'm running the official Nextcloud docker-compose setup, YAML can be seen here: https://ghostbin.co/paste/fyk55ra

When first trying to connect PhotoManager with Nextcloud, it would spin endlessly and show this error in the Developer Console:

grant:1 Refused to send form data to 'http://nextcloud.[domain].me/login/flow' because it violates the following Content Security Policy directive: "form-action 'self' https://photos.[domain].me".

After some Googling, I saw that it was an error with Nextcloud serving everything over HTTP, and found a solution here: nextcloud/docker#264

After modifying/adding the two lines mentioned in the solution, I stopped receiving the error mentioned above.
Now though, after I press "Grant Access", it redirects back to PhotoManager and still reports that I'm not authenticated

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.