Go-live checklist
Check your subscription plan
In the Control Panel, check the application's Subscription, and that it includes the technical and support resources it will require once the site is live.
Dependencies
Pin all dependencies in the application, so that future deployments do not introduce unexpected software updates.
- Python applications: see pinning all dependencies in Python applications.
Turn off development mode
Many frameworks include a development mode that exposes additional information. This should not go into production.
- Django applications: this is handled by the
DEBUG
setting.
Domains
- If you are using existing domains, prepare them for the switch. Ensure that they have low (less than 60 seconds) TTLs. High TTLs can cause problems when the domains are pointed at the new site, including delays in the automatic provisioning of SSL certificates.
- Check that the live domain for the server is set up for the site in the Control Panel.
- Check that any domains that should redirect to the primary domain are also set in the Domains setting in the Control Panel.
HTTPS
Set your application to redirect to HTTPS.
- Django: Django applications using our recommended configuration, will be apply redirects to HTTPS by default.
- Legacy Aldryn applications: enable redirects to HTTPS by setting the SECURE_SSL_REDIRECT environment variable to
True
. - Node: How to force HTTPS with Express.js
Environment variables
- Check that any other environment variables required on the Live environment have been set (see: Environment variables).
File serving configuration
Check the configuration of static file serving. Files should be appropriately collected, compressed and so on. Hashing static filenames lets you take advantage of caching.
- Legacy Aldryn applications: we recommend using the Hash static filenames option.
Other settings
Check your Divio application's configuration for any settings that may have been temporarily configured during development.
Local tests
In the local environment, run the application in a configuration that is as close as possible to the production
configuration. For example, our recommended Docker Compose configurations use development servers for convenience; you
can comment out the command
entry in the docker-compose.yml
file and allow the application to use the
Dockerfile
's CMD
instead, which will use a production server.
See How to run a local application in live configuration for more.
Deployment
- If required, copy database and media content to the Live environment.
- Run a deployment of the Live environment.
After deployment
- Run a crawler on the live site to check for broken links, such as the W3C Link Checker or the open-source LinkChecker application.
- Check your site as a logged-in user, an anonymous user and in your browser's private/incognito mode to verify expected behaviour.
- Check response times with a tool such as Pingdom.
- If necessary, allocate more resources to the application via its Subscription and consult the How to fine-tune your server's performance guide.