Fast, modern and advanced photo management suite. Runs as a Nextcloud app.
 
 
 
 
 
 
Go to file
Nextcloud bot 261d89a501
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-15 02:14:23 +00:00
.github ci: always run both static analysis steps 2023-12-02 21:58:28 -08:00
.tx [tx-robot] Update transifex configuration 2022-10-01 03:18:37 +00:00
.vscode docs: added recommended extensions to VSCode config 2023-10-17 22:04:17 +03:00
android android/1.6 2023-11-15 12:15:00 -08:00
appinfo v6.1.5 2023-11-25 13:20:11 -08:00
docs docs: update GH release link for android 2023-11-24 16:55:00 -08:00
e2e refactor: turn on verbatimModuleSyntax 2023-10-29 17:54:53 -07:00
go-vod go-vod/0.2.4 2023-11-20 11:36:29 -08:00
img img: update logo 2023-08-16 19:30:33 -07:00
l10n Fix(l10n): Update translations from Transifex 2023-12-15 02:14:23 +00:00
lib ios: fix inset padding (fix #957) 2023-12-09 22:58:06 -08:00
patches videojs: fix startup exception 2023-10-27 03:02:07 -07:00
scripts chore: update paths 2023-11-01 10:14:24 -07:00
src ios: fix inset padding (fix #957) 2023-12-09 22:58:06 -08:00
templates template: fix php tag 2023-06-02 19:30:03 -07:00
.gitattributes Ignore l10n in language stats 2022-10-13 21:49:56 -07:00
.gitignore refactor: change types import strategy 2023-10-29 17:30:11 -07:00
.l10nignore l10n: ignore docs 2023-04-30 13:31:49 -07:00
.npmignore Add vue 2022-08-14 20:54:18 +00:00
.php-cs-fixer.php refactor: PHP 8 syntax migration 2023-10-15 12:46:35 -07:00
.prettierrc refactor: update prettier config 2023-04-19 16:14:30 -07:00
CHANGELOG.md v6.1.5 2023-11-25 13:20:11 -08:00
COPYING Initial Commit 2022-08-13 01:58:37 +00:00
Makefile patch-external: fail CI build 2023-10-27 03:33:10 -07:00
README.md readme: add link to releases 2023-11-15 12:30:40 -08:00
composer.json refactor: tools to composer.json 2023-10-14 03:01:08 -07:00
composer.lock refactor: tools to composer.json 2023-10-14 03:01:08 -07:00
exiftest.jpg Test for exiftool before running (fix #6) 2022-08-20 02:25:39 +00:00
mkdocs.yml docs: add play link at bottom 2023-11-24 17:10:06 -08:00
package-lock.json chore: deps 2023-11-29 12:14:30 -08:00
package.json chore: deps 2023-11-29 12:14:30 -08:00
playwright.config.ts Add CI E2E tests (#37) 2022-09-14 15:50:02 -07:00
psalm-ls.xml psalm: set target PHP version to 8.0 2023-10-23 18:39:43 -07:00
psalm.xml psalm: set target PHP version to 8.0 2023-10-23 18:39:43 -07:00
tsconfig.json build: change some tsconfig 2023-10-29 19:21:13 -07:00
webpack.config.ts deps: prevent weird transitive dep usage 2023-11-24 16:22:54 -08:00

README.md

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

  • 📸 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

🏗 Development Setup

  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
    • Volar Typescript: For Vue Typescript support

This monorepo is organized into the following packages:

  • lib: Backend and database migrations (PHP).
  • src: Frontend for all platforms (Vue)
  • go-vod: On-demand video transcoder (Go)
  • android: Android implemention of NativeX (Kotlin)
  • l10n: Translations (Transifex)

Releases are organized with these tags:

  • v*: overall releases (e.g. v1.0.0 or v1.0.0-beta.1)
  • go-vod/*: transcoder releases (e.g. go-vod/1.0.0)
  • android/*: Android releases (e.g. android/1.0.0)

🤝 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.