Skip to main content
WARNING You're browsing the documentation for an old version of Deskpro. Consider updating to Deskpro Horizon.

Using a CDN for static assets

in Performance Boosting
Authors list
Published: Jul 23, 2018|Last updated: Jul 23, 2018

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 Copy link to Sync assets to your CDN to clipboard

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
  • Your CDN would therefore have: https://my-cdn.example.com/assets/12345/web/images/dp-logo-48.png
Warning

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 Copy link to Deskpro Config to clipboard

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
HelpfulUnhelpful
next pageProxies and load-balancing
previous pagePerformance Boosting

Please log in or register to submit a comment.