memories/README.md

62 lines
4.5 KiB
Markdown
Raw Normal View History

2022-10-16 04:45:29 +00:00
![Screenshot](appinfo/screenshot.jpg)
2022-08-18 03:36:37 +00:00
2022-10-20 00:35:03 +00:00
## Photo Viewer and Manager
Memories is a photo management app for Nextcloud with advanced features including:
2022-08-13 01:58:37 +00:00
2022-10-28 19:11:08 +00:00
- **📸 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 using AI, powered by the [recognize](https://github.com/nextcloud/recognize) app.
- **🖼️ Albums**: Create albums to group photos and videos together. Then share these albums with others.
- **📁 Folders**: Browse your own and shared folders with a similar, efficient timeline.
- **🎦 Slideshow**: View photos from your timeline and folders easily.
- **📱 Mobile Support**: Works on devices of any shape and size through the web app.
- **✏️ Edit Metadata**: Edit Exif dates on photos quickly and easily.
- **📦 Archive**: Store photos you don't want to see in your timeline in a separate folder.
- **📷 RAW Support**: View RAW photos from your camera with the [Camera RAW Previews](https://apps.nextcloud.com/apps/camerarawpreviews) app.
- **🫱🏻‍🫲🏻 External Sharing**: Share photos and videos with people outside of your Nextcloud instance.
2022-10-28 19:11:08 +00:00
- **⚡️ Fast**: Memories is extremely fast. Period. More details below.
2022-08-13 01:58:37 +00:00
2022-10-22 17:55:57 +00:00
To get an idea of what memories looks and feels like, check out the [public demo](https://memories-demo.radialapps.com/apps/memories/). Note that the demo is read-only and may be slow since it runs in a low-end free tier VM provided by [Oracle Cloud](https://www.oracle.com/cloud/free/). Photo credits go to [Unsplash](https://unsplash.com/) (for individual credits, refer to each folder).
2022-10-07 21:08:05 +00:00
## How to support development
2022-10-28 19:11:08 +00:00
- **🌟 Star this repository**: This is the easiest way to support the project and costs nothing.
- **🪲 Report bugs**: If you find a bug, please report it on the issue tracker.
- **📝 Contribute**: If you want to contribute, please read file / comment on an issue and ask for guidance.
2022-10-07 21:08:05 +00:00
2022-08-16 01:28:40 +00:00
## 🚀 Installation
2022-08-13 01:58:37 +00:00
2022-10-20 20:45:00 +00:00
1. Install the app from the Nextcloud app store.
1. Run `php ./occ memories:index` to generate metadata indices for existing photos.
2022-08-20 01:07:39 +00:00
1. Open the 📷 Memories app in Nextcloud and set the directory containing your photos. Photos from this directory will be displayed in the timeline, including any photos in nested subdirectories.
2022-09-12 06:22:56 +00:00
1. Installing the [preview generator](https://github.com/rullzer/previewgenerator) for pre-generating thumbnails is strongly recommended.
2022-08-13 01:58:37 +00:00
2022-08-16 01:28:40 +00:00
## 🏗 Development setup
2022-08-13 01:58:37 +00:00
2022-08-16 01:28:40 +00:00
1. ☁ Clone this into your `apps` folder of your Nextcloud.
1. 👩‍💻 In a terminal, run the command `make dev-setup` to install the dependencies.
2022-10-20 21:08:46 +00:00
1. 🏗 To build the Typescript, run `make build-js`. Watch changes with: `make watch-js`.
2022-08-16 01:28:40 +00:00
1. ✅ Enable the app through the app management of your Nextcloud.
2022-10-28 19:11:08 +00:00
1. ⚒️ (Strongly recommended) use VS Code and install Vetur and Prettier.
2022-08-13 01:58:37 +00:00
2022-09-13 07:41:06 +00:00
## ⚡ Performance
2022-10-28 19:11:08 +00:00
2022-09-13 18:49:10 +00:00
- Once properly configured, Memories is **extremely fast**, possibly one of the fastest web photo viewers.
2022-10-17 03:23:47 +00:00
- On a server with relatively cheap hardware (`Intel Pentium G6400 / 8GB RAM / SSD`), loading the timeline takes only `~400ms` without cache on a laptop (`Intel Core i5-1035G1 / Windows 11 / Chrome`) for a library of `~17000 photos` totaling `100GB`. The test was performed on Nextcloud 24 with `nginx`, `php-fpm` and `mariadb` running in Docker.
2022-09-13 03:42:02 +00:00
- For best performance, install the [preview generator](https://github.com/rullzer/previewgenerator) and make sure HTTP/2 is enabled for your Nextcloud instance.
2022-09-13 07:41:06 +00:00
## 📝 Notes
2022-10-28 19:11:08 +00:00
2022-09-13 03:42:02 +00:00
- You may need to configure the Nextcloud preview generator and Imagemagick / ffmpeg to support all types of images and videos (e.g. HEIC). If using the official docker image, add `OC\Preview\HEIC` to `enabledPreviewProviders` in your `config.php`.
- If local time is not found in the photo (especially for videos), the server timezone is used.
2022-09-24 02:58:12 +00:00
- All photos in the timeline _must_ be on a single storage. For example, you cannot have a mounted directory inside your photos directory.
- The app can work with external storage for photos. Just set the mountpoint as the timeline directory.
2022-10-28 19:11:08 +00:00
- If you add any photos from outside Nextcloud, you must run the scan and index commands.
2022-10-31 04:24:38 +00:00
- Indexing may be slow, since all files must be downloaded from the storage.
2022-09-25 23:43:32 +00:00
- The archive feature moves photos to a separate folder called `.archive` at the root of your timeline. You can use this, for example, to move these photos to a cold storage.
2022-08-16 02:13:04 +00:00
2022-09-13 07:41:06 +00:00
## Special Thanks
2022-10-28 19:11:08 +00:00
Nextcloud team. A lot of this work is based on [Photos](https://github.com/nextcloud/photos).