2018-09-07 12:46:49 +02:00
![PhotoPrism ](docs/img/logo.png )
2018-08-23 14:44:21 +02:00
2018-09-07 12:08:11 +02:00
[![Powered By ](https://img.shields.io/badge/powered%20by-Go,%20Google%20TensorFlow%20%26%20Vuetify-blue.svg )][powered by]
2018-09-07 12:06:09 +02:00
[![MIT License ](https://img.shields.io/badge/license-MIT-blue.svg )][license]
2018-02-27 19:46:50 +01:00
[![Code Quality ](https://goreportcard.com/badge/github.com/photoprism/photoprism )][code quality]
[![GitHub issues ](https://img.shields.io/github/issues/photoprism/photoprism.svg )][issues]
2018-09-07 12:06:09 +02:00
[![Build Status ](https://travis-ci.org/photoprism/photoprism.png?branch=master )][ci]
2018-02-27 19:46:50 +01:00
2018-09-07 11:53:46 +02:00
[powered by]: https://www.tensorflow.org/install/install_go
2018-09-07 12:06:09 +02:00
[license]: https://github.com/photoprism/photoprism/blob/master/LICENSE
2018-02-28 15:56:32 +01:00
[code quality]: https://goreportcard.com/report/github.com/photoprism/photoprism
2018-02-27 19:46:50 +01:00
[issues]: https://github.com/photoprism/photoprism/issues
2018-09-07 12:06:09 +02:00
[ci]: https://travis-ci.org/photoprism/photoprism
2018-02-27 19:46:50 +01:00
2018-09-07 12:37:24 +02:00
PhotoPrism is a server-based application for privately managing large amounts of JPEG and RAW files. It is functionally similar to popular cloud services such as [Flickr ](https://www.flickr.com/ ) or [Google Photos ](https://photos.google.com/ ).
2018-09-07 12:33:46 +02:00
Originals are stored in the file system in a structured way for easy backup and reliable long-term accessibility.
2018-02-27 19:46:50 +01:00
2018-09-07 12:33:46 +02:00
*Note: This software is still alpha and under active development. You're welcome to join our team.*
2018-08-23 14:44:21 +02:00
Our goal is to provide the following features (tested as a proof-of-concept):
- High-performance command line tool
- Web frontend
- No proprietary or binary data formats
- Duplicate detection
- Automated tagging using Google TensorFlow
2018-08-23 14:45:42 +02:00
- Reverse geocoding based on latitude and longitude
2018-08-23 14:44:21 +02:00
- Image search with powerful filters
- Easy backup and export
2018-09-07 16:05:22 +02:00
User Interface
--------------
2018-09-07 16:06:13 +02:00
The Web interface is based on [Vuetify ](https://vuetifyjs.com/en/ ), a [Material Design ](https://material.io/ ) component framework for Vue.js 2.
2018-09-07 16:05:22 +02:00
![](docs/img/search.png "Advanced Search")
2018-08-15 09:59:51 +02:00
2018-03-26 06:32:48 +02:00
Setup
-----
Before you start, make sure you got Git and Docker installed on your system.
Instead of using Docker, you can also setup your own runtime environment
2018-09-07 13:02:41 +02:00
based on the existing Docker configuration (not recommended).
2018-02-27 19:46:50 +01:00
2018-03-26 06:32:48 +02:00
**Step 1:** Run [Git ](https://getcomposer.org/ ) to clone this project:
2018-02-27 20:17:13 +01:00
2018-03-26 06:32:48 +02:00
```
git clone git@github.com:photoprism/photoprism.git
```
2018-02-28 10:04:24 +01:00
2018-03-26 06:32:48 +02:00
**Step 2:** Start [Docker ](https://www.docker.com/ ) containers:
2018-02-27 20:17:13 +01:00
2018-03-26 06:32:48 +02:00
```
cd photoprism
docker-compose up
```
2018-02-27 20:17:13 +01:00
2018-03-26 06:32:48 +02:00
*Note: This docker-compose configuration is for testing and development purposes only.*
2018-02-27 20:51:19 +01:00
2018-09-07 13:03:55 +02:00
**Step 3:** Open a terminal to run tests and commands:
2018-02-27 20:17:13 +01:00
```
2018-03-26 06:38:02 +02:00
docker-compose exec photoprism bash
2018-09-05 23:16:01 +02:00
make
make test
make install
2018-08-15 09:59:51 +02:00
go run cmd/photoprism/photoprism.go start
2018-02-27 20:17:13 +01:00
```
2018-09-07 13:02:41 +02:00
See [Quick and easy guide for migrating to Go 1.11 modules ](https://blog.liquidbytes.net/2018/09/quick-and-easy-guide-for-migrating-to-go-1-11-modules/ ) for an introduction to Go Modules and Makefiles.
2018-09-05 20:26:03 +02:00
2018-08-23 14:44:21 +02:00
Concept
-------
2018-03-26 06:32:48 +02:00
2018-07-27 17:31:39 +02:00
![](docs/img/concept.jpg)