A Content Delivery Network is a distributed network of servers that can deliver static content to users around the world.
When to use a CDN?
Large Media Files: PhotoPrism stores photos and videos that can be very large. A CDN can help speed up the delivery of these files to users.
Global Audience: If your PhotoPrism instance is accessed from different locations around the world, a CDN can help reduce latency and improve the overall user experience by delivering content from servers that are closer to your users.
Many Users: If your PhotoPrism instance is getting a lot of traffic, a CDN can improve application performance by reducing the load on your server.
Config Options
You can use the following config options to specify the URL of an external CDN and change the cache expiration time for thumbnails and other static content:
Environment | CLI Flag | Default | Description |
---|---|---|---|
PHOTOPRISM_CDN_URL | --cdn-url | content delivery network URL |
|
PHOTOPRISM_CDN_VIDEO | --cdn-video | false | stream videos over the specified CDN |
PHOTOPRISM_HTTP_CSP | --http-csp | HTTP Content-Security-Policy (CSP) HEADER plus |
|
PHOTOPRISM_HTTP_CACHE_PUBLIC | --http-cache-public | true | allow static content to be cached by a CDN or caching proxy |
PHOTOPRISM_HTTP_CACHE_MAXAGE | --http-cache-maxage | 2592000 | time in SECONDS until cached content expires |
PHOTOPRISM_HTTP_VIDEO_MAXAGE | --http-video-maxage | 21600 | time in SECONDS until cached videos expire |
CDN Providers
bunny.net
If you don't have a CDN provider yet, we can recommend bunny.net. This EU-based company has a cute name, but is a reputable provider with excellent performance, a wide range of features, and more than 20,000 customers including big names like Hyundai. We also chose bunny.net for our website and public demo as they are fully compliant with the GDPR.1
Pricing starts at $0.005/GB and there is no minimum usage or monthly fee, so you only pay for what you actually need.
Cloudflare
Cloudflare works similar to a reverse proxy, allowing you to make a private server publicly accessible over the Internet. This means that users accessing your instance through their service will only see a single URL, as if they were connecting directly.
You must therefore not configure an external CDN URL, since this could prevent PhotoPrism from loading. Also note that their free version does not include video streaming, so there may be problems with video playback if you are not a paying customer.
PhotoPrism® Documentation
For detailed information on specific product features, services, and related resources, see our Knowledge Base, or read the User Guide for help using the web user interface:
-
We receive a $20 credit when you sign up through our link, which helps us fund the project infrastructure. ↩