Self Hosted Applications: Difference between revisions
(Adding new sections) |
No edit summary |
||
Line 53: | Line 53: | ||
=== Matomo === | === Matomo === | ||
Commercial Sponsor/s: N/A, open source community driven project | Commercial Sponsor/s: N/A, open source community driven project | ||
Website: https://matomo.org/ | Website: https://matomo.org/ | ||
==== When to use: ==== | ==== When to use: ==== | ||
* | * There are many websites to manage | ||
* | * Customisation of interface and reports | ||
==== Tips and tricks: ==== | ==== Tips and tricks: ==== | ||
* | * Put your logo and customise the skin with your own branding | ||
== Monitoring == | |||
If you have cloud or on-premises infrastructure chances are you'll have a need to keep an eye on things like CPU usage, memory use and disk space. | |||
Monitoring dashboards like | |||
== | === Grafana === |
Revision as of 14:31, 12 January 2024
Self hosting applications allows you to experiment with different solutions, save on cloud costs and create new offerings. This curated list is based on our experiences to help you on your way.
Content Management Systems
Many larger projects in web development will call for some kind of content management system (CMS).
General tips and trips for working with CMS:
- We recommend using a PHP based CMS running on either a LAMP or LEMP stack.
- When using PHP-FPM and MariaDB/MySQL, make sure you fine tune your production systems with the correct configuration.
- See this pull request for fine tuning MariaDB/MySQL
- See this pull request for fine tuning PHP FPM
- Sometimes you'll need to load content in using AJAX for performance or live updates, both Drupal and Wordpress can do this natively with a little bit of code to implement routes.
Drupal
Commercial Sponsor/s: Acquia
Website: https://www.drupal.org/
When to use:
- Complex multisites that are interrelated
- Larger clients especially government
Tips and tricks:
- Import/export your content types, fields, views and site settings in JSON files for easier deployment on multiple environments
- Make use of Panels and Views, but be careful about the database load you create with those configurations.
Wordpress
Commercial Sponsor/s: Automattic
Website: https://wordpress.org/
When to use:
- Configurable and scalable for clients of all sizes
- Smaller clients can be setup with simpler off the shelf kits
- Larger clients can be setup with bespoke themes and plugins
Tips and tricks:
- Avoid overcomplicating and overengineering things, try to follow the lessons of others who have tried to do the same things you're doing.
- Wordpress is one of the largest ecosystems and so it can be tricky to navigate, here are some resources that will help you build a quality site.
- 10Up Engineering Best Practises for avoiding potential issues with performance and security
- Roots Bedrock for better folder structures
- Roots Sage for a Laravel based theme with Tailwind built-in
Analytics
If you want to know how your websites or web apps are performing, you'll need some kind of monitoring dashboard we typically call "Analytics" software.
You can use free cloud options like Google Analytics and Cloudflare Analytics in a pinch however self hosting has advantages for example you own your data and can do a lot more with it because it's in a database on your system.
Matomo
Commercial Sponsor/s: N/A, open source community driven project
Website: https://matomo.org/
When to use:
- There are many websites to manage
- Customisation of interface and reports
Tips and tricks:
- Put your logo and customise the skin with your own branding
Monitoring
If you have cloud or on-premises infrastructure chances are you'll have a need to keep an eye on things like CPU usage, memory use and disk space.
Monitoring dashboards like