####3.2 TS CLI
+More info on our TurboStack Command Line Interface
#4. Clone settings from an existing TurboStack
-
+
- #
- Installing a new application on your TurboStack
+ #
+ 5. Installing a new application on your TurboStack
@@ -327,7 +314,7 @@
In need of Support?
-
Got burning questions or bursting with feedback? Don't hold back – we thrive on it! Shoot us a message at support@hosted-power.com or call us at +32 53 599 000, and our squad of Turbo-trouble solvers will swoop in. Hosted Power's sales and support gurus are at your service on weekdays during office hours. Of course you can count on your SLA should critical incidents happen.
+
Got burning questions or bursting with feedback? Don't hold back – we thrive on it! Shoot us a message at support@hosted-power.com or call us at +32 53 599 000, and our squad of Turbo-trouble solvers will swoop in. Hosted Power's sales and support gurus are at your service on weekdays during office hours. Of course you can count on your SLA should critical incidents happen.
@@ -393,6 +380,6 @@
-
+
diff --git a/resources/js/config.js b/resources/js/config.js
index 1882ada7..187ae0a1 100644
--- a/resources/js/config.js
+++ b/resources/js/config.js
@@ -1 +1 @@
-var __DOCS_CONFIG__ = {"id":"RRiIp5li0+y3yYrt06CCsHRwfTL200KEAGY","key":"6HtJU22wnyGXB2HVd+Lqw01oyTbrK0hgKcJhVBw8qws.dQvg9v4NdIkMvtdL1nMzMAe+Egtu0h09CCEShdCYGu3Ujcv+yfEmktIo0SlL3gNes73yCFzSCqLJ4zzfVsR2Sw.8282","base":"/","host":"docs.turbostack.app","version":"1.0.0","useRelativePaths":true,"documentName":"index.html","appendDocumentName":false,"trailingSlash":true,"preloadSearch":false,"cacheBustingToken":"3.5.0.766672600110","cacheBustingStrategy":"query","sidebarFilterPlaceholder":"Filter","toolbarFilterPlaceholder":"Filter","showSidebarFilter":true,"filterNotFoundMsg":"No member names found containing the query \"{query}\"","maxHistoryItems":15,"homeIcon":"","access":[{"value":"public","label":"Public"},{"value":"protected","label":"Protected"}],"toolbarLinks":[{"id":"fields","label":"Fields"},{"id":"properties","label":"Properties"},{"id":"methods","label":"Methods"},{"id":"events","label":"Events"}],"sidebar":[{"n":"/","l":"Getting Started","e":"26A1"},{"n":"turbostack-app","l":"TurboStack App","c":false,"i":[{"n":"basic_install","l":"Getting Started","s":""}],"s":""},{"n":"turbostack_for_e-commerce","l":"TurboStack for E-commerce","c":false,"i":[{"n":"akeneo","l":"Akeneo x"},{"n":"craft_cms","l":"CraftCMS x"},{"n":"magento1","l":"Magento 1"},{"n":"magento2","l":"Magento 2"},{"n":"orocommerce","l":"Orocommerce x"},{"n":"odoo","l":"Odoo x"},{"n":"shopware5","l":"Shopware 5"},{"n":"shopware6","l":"Shopware 6"},{"n":"wordpress-woocommerce","l":"WordPress/Woocommerce"}],"e":"1F6D2"},{"n":"turbostack_for_frameworks","l":"TurboStack for Frameworks","c":false,"i":[{"n":"laravel","l":"Laravel"},{"n":"symfony","l":"Symfony"},{"n":"custom_applications","l":"Custom applications"}],"e":"1F5BC-FE0F"},{"n":"control_panels","l":"Control Panels","c":false,"i":[{"n":"cpanel","l":"cPanel"},{"n":"directadmin","l":"DirectAdmin"}],"e":"1F39B-FE0F"},{"n":"turbostack_configuration","l":"TurboStack configuration","c":false,"i":[{"n":"firewall","l":"Firewall"},{"n":"ssl-tls_configuration","l":"SSL/TLS configuration"},{"n":"php_configuration","l":"PHP configuration"},{"n":"nginx_configation","l":"Nginx configuration"},{"n":"apache_configation","l":"Apache configuration"},{"n":"turbostack_optimization","l":"TurboStack Optimization"},{"n":"ci-cd","l":"CI/CD"},{"n":"pipelines","l":"Pipelines"},{"n":"ssh","l":"SSH"},{"n":"ts_cli","l":"TS CLI"}],"e":"2699-FE0F"},{"n":"best_practices","l":"Best practices","c":false,"i":[{"n":"backup","l":"Back-up"},{"n":"caching","l":"Caching","c":false,"i":[{"n":"varnish","l":"Varnish"},{"n":"redis","l":"Redis"}]},{"n":"webserver","l":"Web server","c":false,"i":[{"n":"apache","l":"Apache"},{"n":"nginx","l":"Nginx"}]},{"n":"mail","l":"Mail"},{"n":"database","l":"Database","c":false,"i":[{"n":"mysql","l":"MySQL"},{"n":"postgresql","l":"PostgreSQL"},{"n":"mongodb","l":"MongoDB"},{"n":"other","l":"Other"}]},{"n":"performance","l":"Performance","c":false,"i":[{"n":"datadog","l":"Datadog"},{"n":"newrelic","l":"Newrelic"},{"n":"blackfire","l":"Blackfire"}]},{"n":"security","l":"Security"},{"n":"testing","l":"Testing"}],"e":"1F44D"},{"n":"updating_your_turbostack","l":"Updating your TurboStack","e":"1F195"},{"n":"about_turbostack","l":"About TurboStack","c":false,"i":[{"n":"pricing","l":"Pricing"},{"n":"some_history","l":"Some history"}],"e":"1F9ED"},{"n":"support","l":"Support","c":false,"i":[{"n":"monitoring","l":"Monitoring"},{"n":"alerting","l":"Alerting"},{"n":"incident_management","l":"Incident management"},{"n":"standard_support","l":"Standard support"}],"e":"1F481"}],"search":{"mode":0,"minChars":2,"maxResults":20,"placeholder":"Search","hotkeys":["k"],"noResultsFoundMsg":"Sorry, no results found.","recognizeLanguages":true,"languages":[0],"preload":false},"resources":{"History_Title_Label":"History","History_ClearLink_Label":"Clear","History_NoHistory_Label":"No history items","API_AccessFilter_Label":"Access","API_ParameterSection_Label":"PARAMETERS","API_SignatureSection_Label":"SIGNATURE","API_CopyHint_Label":"Copy","API_CopyNameHint_Label":"Copy name","API_CopyLinkHint_Label":"Copy link","API_CopiedAckHint_Label":"Copied!","API_MoreOverloads_Label":"more","API_MoreDropdownItems_Label":"More","API_OptionalParameter_Label":"optional","API_DefaultParameterValue_Label":"Default value","API_InheritedFilter_Label":"Inherited","Search_Input_Placeholder":"Search","Toc_Contents_Label":"Contents","Toc_RelatedClasses_Label":"Related Classes","History_JustNowTime_Label":"just now","History_AgoTime_Label":"ago","History_YearTime_Label":"y","History_MonthTime_Label":"mo","History_DayTime_Label":"d","History_HourTime_Label":"h","History_MinuteTime_Label":"m","History_SecondTime_Label":"s"}};
+var __DOCS_CONFIG__ = {"id":"jemxohdar/Fj6fL/W112edr35pSqAAep0mW","key":"4uybpQwM9jDOM+oy1yN+NTSq4SqHoYAp+GWbUN9HoE8.MMv3BhLQYEOTri4UBMmXjOsutmrwx7/O8uJ3QE94op8SXmFQd8yQ14JyrQPqE4cJWAjdpyHb0QGC4AoJd+CQkQ.1688","base":"/","host":"docs.turbostack.app","version":"1.0.0","useRelativePaths":true,"documentName":"index.html","appendDocumentName":false,"trailingSlash":true,"preloadSearch":false,"cacheBustingToken":"3.5.0.766673033493","cacheBustingStrategy":"query","sidebarFilterPlaceholder":"Filter","toolbarFilterPlaceholder":"Filter","showSidebarFilter":true,"filterNotFoundMsg":"No member names found containing the query \"{query}\"","maxHistoryItems":15,"homeIcon":"","access":[{"value":"public","label":"Public"},{"value":"protected","label":"Protected"}],"toolbarLinks":[{"id":"fields","label":"Fields"},{"id":"properties","label":"Properties"},{"id":"methods","label":"Methods"},{"id":"events","label":"Events"}],"sidebar":[{"n":"/","l":"Getting Started ⚡","e":"26A1"},{"n":"turbostack-app","l":"TurboStack App","c":false,"i":[{"n":"basic_install","l":"Getting Started","s":""}],"s":""},{"n":"turbostack_for_e-commerce","l":"TurboStack for E-commerce","c":false,"i":[{"n":"akeneo","l":"Akeneo x"},{"n":"craft_cms","l":"CraftCMS x"},{"n":"magento1","l":"Magento 1"},{"n":"magento2","l":"Magento 2"},{"n":"orocommerce","l":"Orocommerce x"},{"n":"odoo","l":"Odoo x"},{"n":"shopware5","l":"Shopware 5"},{"n":"shopware6","l":"Shopware 6"},{"n":"wordpress-woocommerce","l":"WordPress/Woocommerce"}],"e":"1F6D2"},{"n":"turbostack_for_frameworks","l":"TurboStack for Frameworks","c":false,"i":[{"n":"laravel","l":"Laravel"},{"n":"symfony","l":"Symfony"},{"n":"custom_applications","l":"Custom applications"}],"e":"1F5BC-FE0F"},{"n":"control_panels","l":"Control Panels","c":false,"i":[{"n":"cpanel","l":"cPanel"},{"n":"directadmin","l":"DirectAdmin"}],"e":"1F39B-FE0F"},{"n":"turbostack_configuration","l":"TurboStack configuration","c":false,"i":[{"n":"firewall","l":"Firewall"},{"n":"ssl-tls_configuration","l":"SSL/TLS configuration"},{"n":"php_configuration","l":"PHP configuration"},{"n":"nginx_configation","l":"Nginx configuration"},{"n":"apache_configation","l":"Apache configuration"},{"n":"turbostack_optimization","l":"TurboStack Optimization"},{"n":"ci-cd","l":"CI/CD"},{"n":"pipelines","l":"Pipelines"},{"n":"ssh","l":"SSH"},{"n":"ts_cli","l":"TS CLI"}],"e":"2699-FE0F"},{"n":"best_practices","l":"Best practices","c":false,"i":[{"n":"backup","l":"Back-up"},{"n":"caching","l":"Caching","c":false,"i":[{"n":"varnish","l":"Varnish"},{"n":"redis","l":"Redis"}]},{"n":"webserver","l":"Web server","c":false,"i":[{"n":"apache","l":"Apache"},{"n":"nginx","l":"Nginx"}]},{"n":"mail","l":"Mail"},{"n":"database","l":"Database","c":false,"i":[{"n":"mysql","l":"MySQL"},{"n":"postgresql","l":"PostgreSQL"},{"n":"mongodb","l":"MongoDB"},{"n":"other","l":"Other"}]},{"n":"performance","l":"Performance","c":false,"i":[{"n":"datadog","l":"Datadog"},{"n":"newrelic","l":"Newrelic"},{"n":"blackfire","l":"Blackfire"}]},{"n":"security","l":"Security"},{"n":"testing","l":"Testing"}],"e":"1F44D"},{"n":"updating_your_turbostack","l":"Updating your TurboStack","e":"1F195"},{"n":"about_turbostack","l":"About TurboStack","c":false,"i":[{"n":"pricing","l":"Pricing"},{"n":"some_history","l":"Some history"}],"e":"1F9ED"},{"n":"support","l":"Support","c":false,"i":[{"n":"monitoring","l":"Monitoring"},{"n":"alerting","l":"Alerting"},{"n":"incident_management","l":"Incident management"},{"n":"standard_support","l":"Standard support"}],"e":"1F481"}],"search":{"mode":0,"minChars":2,"maxResults":20,"placeholder":"Search","hotkeys":["k"],"noResultsFoundMsg":"Sorry, no results found.","recognizeLanguages":true,"languages":[0],"preload":false},"resources":{"History_Title_Label":"History","History_ClearLink_Label":"Clear","History_NoHistory_Label":"No history items","API_AccessFilter_Label":"Access","API_ParameterSection_Label":"PARAMETERS","API_SignatureSection_Label":"SIGNATURE","API_CopyHint_Label":"Copy","API_CopyNameHint_Label":"Copy name","API_CopyLinkHint_Label":"Copy link","API_CopiedAckHint_Label":"Copied!","API_MoreOverloads_Label":"more","API_MoreDropdownItems_Label":"More","API_OptionalParameter_Label":"optional","API_DefaultParameterValue_Label":"Default value","API_InheritedFilter_Label":"Inherited","Search_Input_Placeholder":"Search","Toc_Contents_Label":"Contents","Toc_RelatedClasses_Label":"Related Classes","History_JustNowTime_Label":"just now","History_AgoTime_Label":"ago","History_YearTime_Label":"y","History_MonthTime_Label":"mo","History_DayTime_Label":"d","History_HourTime_Label":"h","History_MinuteTime_Label":"m","History_SecondTime_Label":"s"}};
diff --git a/resources/js/search.json b/resources/js/search.json
index ca3a2036..8ed49407 100644
--- a/resources/js/search.json
+++ b/resources/js/search.json
@@ -1 +1 @@
-[[{"l":"Getting Started"},{"l":"Welcome","p":["You have reached our TurboStack® documentation pages because you're interested in the full blown TurboStack® experience. We have several scalable packages, tailored for the fastest performance. We offer staging & production packages, which can be clustered if needed. Check out our packages here.","If this is the first time you're trying to log in to your PoC-environment of Production TurboStack, you've come to the right place. This is where you start. So let's get goin'!"]},{"l":"Account Setup"},{"l":"Create a Customer Profile","p":["First things first. You need to set up a new account in our Customer Center, which will give you access to your profile & environments. You can sign-up here Please fill in the required information and submit."]},{"l":"Login into the Hosted Power Customer Center","p":["You can reach the Customer Center via this link: portal.hosted-power.com","Our customer center enables you to:","Manage contact information","Add billing information","Follow-up on your support tickets","Purchase or transfer domain names","Assign rights to various contacts","Add SSH users, configure SSL certificates","etc..."]},{"l":"Add Relevant Contacts","p":["Once you’ve created an account, proceed to add all relevant contacts to your account. This step is crucial for effective communication and collaboration between Hosted Power & your team. Adding relevant contacts to your account ensures that the right people receive the right information and communication."]},{"i":"partner-integration-optional","l":"Partner Integration (optional)","p":["If you are a direct customer, not working with Hosted Power through a partner, please continue to step 4.","If you're a customer working through a partner, from now on referred to as \"Hosted Partner\" - pun intended-, TurboStack provides a seamless integration process. Request to link your account to the Hosted Partner using our innovative \"teams\" feature. The Hosted Partner can then furnish you with a unique code, enabling you to seamlessly join their account. This integration enhances coordination and ensures a unified workflow, communicating the right information to the right people."]},{"l":"Set Permissions","p":["TurboStack empowers you with granular control over account permissions. Navigate to the settings and check the appropriate permissions for each contact. Specify who can manage servers, access billing information, handle tickets, and more. This level of customization enables you to allocate resources efficiently by determining which employees can work on specific projects.","Congratulations! You have now successfully set up your account, laying the foundation for efficient account management and collaboration within the Hosted Power ecosystem."]},{"i":"your-turbostack-application","l":"Your TurboStack® application","p":["Once you have your customer profile set up, it's time for the real work. Let's configure your TurboStack environment in the Getting Started","TurboStack Command Line Interface: ts-cli"]},{"l":"Getting started with your TurboStack"},{"l":"1. Deployment","p":["Most applications can be easily deployed, as we already have fully optimized TurboStack technology for most commonly used open source solutions. Once deployed, you will receive the necessary info to be able to manage your TurboStack environment."]},{"l":"2. Login via SSH"},{"l":"3. Configure your TurboStack"},{"i":"31-yaml-configuration","l":"3.1 YAML configuration"},{"l":"4. Clone settings from an existing TurboStack"},{"l":"Installing a new application on your TurboStack"},{"i":"in-need-of-support","l":"In need of Support?","p":["Got burning questions or bursting with feedback? Don't hold back – we thrive on it! Shoot us a message at support@hosted-power.com or call us at +32 53 599 000, and our squad of Turbo-trouble solvers will swoop in. Hosted Power's sales and support gurus are at your service on weekdays during office hours. Of course you can count on your SLA should critical incidents happen."]}],[{"l":"Getting Started"},{"l":"Login and locate your managed servers","p":["When going to the TurboStack App, login with credentials for portal.hosted-power.com.","TurboStackAppLogin","Once logged in all servers managed by this account will become visible in the \"Hosts\" tab.","TurboStackAppServers"]},{"l":"Main TurboStack App functions","p":["For each server there are main functions available","TurboStackAppHeader","Switch between the GUI layout and the (advanced) YAML layout","Revisions: shows all historic configuration changes made to the server","Fetch the credentials and IPs of the servers all users and databases","Save any changes made to the configuration","Save and Publish: saves and deploys the changes made to the server","under point 5, there the option to save and full publish. this will ensure everything gets deployed"]},{"i":"the-server-tab","l":"The 'server' tab","p":["the server tab defines some basic middleware configuration. Like the type of webserver and some different type of databases that are supported","TurboStackAppServerTab"]},{"i":"the-accounts-tab","l":"The 'accounts' tab"}],[{"l":"Akeneo x"}],[{"l":"CraftCMS x"}],[{"l":"Magento 1"}],[{"l":"Magento 2"}],[{"l":"Orocommerce x"}],[{"l":"Odoo x"}],[{"l":"Shopware 5"}],[{"l":"Shopware 6"}],[{"i":"wordpresswoocommerce","l":"WordPress/Woocommerce"}],[{"l":"Laravel"}],[{"l":"Symfony"}],[{"l":"Custom applications"}],[{"l":"cPanel"}],[{"l":"DirectAdmin"}],[{"l":"Firewall"}],[{"i":"ssltls-configuration","l":"SSL/TLS configuration"}],[{"l":"PHP configuration"}],[{"l":"Nginx configuration"}],[{"l":"Apache configuration"}],[{"l":"TurboStack Optimization"}],[{"i":"cicd","l":"CI/CD"}],[{"l":"Pipelines"}],[{"l":"SSH"},{"l":"How to user SSH Keys on TurboStack"},{"l":"Windows Users","p":["Don't - haha"]},{"l":"Linux Users"}],[{"l":"TS CLI","p":["The TurboStack Command Line Interface (later referred to as TSCLI) is available on all TurboStack servers to provide you with an easy to use tool to manage the services on your server, even ones you would normally need root access for. Below is a short description of the various features."]},{"l":"TSCLI Commands","p":["The TSCLI tool uses levels of arguments to categorize functions. Every command starts with 'tscli' followed by the service you're managing, followed by the parameters for the function you're using as documented below."]},{"l":"NGINX Webserver","p":["- Verifies the NGINX configuration and reloads it if it is valid. If it isn't valid you'll get an error with the issue reported."]},{"l":"BlackFire php Profiler","p":["- Installs the Blackfire Profiler and restarts the PHP-FPM service(s).","- Uninstalls the Blackfire Profiler and restarts the PHP-FPM service(s).","- Restarts the Blackfire Profiler service, to apply changes to the configuration."]},{"l":"Firewall","p":["- Returns info on wether the IP parameter is listed in the iptables. Please make sure to only use valid IP addresses.","- Adds a firewall rule to block a specific IP address as specified in the IP parameter.","- Removes an IP address from the firewall's deny list.","###php OpCache- Resets php's OpCache.","###Varnish Cache- Clears everything from Varnish Cache's memory.","- Reloads the Varnisch Cache configuration"]}],[{"l":"Back-up"}],[{"l":"Varnish"}],[{"l":"Redis"}],[{"l":"Apache"},{"i":"span-style-color-5283ff-font-size-24px-grant-or-deny-access-to-server-for-specific-ip-s-while-using-basic-auth-span","l":"**Grant or deny access to server for specific IP's while using basic auth**","p":["In this article, we'll tackle the problem how we can decide if a visitor should or should not login on a server with basic auht enabled, based on it's IP-adress.","So what is the result we want to achieve? We want to implement an .htpasswd so visitors need to have a valid login, except when the request came from a whitelisted IP adress. In that case, no login is asked and you'll be redirected to the site. Like a VIP that would skip a waiting queue for a club.","For a server with varnish enabled, is a different approach needed. All requests that go through varnish will pass the header (X-Forwarded-For), but it may contain some tempered information about the visitors IP. Because of this modification, the request for immediate access will be denied and the visitor will be asked to login. To make sure this won't happen, we'll add a variable for the header that contains the whitelisted IP-adress. The code below will do the trick:","For best practice will we add the IP's to the required list require ip"]},{"i":"span-style-color-5283ff-font-size-24px-block-infamous-bytespider-bot-span","l":"**Block infamous bytespider bot**","p":["Sometimes a server can go high in load due to the infamous bytespider bot. This one can be excluded by implementing this piece of code:"]}],[{"l":"nginx"}],[{"l":"Mail"}],[{"l":"MySQL"}],[{"l":"PostgreSQL"}],[{"l":"MongoDB"}],[{"l":"Other"}],[{"l":"Datadog"}],[{"l":"Newrelic"}],[{"l":"Blackfire"}],[{"l":"Security"}],[{"l":"Testing"}],[{"l":"Updating your TurboStack"}],[{"l":"Pricing"}],[{"l":"Some history"}],[{"l":"Monitoring"}],[{"l":"Alerting"}],[{"l":"Incident management"}],[{"l":"Standard support"},{"i":"247-proactive-monitoring","l":"24/7 Proactive Monitoring","p":["Our proactive monitoring was developed internally by Hosted Power and is continuously optimized so that we can guarantee the most accurate monitoring. The monitoring keeps an eye on crucial functionalities of the supported hosting environments and your application at all times. Thanks to the monitoring, adequate and proactive action will be taken, after all, prevention is better than the cure. It is possible to carry out specific checks specifically for your application; so that the correct action can be taken in the event of calamities. The customer has an obligation to inform Hosted Power in the event of expected peak times, the shutdown or interruption by the customer of the server or the services included in the monitoring. This must be communicated to Hosted Power at least 1 working day in advance."]},{"l":"scope"}]]
\ No newline at end of file
+[[{"i":"getting-started","l":"Getting Started ⚡"},{"l":"Welcome","p":["You have reached our TurboStack® documentation pages because you're interested in the full blown TurboStack® experience. We have several scalable packages, tailored for the fastest performance. We offer staging & production packages, which can be clustered if needed. Check out our packages here.","If this is the first time you're trying to log in to your PoC-environment of Production TurboStack, you've come to the right place. This is where you start. So let's get goin'!"]},{"l":"Account Setup"},{"l":"Create a Customer Profile","p":["First things first. You need to set up a new account in our Customer Center, which will give you access to your profile & environments. You can sign-up here Please fill in the required information and submit."]},{"l":"Login into the Hosted Power Customer Center","p":["You can reach the Customer Center via this link: portal.hosted-power.com","Our customer center enables you to:","Manage contact information","Add billing information","Follow-up on your support tickets","Purchase or transfer domain names","Assign rights to various contacts","Add SSH users, configure SSL certificates","etc..."]},{"l":"Add Relevant Contacts","p":["Once you’ve created an account, proceed to add all relevant contacts to your account. This step is crucial for effective communication and collaboration between Hosted Power & your team. Adding relevant contacts to your account ensures that the right people receive the right information and communication."]},{"i":"partner-integration-optional","l":"Partner Integration (optional)","p":["If you are a direct customer, not working with Hosted Power through a partner, please continue to step 4.","If you're a customer working through a partner, from now on referred to as \"Hosted Partner\" - pun intended-, TurboStack provides a seamless integration process. Request to link your account to the Hosted Partner using our innovative \"teams\" feature. The Hosted Partner can then furnish you with a unique code, enabling you to seamlessly join their account. This integration enhances coordination and ensures a unified workflow, communicating the right information to the right people."]},{"l":"Set Permissions","p":["TurboStack empowers you with granular control over account permissions. Navigate to the settings and check the appropriate permissions for each contact. Specify who can manage servers, access billing information, handle tickets, and more. This level of customization enables you to allocate resources efficiently by determining which employees can work on specific projects.","Congratulations! You have now successfully set up your account, laying the foundation for efficient account management and collaboration within the Hosted Power ecosystem."]},{"i":"your-turbostack-application","l":"Your TurboStack® application","p":["Once you have your customer profile set up, it's time for the real work. Let's check out your TurboStack environment in the TurboStack App"]},{"l":"Getting started with your TurboStack"},{"l":"1. Deployment","p":["Most applications can be easily deployed, as we already have fully optimized TurboStack technology for most commonly used open source solutions. Once deployed, you will receive the necessary info to be able to manage your TurboStack environment."]},{"l":"2. Login via SSH","p":["Get started by creating SSH keys and logging in to your TurboStack via SSH."]},{"l":"3. Configure your TurboStack"},{"i":"31-yaml-configuration","l":"3.1 YAML configuration","p":["####3.2 TS CLI More info on our TurboStack Command Line Interface"]},{"l":"4. Clone settings from an existing TurboStack"},{"l":"5. Installing a new application on your TurboStack"},{"i":"in-need-of-support","l":"In need of Support?","p":["Got burning questions or bursting with feedback? Don't hold back – we thrive on it! Shoot us a message at support@hosted-power.com or call us at +32 53 599 000, and our squad of Turbo-trouble solvers will swoop in. Hosted Power's sales and support gurus are at your service on weekdays during office hours. Of course you can count on your SLA should critical incidents happen."]}],[{"l":"Getting Started"},{"l":"Login and locate your managed servers","p":["When going to the TurboStack App, login with credentials for portal.hosted-power.com.","TurboStackAppLogin","Once logged in all servers managed by this account will become visible in the \"Hosts\" tab.","TurboStackAppServers"]},{"l":"Main TurboStack App functions","p":["For each server there are main functions available","TurboStackAppHeader","Switch between the GUI layout and the (advanced) YAML layout","Revisions: shows all historic configuration changes made to the server","Fetch the credentials and IPs of the servers all users and databases","Save any changes made to the configuration","Save and Publish: saves and deploys the changes made to the server","under point 5, there the option to save and full publish. this will ensure everything gets deployed"]},{"i":"the-server-tab","l":"The 'server' tab","p":["the server tab defines some basic middleware configuration. Like the type of webserver and some different type of databases that are supported","TurboStackAppServerTab"]},{"i":"the-accounts-tab","l":"The 'accounts' tab"}],[{"l":"Akeneo x"}],[{"l":"CraftCMS x"}],[{"l":"Magento 1"}],[{"l":"Magento 2"}],[{"l":"Orocommerce x"}],[{"l":"Odoo x"}],[{"l":"Shopware 5"}],[{"l":"Shopware 6"}],[{"i":"wordpresswoocommerce","l":"WordPress/Woocommerce"}],[{"l":"Laravel"}],[{"l":"Symfony"}],[{"l":"Custom applications"}],[{"l":"cPanel"}],[{"l":"DirectAdmin"}],[{"l":"Firewall"}],[{"i":"ssltls-configuration","l":"SSL/TLS configuration"}],[{"l":"PHP configuration"}],[{"l":"Nginx configuration"}],[{"l":"Apache configuration"}],[{"l":"TurboStack Optimization"}],[{"i":"cicd","l":"CI/CD"}],[{"l":"Pipelines"}],[{"l":"SSH"},{"l":"How to user SSH Keys on TurboStack"},{"l":"Windows Users","p":["Don't - haha"]},{"l":"Linux Users"}],[{"l":"TS CLI","p":["The TurboStack Command Line Interface (later referred to as TSCLI) is available on all TurboStack servers to provide you with an easy to use tool to manage the services on your server, even ones you would normally need root access for. Below is a short description of the various features."]},{"l":"TSCLI Commands","p":["The TSCLI tool uses levels of arguments to categorize functions. Every command starts with 'tscli' followed by the service you're managing, followed by the parameters for the function you're using as documented below."]},{"l":"NGINX Webserver","p":["- Verifies the NGINX configuration and reloads it if it is valid. If it isn't valid you'll get an error with the issue reported."]},{"l":"BlackFire php Profiler","p":["- Installs the Blackfire Profiler and restarts the PHP-FPM service(s).","- Uninstalls the Blackfire Profiler and restarts the PHP-FPM service(s).","- Restarts the Blackfire Profiler service, to apply changes to the configuration."]},{"l":"Firewall","p":["- Returns info on wether the IP parameter is listed in the iptables. Please make sure to only use valid IP addresses.","- Adds a firewall rule to block a specific IP address as specified in the IP parameter.","- Removes an IP address from the firewall's deny list.","###php OpCache- Resets php's OpCache.","###Varnish Cache- Clears everything from Varnish Cache's memory.","- Reloads the Varnisch Cache configuration"]}],[{"l":"Back-up"}],[{"l":"Varnish"}],[{"l":"Redis"}],[{"l":"Apache"},{"i":"span-style-color-5283ff-font-size-24px-grant-or-deny-access-to-server-for-specific-ip-s-while-using-basic-auth-span","l":"**Grant or deny access to server for specific IP's while using basic auth**","p":["In this article, we'll tackle the problem how we can decide if a visitor should or should not login on a server with basic auht enabled, based on it's IP-adress.","So what is the result we want to achieve? We want to implement an .htpasswd so visitors need to have a valid login, except when the request came from a whitelisted IP adress. In that case, no login is asked and you'll be redirected to the site. Like a VIP that would skip a waiting queue for a club.","For a server with varnish enabled, is a different approach needed. All requests that go through varnish will pass the header (X-Forwarded-For), but it may contain some tempered information about the visitors IP. Because of this modification, the request for immediate access will be denied and the visitor will be asked to login. To make sure this won't happen, we'll add a variable for the header that contains the whitelisted IP-adress. The code below will do the trick:","For best practice will we add the IP's to the required list require ip"]},{"i":"span-style-color-5283ff-font-size-24px-block-infamous-bytespider-bot-span","l":"**Block infamous bytespider bot**","p":["Sometimes a server can go high in load due to the infamous bytespider bot. This one can be excluded by implementing this piece of code:"]}],[{"l":"nginx"}],[{"l":"Mail"}],[{"l":"MySQL"}],[{"l":"PostgreSQL"}],[{"l":"MongoDB"}],[{"l":"Other"}],[{"l":"Datadog"}],[{"l":"Newrelic"}],[{"l":"Blackfire"}],[{"l":"Security"}],[{"l":"Testing"}],[{"l":"Updating your TurboStack"}],[{"l":"Pricing"}],[{"l":"Some history"}],[{"l":"Monitoring"}],[{"l":"Alerting"}],[{"l":"Incident management"}],[{"l":"Standard support"},{"i":"247-proactive-monitoring","l":"24/7 Proactive Monitoring","p":["Our proactive monitoring was developed internally by Hosted Power and is continuously optimized so that we can guarantee the most accurate monitoring. The monitoring keeps an eye on crucial functionalities of the supported hosting environments and your application at all times. Thanks to the monitoring, adequate and proactive action will be taken, after all, prevention is better than the cure. It is possible to carry out specific checks specifically for your application; so that the correct action can be taken in the event of calamities. The customer has an obligation to inform Hosted Power in the event of expected peak times, the shutdown or interruption by the customer of the server or the services included in the monitoring. This must be communicated to Hosted Power at least 1 working day in advance."]},{"l":"scope"}]]
\ No newline at end of file
diff --git a/sitemap.xml.gz b/sitemap.xml.gz
index 0513cbf8..da686672 100644
Binary files a/sitemap.xml.gz and b/sitemap.xml.gz differ
diff --git a/support/alerting/index.html b/support/alerting/index.html
index b1edd724..8e8a5884 100644
--- a/support/alerting/index.html
+++ b/support/alerting/index.html
@@ -3,7 +3,7 @@
-
+
@@ -27,11 +27,11 @@
-
+
-
+
-
+