All of Deskpro's static application assets (such as Javascript and CSS) exist in the www/assets
directory. If you wish to serve static application assets from a CDN for improved performance, you can follow this guide.
Sync assets to your CDN
As described above, all static assets exist in the www/assets
directory. You need to sync this directory with your CDN.
For example:
- On your server you might have:
/deskpro/www/assets
- An example file might be:
/deskpro/www/assets/12345/web/images/dp-logo-48.png
- An example file might be:
- Your CDN would therefore have:
https://my-cdn.example.com/assets/12345/web/images/dp-logo-48.png
You'll notice that within the assets directory, there is a sub-directory integer representing the version of Deskpro you are using (i.e. assets/12345
). Every time you upgrade Deskpro, this number changes. It's important that you always sync the assets directory to your CDN whenever you upgrade Deskpro.
If your CDN provider lets you set caching settings, you can treat these assets as immutable -- i.e. you may set caching headers such that the cache never expires and never needs revalidating.
Deskpro Config
After you have a CDN configured and sync'd, you need to tell Deskpro to actually use your CDN.
Edit config/config.paths.php
and append the following lines:
// Modify the URL here to point to your CDN
$cdn_base_url = 'https://my-cdn.example.com/';
$PATHS_CONFIG['asset_paths'] = [
'legacy_web' => ['type' => 'url', 'value' => $cdn_base_url.'assets/%DP_ACTIVE_BUILD%/web'],
'vendor_assets' => ['type' => 'url', 'value' => $cdn_base_url.'assets/%DP_ACTIVE_BUILD%/pub/node_modules'],
'app_assets' => ['type' => 'url', 'value' => $cdn_base_url.'assets/%DP_ACTIVE_BUILD%/pub/build'],
'assets_root' => ['type' => 'url', 'value' => $cdn_base_url.'assets/%DP_ACTIVE_BUILD%'],
'appsrc_assets' => ['type' => 'url', 'value' => $cdn_base_url.'assets/%DP_ACTIVE_BUILD%/pub/src'],
];
copy
Please log in or register to submit a comment.