scubajeff / lespas

Les Pas, photo album app for Nextcloud user
Apache License 2.0
447 stars 22 forks source link

Feature graphic

A private photo album that saves and shares your precious moments

Get it on F-Droid Get it on Github Get it on Google Play

Les Pas, is a free, modern, lightweight and fast gallery app. Organize your photos, GIFs and videos into albums for easy viewing and sharing. With built-in two-way sync with your Nextcloud server, your files are kept private, secure and safe.

Although it use Nextcloud as storage backend, you don't have to install any Nextcloud app on server for Les Pas to function. It's a perfect solution if you have limited knowledge or authorization to alter your Nextcloud configuration.

Features:

Welcome Page Albums List Album Detail Photo Viewer

Adding Photo Browsing Camera Roll Publishing Album Search by Objects

Search by Location Show Album on Map Show Photo with Map Manage Photo Blog

Geotagging with GPX Settings

Here is a short video demonstrate how the slideshow on map works:

https://user-images.githubusercontent.com/458032/176358778-e67fd157-bc3b-4af9-94aa-b18fcd628cc8.mp4

This project is built using the following open source software:

Faq

Why organize by album?

I believe when someone start searching his/her memory for a moment in the past, it's hard for him/her to recall the exact date or exact location, but rather easy to remember what was happening during that period of time, like kid's birthday or family trip to Paris. So organized photos by events is probably the best way for most people, therefore grouping photos by event into an album is the best choice.

Why use folder but not tag to group photos?

Les Pas uses folders to group photos on the server, e.g., each album in Les Pas app has a one-to-one relationship with a folder on your Nextcloud server. You can manage your photo collection by working with folders/files on server side or albums/photos on your phone, Les Pas will sync changes from both sides. But how about tags? Yes, tagging is much more flexible than folders, and Nextcloud has its own file tagging support too. But not every picture format supports tagging, that makes tagging picture file a feature which relies heavily on platform specific functions. I would like my data (and yours too) to be platform neutral instead.

I have a hugh photo collection organized in nested folders, Les Pas only support a flat folder structure.

There is a very cool scripts made by @steviehs to help you out.

Why does Les Pas use a lot of storage space?

If you set the album as Local Album, Les Pas stores photos in its app private storage, so if you have a large collection of photos, you will find that it use a lot of storage space in Android's setting menu.
There are two reasons why Les Pas use private storage. First, Android introduced scope storage policy recently, highly recommends apps to stay out of share storage area. Second, storing photos in apps private storage area can prevent malicious apps scanning, uploading your photo secretly in the backgroud. Yes, they love your pictures so much, especially those with your face in it.
For privacy sake, stop using "/Pictures" folder in your phone's internal/external storage.

Since release 2.5.0, Les Pas support managing albums remotely. With Remote Album, all photo's and video's media file are stored in Nextcloud server, this will dramatically reduces app's storage footprint on mobile device.

It's very slow loading photos from server, the waiting seems forever.

Nextcloud has a reputation of sluggish image processing, to make Remote Album work, you need to setup Nextcloud Preview Generator app to automatically generate aspect ratio preview files of size 1024x1024. Here is an excellent document on how to do it. You should make sure Les Pas's specific size is taken into action, by:

sudo -u www-data php /var/www/html/nextcloud/occ config:app:set --value="256 384 1024" previewgenerator widthSizes
sudo -u www-data php /var/www/html/nextcloud/occ config:app:set --value="256 1024" previewgenerator heightSizes

Why there is no QR code scanning button on Login screen like in the screenshot?

Les Pas supports scanning QR code of server access token generated by Nextcloud server, by using external QR code scanner apps. This app should be compatible with ZXing, which will expose a standard API for Les Pas to call. Make sure your install a compatible scanner app before your start Les Pas for the first time, then you will see the scanning button.

About synchronization

Les Pas does two types of sync in the background. A two-way sync of your albums and a one-way backup of your phone's camera roll.
Whenever you did something with your albums on your phone, Les Pas will synchronize the changes to your server immediately. Since Nextcloud's push notification only work with Google Firebase Cloud Messaging, which Les Pas decided not to support due to privacy concern, any changes you make to your albums on server side will be synced to your phone during the next synchonization cycle.
Upon opening Les Pas app, it will sync with server once. If you enable periodic sync setting, Les Pas will synchronize with your server every 6 hours in the background.
One-way backup of phone's camera roll is a background job which also happen every 6 hours. So don't delete photos from your camera roll too fast too soon. If synchronization doesn't seem to work, especially when you phone is a Chinese OEM model, like Huawei, Xiaomi, Oppo etc, please allow Les Pas app to auto start and opt-out battery optimization.

Checklist for enabling sharing on Nextcloud server

To enable publishing (e.g. sharing album to other users on Nextcloud server), there are several things you need to take care beforehand: