![Screenshot](appinfo/screenshot.jpg)
# Memories: Photo Management for Nextcloud
![GitHub](https://img.shields.io/github/license/pulsejet/memories)
[![e2e](https://github.com/pulsejet/memories/actions/workflows/e2e.yaml/badge.svg)](https://github.com/pulsejet/memories/actions/workflows/e2e.yaml)
[![Demo](https://img.shields.io/badge/demo-online-blue)](https://memories-demo.radialapps.com/apps/memories/)
[![Gitter](https://img.shields.io/gitter/room/pulsejet/memories)](https://gitter.im/pulsejet/memories)
[![GitHub issues](https://img.shields.io/github/issues/pulsejet/memories)](https://github.com/pulsejet/memories/issues)
[![GitHub Sponsor](https://img.shields.io/github/sponsors/pulsejet?logo=GitHub)](https://github.com/sponsors/pulsejet)
Memories is a _batteries-included_ photo management solution for Nextcloud with advanced features including:
- **πΈ Timeline**: Sort photos and videos by date taken, parsed from Exif data.
- **βͺ Rewind**: Jump to any time in the past instantly and relive your memories.
- **π€ AI Tagging**: Group photos by people and objects, powered by [recognize](https://github.com/nextcloud/recognize) and [facerecognition](https://github.com/matiasdelellis/facerecognition).
- **πΌοΈ Albums**: Create albums to group photos and videos together. Then share these albums with others.
- **π«±π»βπ«²π» External Sharing**: Share photos and videos with people outside of your Nextcloud instance.
- **π± Mobile Support**: Works on devices of any shape and size through the web app.
- **βοΈ Edit Metadata**: Edit dates on photos quickly and easily.
- **π¦ Archive**: Store photos you don't want to see in your timeline in a separate folder.
- **πΉ Video Transcoding**: Memories transcodes videos and uses HLS for maximal performance.
- **πΊοΈ Map**: View your photos on a map, tagged with accurate reverse geocoding.
- **β‘οΈ Performance**: Memories is very fast.
## π Online Demo
- To get an idea of what memories looks and feels like, check out the [public demo](https://memories-demo.radialapps.com/apps/memories/).
- The demo is read-only and may be slow (free tier VM from [Oracle Cloud](https://www.oracle.com/cloud/free/)).
- Photo credits go to [Unsplash](https://unsplash.com/) (for individual credits, refer to each folder).
## π Installation
1. Install the app from the Nextcloud app store.
1. Perform the recommended [configuration steps](https://github.com/pulsejet/memories/wiki/Configuration).
1. Run `php ./occ memories:index` to generate metadata indices for existing photos.
1. Open the π· Memories app in Nextcloud and set the directory containing your photos.
## π Development Setup
1. β Clone this into your `apps` folder of your Nextcloud.
1. π©βπ» In a terminal, run the command `make dev-setup` to install the dependencies.
1. π To build the Typescript, run `make build-js`. Watch changes with: `make watch-js`. Lint-fix PHP with `make php-lint`.
1. β
Enable the app through the app management of your Nextcloud.
1. βοΈ (Strongly recommended) use VS Code and install Vetur and Prettier.
## Support the project
1. **π Star this repository**: This is the easiest way to support Memories and costs nothing.
1. **πͺ² Report bugs**: Report any bugs you find on the issue tracker.
1. **π Contribute**: Read and file or comment on an issue and ask for guidance.
1. **πͺ Sponsorship**: You can support the project financially at [GitHub Sponsors](https://github.com/sponsors/pulsejet).
A shout out to the current and past financial backers of Memories! See the sponsors page for a full list.
[](https://github.com/mpodshivalin)
[](https://github.com/k1l1)
## Changelog
For the full changelog, see [CHANGELOG.md](CHANGELOG.md).
## Special Thanks
Nextcloud team. A lot of this work is based on [Photos](https://github.com/nextcloud/photos).