memories/README.md

5.9 KiB
Raw Blame History

Screenshot

Memories: Photo Management for Nextcloud

Discord Website Demo Nextcloud Store

GitHub GitHub issues GitHub Sponsor

e2e static analysis Shepherd

Memories is a batteries-included photo management solution for Nextcloud with advanced features

🎁 Features

  • 📸 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 and 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: Work from any device, of any shape and size through the web app.
  • ✏️ Edit Metadata: Edit dates and other metadata on photos quickly and in bulk.
  • 📦 Archive: Store photos you don't want to see in your timeline in a separate folder.
  • 📹 Video Transcoding: Transcode videos and use HLS for maximal performance.
  • 🗺️ Map: View your photos on a map, tagged with accurate reverse geocoding.
  • 📦 Migration: Migrate easily from Nextcloud Photos and Google Takeout.
  • Performance: Do all this very fast.

🚀 Installation

  1. Install the app from the Nextcloud app store.
  2. Perform the recommended configuration steps.
  3. Run php occ memories:index to generate metadata indices for existing photos.
  4. Open the 📷 Memories app in Nextcloud and set the directory containing your photos.

📱 Mobile Apps

  • An Android app for Memories is available in early access.

    Get it on Google Play

🏗 Development Setup

  1. ☁ Clone this into your custom_apps folder of your Nextcloud.
  2. 📥 Install Composer and Node.js 18
  3. 👩‍💻 In a terminal, run the command make dev-setup to install the dependencies.
  4. 🏗 To build/watch the UI, run make watch-js.
  5. Enable the app through the app management of your Nextcloud.
  6. ⚒️ (Strongly recommended) use VS Code for development and install these extensions.
    • PHP Intelephense: For PHP intellisense and static analysis
    • PHP-CS-Fixer: For PHP formatting (alternatively, make php-cs-fixer)
    • Psalm: For PHP static analysis (alternatively, make psalm)
    • Prettier: For autoformatting Vue and Typescript
    • Volar: For Vue intellisense and static analysis
    • Volar Typescript: For Vue Typescript support

🤝 Support the project

  1. 🌟 Star this repository: This is the easiest way to support Memories and costs nothing.
  2. 🪲 Report bugs: Report any bugs you find on the issue tracker.
  3. 📝 Contribute: Read and file or comment on an issue and ask for guidance.
  4. 🪙 Sponsorship: You can support the project financially at GitHub Sponsors.

A shout out to the current and past financial backers of Memories! See the sponsors page for a full list.

📝 Changelog

For the full changelog, see CHANGELOG.md.

🙏 Special Thanks

To the great folks building Nextcloud, PHP, Vue and all the other dependencies that make this project possible.