pulsejet / memories

Fast, modern and advanced photo management suite. Runs as a Nextcloud app.
https://memories.gallery
GNU Affero General Public License v3.0
3.21k stars 87 forks source link
backup-tool gallery nextcloud photo-gallery photos self-hosted videos

Screenshot

Memories: Photo Management for Nextcloud

Discord Website Demo Nextcloud Store

GitHub GitHub issues GitHub Sponsor

e2e static analysis Shepherd go-vod

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

🎁 Features

πŸš€ 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

πŸ— Development Setup

You can use the dev container to quickly fire up an instance of Nextcloud with Memories pre-installed. See .devcontainer/README.md for more information.

Open in GitHub Codespaces

To set up a development instance manually, follow these steps:

  1. ☁ Clone this monorepo into the 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 (Ctrl+Shift+P > Show Recommended 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
  7. If using PHP Intelephense, search for @builtin php-language-features in the extensions tab and disable it.

This monorepo is organized into the following packages:

Releases are organized with these tags:

🀝 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. πŸ“– Translate: Help translate Memories into your language on Transifex.
  4. πŸ“ Contribute: Read and file or comment on an issue and ask for guidance.
  5. πŸͺ™ 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.

Thanks to GitHub, CircleCI and BrowserStack for sponsorship for Open Source projects for CI / testing on different devices.

πŸ“„ License

Memories is licensed under the AGPLv3. Subpackages such as go-vod are licensed under their respective licenses. See the directory of the subpackage for more information.