A blocks that allows you to display a photo slideshow on a webpage over a web server. Out of the box you can use Google Photo Albums, Dropbox Photo Album and Apple Photos. The images are downloaded automatically and auto updated in case of changes.
Go to https://photos.google.com and select the album that you want to share.
Click in the share button, click in the Create link
button and copy the the url.
On the dropbox website, go to the folder that contains the photos and click on Share Folder
and then Copy link
. This will the URL you will need to add to balenaCloud.
Create a photo album and copy the share url, similar to https://www.icloud.com/sharedalbum/#ALBUM-ID
Place your photos on a USB stick and plug it into the Raspberry Pi. Each time all previous existing photos will be removed and replaced by the new ones.
- Set
GALLERY_URL
toUSBDRIVE
to use this mode. - Make sure to update
CRON_SCHEDULE
accordingly or else image changes will only be picked up at reboot.
Include this snippet in your docker-compose.yml
file under 'services':
photos:
image: bh.cr/balenalabs/photo-gallery-<arch>/<version> # where <arch> is one of aarch64, armv7hf, rpi or amd64 and <version>(optional) is a specific version of this block
privileged: true # required for UDEV to find plugged in peripherals such as a USB mouse
restart: always
ports:
- "8888"
e.g For running on Raspberry Pi 3B+ which is armv7hf
use image:bh.cr/balenalabs/photo-gallery-armv7hf
You can also set your docker-compose.yml
to build a Dockerfile.template
file, and use the build variable %%BALENA_ARCH%%
so that the correct image is automatically built for your device.
docker-compose.yml
version: "2.1"
services:
photos:
privileged: true
restart: always
build: ./
ports:
- "8888"
Dockerfile.template
FROM bh.cr/balenalabs/photo-gallery-%%BALENA_ARCH%%
armv7hf
rpi
aarch64
amd64
- On balenaCloud, go to Device variables D(x) and add the following:
ENV VAR | Description | Options | Default |
---|---|---|---|
PORT | Web server port. | 8888 | |
GALLERY_URL | Gallery URL for google photos, dropbox images, apple photos or usb drive. | ||
GALLERY_SLIDESHOW_DELAY | Slideshow delay in milliseconds | 10000 | |
GALLERY_IMAGE_STYLE | Contain shows the entire image on the screen. Cover zooms the image filling the entire screen. |
contain, cover | cover |
GALLERY_EFFECT | Transition effects | fade, horizontal, vertical, kenburns, false | fade |
CRON_SCHEDULE | Cron scheduler to reload images to get changes | 0 */12 * * * | |
SHUFFLE_SLIDESHOW | Shiffle images to display randomly | true, false | false |
RESIZE_WIDTH | * Resize image width or height (larger side) in pixels | 1000px | |
COMPRESS_QUALITY | * Image compression | 0 - 100 | 90 |
* Only available for iCloud photos
Note that after some performance tests on the Raspberry Pi 2 & 3, the combination of GALLERY_IMAGE_STYLE = contain
and GALLERY_EFFECT = fade or kenburns
can make the transition effects choppy.