cmd/photoprism | ||
docs/img | ||
frontend | ||
recognize | ||
server | ||
testdata | ||
.dockerignore | ||
.gitignore | ||
.travis.yml | ||
album.go | ||
browse.go | ||
camera.go | ||
CHANGELOG.md | ||
config.example.yml | ||
config.go | ||
config_test.go | ||
converter.go | ||
converter_test.go | ||
docker-compose.travis.yml | ||
docker-compose.yml | ||
Dockerfile | ||
export.go | ||
file.go | ||
go.mod | ||
go.sum | ||
importer.go | ||
importer_test.go | ||
indexer.go | ||
LICENSE | ||
location.go | ||
Makefile | ||
mediafile.go | ||
mediafile_exif.go | ||
mediafile_exif_test.go | ||
mediafile_test.go | ||
photo.go | ||
query.go | ||
README.md | ||
tag.go | ||
thumbnails.go | ||
thumbnails_test.go | ||
util.go | ||
util_test.go |
A free tool for importing, indexing and searching large amounts of JPEG and RAW files
Originals, thumbnails and metadata are stored in the file system for easy backup and reliable long-term accessibility.
This software is still alpha and under active development. You're welcome to join our team.
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
- Reverse geocoding based on latitude and longitude
- Image search with powerful filters
- Easy backup and export
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 based on the existing Docker configuration.
Step 1: Run Git to clone this project:
git clone git@github.com:photoprism/photoprism.git
Step 2: Start Docker containers:
cd photoprism
docker-compose up
Note: This docker-compose configuration is for testing and development purposes only.
Step 3: Open a terminal to run tests and commands (see Makefile):
docker-compose exec photoprism bash
make
make test
make install
go run cmd/photoprism/photoprism.go start
This project uses modules and requires Go 1.11 or later. See https://github.com/golang/go/wiki/Modules for more information.