From 04b42aeb968e8bfaf61a55b55d294924c32ef466 Mon Sep 17 00:00:00 2001 From: Hritik Kothari Date: Mon, 24 Feb 2025 13:35:08 +0100 Subject: [PATCH 01/44] Add cancel cmd to obj storage docs --- .../getting-started-with-object-storage.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/hypernode-platform/object-storage/getting-started-with-object-storage.md b/docs/hypernode-platform/object-storage/getting-started-with-object-storage.md index 77f27b1d..d66f60a2 100644 --- a/docs/hypernode-platform/object-storage/getting-started-with-object-storage.md +++ b/docs/hypernode-platform/object-storage/getting-started-with-object-storage.md @@ -63,6 +63,15 @@ app@testhypernode ~ # hypernode-object-storage info You can use the credentials and the URL now to configure remote storage for your application with the help of [this document](../../ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md). +### Cancel/Delete object storage + +1. To cancel an Object storage, you can ssh into the Hypernode that is linked to that object storage. +1. Run `hypernode-object-storage cancel` + +Note: The cancellation will be in effect from the end of the month. +Also if you change your mind or forgot to pull some data. It will still be available for 7 days after the cancellation. You can always reach out to the support team for help if that happens. + + ## UI option - Control Panel Coming soon From cd34bb138abd85a1c89531ff44a8ff7b23ffa114 Mon Sep 17 00:00:00 2001 From: Hritik Kothari Date: Mon, 24 Feb 2025 13:35:44 +0100 Subject: [PATCH 02/44] format it --- .../object-storage/getting-started-with-object-storage.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/hypernode-platform/object-storage/getting-started-with-object-storage.md b/docs/hypernode-platform/object-storage/getting-started-with-object-storage.md index d66f60a2..41e738d5 100644 --- a/docs/hypernode-platform/object-storage/getting-started-with-object-storage.md +++ b/docs/hypernode-platform/object-storage/getting-started-with-object-storage.md @@ -71,7 +71,6 @@ You can use the credentials and the URL now to configure remote storage for your Note: The cancellation will be in effect from the end of the month. Also if you change your mind or forgot to pull some data. It will still be available for 7 days after the cancellation. You can always reach out to the support team for help if that happens. - ## UI option - Control Panel Coming soon From f884c89defa6ba73ec605d5cf3e29b3045a12a45 Mon Sep 17 00:00:00 2001 From: Hritik Kothari Date: Mon, 24 Feb 2025 13:45:48 +0100 Subject: [PATCH 03/44] keep obj storage consistent --- .../getting-started-with-object-storage.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/hypernode-platform/object-storage/getting-started-with-object-storage.md b/docs/hypernode-platform/object-storage/getting-started-with-object-storage.md index 41e738d5..6d27227e 100644 --- a/docs/hypernode-platform/object-storage/getting-started-with-object-storage.md +++ b/docs/hypernode-platform/object-storage/getting-started-with-object-storage.md @@ -11,7 +11,7 @@ redirect_from: Hypernode Object Storage provides an option to store media files, assets, backups, documents, etc in a persistent, remote storage container. -Object storage eliminates redundancy and provides a centralized, scalable solution for storing application assets, session data, and backups. +Object Storage eliminates redundancy and provides a centralized, scalable solution for storing application assets, session data, and backups. By default, media files are stored in the same filesystem that contains the application. This is inefficient for complex, multi-server configurations, and can result in degraded performance when sharing resources. @@ -36,15 +36,15 @@ hypernode-object-storage --help 1. Fill in the prompts with a name and desired storage. 1. Confirm your order and give it a few minutes before your storage is ready. -Note: You can use one object storage across multiple Hypernodes. But you can only use one object storage space per Hypernode. +Note: You can use one Object Storage across multiple Hypernodes. But you can only use one Object Storage space per Hypernode. If you receive this error, please make sure to enable "Allow billing through CLI in the relevant Hypernode settings page" ``` -You do not have permission to order object storage for this Hypernode. Please ask the Hypernode owner to enable 'Allow billing through the CLI' in the Control Panel settings or via the API +You do not have permission to order Object Storage for this Hypernode. Please ask the Hypernode owner to enable 'Allow billing through the CLI' in the Control Panel settings or via the API ``` -### Retrieve object storage +### Retrieve Object Storage 1. Run `hypernode-object-storage info` 1. If you want to retrieve your credentials for the workspace pass in the flag `--with-credentials`. @@ -63,9 +63,9 @@ app@testhypernode ~ # hypernode-object-storage info You can use the credentials and the URL now to configure remote storage for your application with the help of [this document](../../ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md). -### Cancel/Delete object storage +### Cancel/Delete Object Storage -1. To cancel an Object storage, you can ssh into the Hypernode that is linked to that object storage. +1. To cancel an Object Storage, you can ssh into the Hypernode that is linked to that Object Storage. 1. Run `hypernode-object-storage cancel` Note: The cancellation will be in effect from the end of the month. From c180d12b346d760e26c4f1070cd0ff1328357e8d Mon Sep 17 00:00:00 2001 From: Jonathan Visser Date: Fri, 28 Mar 2025 12:21:16 +0100 Subject: [PATCH 04/44] add autolinter suggest-changes to github actions --- .github/workflows/lint.yaml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .github/workflows/lint.yaml diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml new file mode 100644 index 00000000..dad8cb93 --- /dev/null +++ b/.github/workflows/lint.yaml @@ -0,0 +1,30 @@ +name: Run linting and suggest changes + +on: + pull_request: + +permissions: + contents: read + pull-requests: write + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['3.10'] + + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + pip install -r requirements/base.txt + - name: Check markdown format + run: mdformat docs/ + - uses: parkerbxyz/suggest-changes@v1 + with: + comment: 'Please commit the suggested changes from mdformat' + event: 'REQUEST_CHANGES' \ No newline at end of file From 884417e7c26b164fbc3137248c3a01b323e6c45d Mon Sep 17 00:00:00 2001 From: Jonathan Visser Date: Wed, 19 Feb 2025 14:00:42 +0100 Subject: [PATCH 05/44] Make use of :latest Hypernode Deploy image in docs --- .github/workflows/cleanup_acceptance.yaml | 2 +- .github/workflows/deploy.yaml | 6 +++--- docs/hypernode-deploy/getting-started/configure-ci-cd.md | 8 ++++---- docs/hypernode-deploy/pipelines/bitbucket-pipelines.md | 8 +++----- docs/hypernode-deploy/pipelines/github-actions.md | 9 +++++---- docs/hypernode-deploy/pipelines/gitlab-ci.md | 4 ++-- ...-deploy-your-application-using-hypernode-deploy-v1.md | 4 ++-- 7 files changed, 20 insertions(+), 21 deletions(-) diff --git a/.github/workflows/cleanup_acceptance.yaml b/.github/workflows/cleanup_acceptance.yaml index dbf68d63..35d24c80 100644 --- a/.github/workflows/cleanup_acceptance.yaml +++ b/.github/workflows/cleanup_acceptance.yaml @@ -7,7 +7,7 @@ on: jobs: cleanup: runs-on: ubuntu-latest - container: quay.io/hypernode/deploy:4-php8.3-node20 + container: quay.io/hypernode/deploy:latest-php8.3-node20 environment: acceptance steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/deploy.yaml b/.github/workflows/deploy.yaml index bade73a2..621666f4 100644 --- a/.github/workflows/deploy.yaml +++ b/.github/workflows/deploy.yaml @@ -12,7 +12,7 @@ env: jobs: build: runs-on: ubuntu-latest - container: quay.io/hypernode/deploy:4-php8.3-node20 + container: quay.io/hypernode/deploy:latest-php8.3-node20 steps: - uses: actions/checkout@v3 with: @@ -47,7 +47,7 @@ jobs: name: acceptance url: ${{ steps.get_brancher_hostname.outputs.BRANCHER_URL }} if: github.ref != 'refs/heads/master' - container: quay.io/hypernode/deploy:4-php8.3-node20 + container: quay.io/hypernode/deploy:latest-php8.3-node20 steps: - uses: actions/checkout@v3 with: @@ -102,7 +102,7 @@ jobs: name: production url: https://docs.hypernode.io if: github.ref == 'refs/heads/master' - container: quay.io/hypernode/deploy:4-php8.3-node20 + container: quay.io/hypernode/deploy:latest-php8.3-node20 steps: - uses: actions/checkout@v3 - name: download build artifact diff --git a/docs/hypernode-deploy/getting-started/configure-ci-cd.md b/docs/hypernode-deploy/getting-started/configure-ci-cd.md index fdf97af9..005dd4e0 100644 --- a/docs/hypernode-deploy/getting-started/configure-ci-cd.md +++ b/docs/hypernode-deploy/getting-started/configure-ci-cd.md @@ -103,8 +103,8 @@ env: jobs: build: runs-on: ubuntu-latest - # Here we use the Hypernode Deploy v4 image with PHP 8.3 and Node.js 20 - container: quay.io/hypernode/deploy:4-php8.3-node20 + # Here we use the latest Hypernode Deploy image with PHP 8.3 and Node.js 20 + container: quay.io/hypernode/deploy:latest-php8.3-node20 steps: - uses: actions/checkout@v2 - uses: actions/cache@v2 @@ -137,8 +137,8 @@ jobs: deploy: needs: build runs-on: ubuntu-latest - # Here we use the Hypernode Deploy v4 image with PHP 8.3 and Node.js 20 - container: quay.io/hypernode/deploy:4-php8.3-node20 + # Here we use the latest Hypernode Deploy image with PHP 8.3 and Node.js 20 + container: quay.io/hypernode/deploy:latest-php8.3-node20 steps: - uses: actions/checkout@v2 - name: download build artifact diff --git a/docs/hypernode-deploy/pipelines/bitbucket-pipelines.md b/docs/hypernode-deploy/pipelines/bitbucket-pipelines.md index 0d269f06..080a585e 100644 --- a/docs/hypernode-deploy/pipelines/bitbucket-pipelines.md +++ b/docs/hypernode-deploy/pipelines/bitbucket-pipelines.md @@ -58,7 +58,8 @@ Create the file `bitbucket-pipelines.yml` with the contents below. This workflow will be used in other workflows. ```yaml -image: quay.io/hypernode/deploy:4-php8.3-node20 +# Here we use the latest Hypernode Deploy image with PHP 8.3 and Node.js 20 +image: quay.io/hypernode/deploy:latest-php8.3-node20 definition: steps: @@ -74,10 +75,7 @@ definition: Don't forget to set the specifications of the image to what your project needs. The same goes for the deploy steps. For example, if your project needs PHP 8.3 and Node.js 20, set the image to: ```yaml -jobs: - build: - container: quay.io/hypernode/deploy:4-php8.3-node20 - ... +image: quay.io/hypernode/deploy:latest-php8.3-node20 ``` ```` diff --git a/docs/hypernode-deploy/pipelines/github-actions.md b/docs/hypernode-deploy/pipelines/github-actions.md index 4fa86330..0815ca34 100644 --- a/docs/hypernode-deploy/pipelines/github-actions.md +++ b/docs/hypernode-deploy/pipelines/github-actions.md @@ -57,7 +57,8 @@ on: jobs: build: runs-on: ubuntu-latest - container: quay.io/hypernode/deploy:4-php8.3-node20 + # See https://quay.io/repository/hypernode/deploy?tab=tags for all possible tags. + container: quay.io/hypernode/deploy:latest-php8.3-node20 steps: - uses: actions/checkout@v3 - uses: actions/cache@v3 @@ -82,7 +83,7 @@ For example, if your project needs PHP 8.3 and Node.js 20, set the image to: ```yaml jobs: build: - container: quay.io/hypernode/deploy:4-php8.3-node20 + container: quay.io/hypernode/deploy:latest-php8.3-node20 ... ``` ```` @@ -112,7 +113,7 @@ jobs: environment: name: production url: https://www.example.com - container: quay.io/hypernode/deploy:4-php8.3-node20 + container: quay.io/hypernode/deploy:latest-php8.3-node20 steps: - uses: actions/checkout@v3 - name: download build artifact @@ -156,7 +157,7 @@ jobs: environment: name: acceptance url: https://acceptance.example.com - container: quay.io/hypernode/deploy:4-php8.3-node20 + container: quay.io/hypernode/deploy:latest-php8.3-node20 steps: - uses: actions/checkout@v3 - name: download build artifact diff --git a/docs/hypernode-deploy/pipelines/gitlab-ci.md b/docs/hypernode-deploy/pipelines/gitlab-ci.md index 779d40bc..4c47aac8 100644 --- a/docs/hypernode-deploy/pipelines/gitlab-ci.md +++ b/docs/hypernode-deploy/pipelines/gitlab-ci.md @@ -49,7 +49,7 @@ This sets the container image, defines the CI/CD stages and defines the build st ```yaml # See https://quay.io/repository/hypernode/deploy?tab=tags for all possible tags. -image: quay.io/hypernode/deploy:4-php8.3-node20 +image: quay.io/hypernode/deploy:latest-php8.3-node20 stages: - build @@ -72,7 +72,7 @@ build: Don't forget to set the specifications of the image to what your project needs. For example, if your project needs PHP 8.3 and Node.js 16, set the image to: ```yaml -image: quay.io/hypernode/deploy:3-php8.3-node16 +image: quay.io/hypernode/deploy:latest-php8.3-node16 ``` ```` diff --git a/docs/hypernode-platform/tools/how-to-deploy-your-application-using-hypernode-deploy-v1.md b/docs/hypernode-platform/tools/how-to-deploy-your-application-using-hypernode-deploy-v1.md index 2c88efbe..c7a9b68c 100644 --- a/docs/hypernode-platform/tools/how-to-deploy-your-application-using-hypernode-deploy-v1.md +++ b/docs/hypernode-platform/tools/how-to-deploy-your-application-using-hypernode-deploy-v1.md @@ -166,7 +166,7 @@ defaults: jobs: build: runs-on: ubuntu-latest - container: quay.io/hypernode/deploy:4-php8.3-node20 + container: quay.io/hypernode/deploy:latest-php8.3-node20 steps: - uses: actions/checkout@v2 - uses: actions/cache@v2 @@ -186,7 +186,7 @@ jobs: deploy_staging: needs: build runs-on: ubuntu-latest - container: quay.io/hypernode/deploy:4-php8.3-node20 + container: quay.io/hypernode/deploy:latest-php8.3-node20 steps: - uses: actions/checkout@v2 - name: download build artifact From 1d396e4bd9d97fb09ae713769bc11c3e5f63d898 Mon Sep 17 00:00:00 2001 From: Jonathan Visser Date: Mon, 3 Mar 2025 11:13:12 +0100 Subject: [PATCH 06/44] Add spaces between hyperlinks --- .../one-of-your-magento-extensions-is-vulnerable.md | 2 +- .../performance/how-to-improve-your-magento-search.md | 2 +- .../shopware-6/how-to-configure-varnish-for-shopware-6.md | 2 +- docs/hypernode-platform/dns/dns-for-control-panel-users.md | 2 +- .../dns/how-to-set-up-your-spf-records-for-hypernode.md | 2 +- docs/hypernode-platform/php/how-to-override-php-settings.md | 2 +- .../tools/how-to-migrate-your-shop-to-hypernode.md | 2 +- ...to-order-a-hypernode-and-transfer-ownership-to-a-customer.md | 2 +- .../performance/how-to-debug-out-of-memory-oom-events.md | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/about-hypernode/security-policies/one-of-your-magento-extensions-is-vulnerable.md b/docs/about-hypernode/security-policies/one-of-your-magento-extensions-is-vulnerable.md index 7ca8cd3c..ddd55f78 100644 --- a/docs/about-hypernode/security-policies/one-of-your-magento-extensions-is-vulnerable.md +++ b/docs/about-hypernode/security-policies/one-of-your-magento-extensions-is-vulnerable.md @@ -22,7 +22,7 @@ This can include creditcard theft, sending email spam in your name, stealing cus ## Special attention to online credit card theft -A hot topic over the past few years are digital skimmers. A hacker group (also know as Magecart) use code inserted into websites to steal credit card details. As of October 2018 more than 20 extensions have been abused by hackers. Details can be found[in this blog explaining the attack method PHP Object Injection (POI)](https://sansec.io/labs/2018/10/23/magecart-extension-0days/). Former Hypernode owner Willem will update the list of vulnerable extensions regularly. +A hot topic over the past few years are digital skimmers. A hacker group (also know as Magecart) use code inserted into websites to steal credit card details. As of October 2018 more than 20 extensions have been abused by hackers. Details can be found [in this blog explaining the attack method PHP Object Injection (POI)](https://sansec.io/labs/2018/10/23/magecart-extension-0days/). Former Hypernode owner Willem will update the list of vulnerable extensions regularly. ## How do I fix it? diff --git a/docs/best-practices/performance/how-to-improve-your-magento-search.md b/docs/best-practices/performance/how-to-improve-your-magento-search.md index ac7da291..b3087857 100644 --- a/docs/best-practices/performance/how-to-improve-your-magento-search.md +++ b/docs/best-practices/performance/how-to-improve-your-magento-search.md @@ -25,7 +25,7 @@ Another alternative is Sphinx Search. Sphinx is an open source search engine tha ## ElasticSearch -While previously it was already possible to use ElasticSearch with your Hypernode by connecting to an external search provider, we have now made it possible to use ElasticSearch for search in your shop out of the box on Hypernode without requiring any external service or configuration. In[this article](../../hypernode-platform/tools/how-to-use-elasticsearch-on-hypernode.md) we’ll explain a bit more about ElasticSearch and how to enable and configure it. +While previously it was already possible to use ElasticSearch with your Hypernode by connecting to an external search provider, we have now made it possible to use ElasticSearch for search in your shop out of the box on Hypernode without requiring any external service or configuration. In [this article](../../hypernode-platform/tools/how-to-use-elasticsearch-on-hypernode.md) we’ll explain a bit more about ElasticSearch and how to enable and configure it. Please note that due to the relatively heavy resource requirements for ElasticSearch this feature can only be enabled on every plan except the formerly known Grow plan. If you are on a smaller plan and previously already depended on an external paid ElasticSearch provider now might be a good time to consider simplifying your setup. diff --git a/docs/ecommerce-applications/shopware-6/how-to-configure-varnish-for-shopware-6.md b/docs/ecommerce-applications/shopware-6/how-to-configure-varnish-for-shopware-6.md index 2633e132..f81ccfa1 100644 --- a/docs/ecommerce-applications/shopware-6/how-to-configure-varnish-for-shopware-6.md +++ b/docs/ecommerce-applications/shopware-6/how-to-configure-varnish-for-shopware-6.md @@ -15,7 +15,7 @@ redirect_from: Customers with Hypernode Pelican, Falcon (formerly known as Professional) and Eagle (formerly known as Excellence) plans can use Varnish to boost their shop. This article explains how you can configure Varnish for your Hypernode. -Although Varnish is extremely awesome when it get's to speeding up websites, Varnish is a complex technique that needs some experience to set it up. We'd recommend to first test varnish on a [staging environment](how-to-use-a-basic-staging-environment-with-shopware-6.md) or a[development plan](../../hypernode-platform/tools/how-to-use-hypernode-development-plans.md) before implementing varnish on a live node. +Although Varnish is extremely awesome when it get's to speeding up websites, Varnish is a complex technique that needs some experience to set it up. We'd recommend to first test varnish on a [staging environment](how-to-use-a-basic-staging-environment-with-shopware-6.md) or a [development plan](../../hypernode-platform/tools/how-to-use-hypernode-development-plans.md) before implementing varnish on a live node. ## Step One: Enable Varnish on the Hypernode diff --git a/docs/hypernode-platform/dns/dns-for-control-panel-users.md b/docs/hypernode-platform/dns/dns-for-control-panel-users.md index a2125fda..8aee4f3d 100644 --- a/docs/hypernode-platform/dns/dns-for-control-panel-users.md +++ b/docs/hypernode-platform/dns/dns-for-control-panel-users.md @@ -153,7 +153,7 @@ With an SPF record you can define which mail servers are allowed to send email f ## DNS Caching -DNS Caching means that the content of a DNS record is stored on a server between your computer and the authoritative name server. Some providers store this data longer than specified in the TTL, so it can take up to a day for the changes to your DNS record to take effect everywhere. This is something to keep in mind when changing DNS settings. There is very little you can do about it that the whole world does not immediately see your new site (most of it), but as a developer it is of course annoying. Fortunately, there is a (local) solution, namely the hosts file. This is a file where you can enter hostnames and IP addresses yourself. This way you can link a domain name to an IP address so that when you visit this domain name, the DNS server is no longer consulted and you are always referred to the same IP address.Please see[this article](../../best-practices/testing/how-to-test-your-website-by-changing-your-hosts-file.md) for more information about the host file. +DNS Caching means that the content of a DNS record is stored on a server between your computer and the authoritative name server. Some providers store this data longer than specified in the TTL, so it can take up to a day for the changes to your DNS record to take effect everywhere. This is something to keep in mind when changing DNS settings. There is very little you can do about it that the whole world does not immediately see your new site (most of it), but as a developer it is of course annoying. Fortunately, there is a (local) solution, namely the hosts file. This is a file where you can enter hostnames and IP addresses yourself. This way you can link a domain name to an IP address so that when you visit this domain name, the DNS server is no longer consulted and you are always referred to the same IP address.Please see [this article](../../best-practices/testing/how-to-test-your-website-by-changing-your-hosts-file.md) for more information about the host file. ### DKIM and DMARC diff --git a/docs/hypernode-platform/dns/how-to-set-up-your-spf-records-for-hypernode.md b/docs/hypernode-platform/dns/how-to-set-up-your-spf-records-for-hypernode.md index 2d96d473..d1e9fd53 100644 --- a/docs/hypernode-platform/dns/how-to-set-up-your-spf-records-for-hypernode.md +++ b/docs/hypernode-platform/dns/how-to-set-up-your-spf-records-for-hypernode.md @@ -133,7 +133,7 @@ The From header is part of the message body and is only used for display purpose There are web based tools available that can help you generate an SPF record. As there are always corner cases which the generator does not take into account, blindly generating an SPF record with one of these tools and copy paste it in your DNS zone is never a good idea. If you know what you are doing however, this generators can be of great assistance. -The best generators we’ve found so far are the one on[spfwizard.net](https://www.spfwizard.net), and the one on [unlock the inbox.](https://www.unlocktheinbox.com/spfwizard/) Both tools are free of use for anyone. +The best generators we’ve found so far are the one on [spfwizard.net](https://www.spfwizard.net), and the one on [unlock the inbox.](https://www.unlocktheinbox.com/spfwizard/) Both tools are free of use for anyone. ### Finding your current SPF record diff --git a/docs/hypernode-platform/php/how-to-override-php-settings.md b/docs/hypernode-platform/php/how-to-override-php-settings.md index 5ce315a8..999b4913 100644 --- a/docs/hypernode-platform/php/how-to-override-php-settings.md +++ b/docs/hypernode-platform/php/how-to-override-php-settings.md @@ -45,7 +45,7 @@ With a few easy steps, you can override php settings when running in PHP-FPM mod Any subsequent PHP installations such as WordPress in a `~/public/blog/` directory, will not be affected by the changes in this `.user.ini` If you wish to change the settings for both directories, you'll have to install two separate `.user.ini` files, or place the `.user.ini` file in your `~/public/` directory. This will affect all PHP scripts running on your Hypernode. -More info can be found on the[PHP documentation page](http://php.net/manual/en/configuration.file.per-user.php). +More info can be found on the [PHP documentation page](http://php.net/manual/en/configuration.file.per-user.php). ## Changing your PHP settings diff --git a/docs/hypernode-platform/tools/how-to-migrate-your-shop-to-hypernode.md b/docs/hypernode-platform/tools/how-to-migrate-your-shop-to-hypernode.md index e68df284..4ebc43be 100644 --- a/docs/hypernode-platform/tools/how-to-migrate-your-shop-to-hypernode.md +++ b/docs/hypernode-platform/tools/how-to-migrate-your-shop-to-hypernode.md @@ -97,7 +97,7 @@ Please follow these steps: ## Done Migrating? -Done? Now it's time to[check if everything works](../../best-practices/testing/how-to-check-if-everything-works.md) as it should! +Done? Now it's time to [check if everything works](../../best-practices/testing/how-to-check-if-everything-works.md) as it should! ## Tips and Tricks diff --git a/docs/services/control-panel/how-to-order-a-hypernode-and-transfer-ownership-to-a-customer.md b/docs/services/control-panel/how-to-order-a-hypernode-and-transfer-ownership-to-a-customer.md index 97984c0e..00330209 100644 --- a/docs/services/control-panel/how-to-order-a-hypernode-and-transfer-ownership-to-a-customer.md +++ b/docs/services/control-panel/how-to-order-a-hypernode-and-transfer-ownership-to-a-customer.md @@ -13,7 +13,7 @@ redirect_from: # How To Order a Hypernode and Transfer Ownership To a Customer -Need a (new) hosting plan for your Magento, Shopware or Akeneo shop? You’ve come to the right place. Hypernode has been developed in close consultation with e-commerce developers, with the objective of having e-commerce web shops perform to their best advantage and to make its development several times easier. An overview of all hosting plans can be found on[our website](https://www.hypernode.com/magento-hosting-plans/). +Need a (new) hosting plan for your Magento, Shopware or Akeneo shop? You’ve come to the right place. Hypernode has been developed in close consultation with e-commerce developers, with the objective of having e-commerce web shops perform to their best advantage and to make its development several times easier. An overview of all hosting plans can be found on [our website](https://www.hypernode.com/magento-hosting-plans/). This article will explain how to order a Hypernode and how this plan can be transferred to your customer on our Control Panel. diff --git a/docs/troubleshooting/performance/how-to-debug-out-of-memory-oom-events.md b/docs/troubleshooting/performance/how-to-debug-out-of-memory-oom-events.md index e23deb40..10a64cb6 100644 --- a/docs/troubleshooting/performance/how-to-debug-out-of-memory-oom-events.md +++ b/docs/troubleshooting/performance/how-to-debug-out-of-memory-oom-events.md @@ -28,7 +28,7 @@ The default is to be more restrictive, as, on average, that seems to be the most This configurable setting can be set using the [hypernode-api](https://community.hypernode.io/#/Documentation/hypernode-api/README) or the [hypernode-systemctl](https://community.hypernode.io/#/Documentation/hypernode-api/settings/README) command-line tool from the Hypernode. -If you want to enable or disable this setting, you can do so with the command below. But before you do, read[this changelog](https://changelog.hypernode.com/changelog/release-5874-better-out-of-memory-pattern-detection-for-preventive-non-essential-process-slaying/) for an in-depth explanation of what the setting exactly entails. +If you want to enable or disable this setting, you can do so with the command below. But before you do, read [this changelog](https://changelog.hypernode.com/changelog/release-5874-better-out-of-memory-pattern-detection-for-preventive-non-essential-process-slaying/) for an in-depth explanation of what the setting exactly entails. ```bash hypernode-systemctl settings permissive_memory_management --value True From feb2bd397fb90c6a57d78a9b45851065a307ea09 Mon Sep 17 00:00:00 2001 From: "dominik.matic" Date: Thu, 27 Feb 2025 14:48:25 +0100 Subject: [PATCH 07/44] initial draft --- ...onfigure-remote-storage-for-magento-2-x.md | 133 +++++------------- 1 file changed, 34 insertions(+), 99 deletions(-) diff --git a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md index 0209c1dd..59fa8499 100644 --- a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md +++ b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md @@ -22,6 +22,11 @@ This can be useful for many reasons, such as: Configuring Magento 2 to start storing files in your bucket is done using a single command. +**Hypernode Object Storage** +```bash +something something? +``` + **AWS S3** ```bash @@ -55,14 +60,29 @@ Instead of running (which is Magento's official way to do this): bin/magento remote-storage:sync ``` -One can run the following instead to really speed up the process: +you can run the following to really speed up the process: + +```bash +hypernode-object-storage objects sync pub/media/ s3://my_bucket_name/media/ +hypernode-object-storage objects sync var/import_export s3://my_bucket_name/import_export +``` + +`hypernode-object-storage objects sync` will run a sync process in the background for you, +and will tell you what the PID of that process is. With the PID you can run the following +command to check up on the progress of the sync: + +```bash +hypernode-object-storage objects show PID +``` + +Alternatively, you can run the `aws s3 sync` command directly: ```bash aws s3 sync pub/media/ s3://my_bucket_name/media/ aws s3 sync var/import_export s3://my_bucket_name/import_export ``` -This is much faster than Magento's built-in sync, because `aws s3 sync` uploads files concurrently. +In any case, that is much faster than Magento's built-in sync, because `aws s3 sync` uploads files concurrently. ## The storage flag file in the bucket @@ -70,109 +90,24 @@ Magento's S3 implementation creates a test file called `storage.flag`, which is ## Serving assets from your S3 bucket -To start serving media assets from your S3 bucket, you need to make some adjustments to your nginx configuration. Create the following file at `/data/web/nginx/example.com/server.assets.conf` for each relevant vhost: - -```nginx -set $backend "haproxy"; - -location @object_storage_fallback { - # Proxy to object storage - set $bucket "my_bucket_name"; - proxy_cache_key "$bucket$uri"; - proxy_cache_valid 200 302 7d; - proxy_cache_methods GET HEAD; - proxy_cache_background_update on; - proxy_cache_use_stale updating; - proxy_cache asset_cache; - resolver 8.8.8.8; - proxy_pass https://$bucket.s3.amazonaws.com$uri; - proxy_pass_request_body off; - proxy_pass_request_headers off; - proxy_intercept_errors on; - proxy_hide_header "x-amz-id-2"; - proxy_hide_header "x-amz-request-id"; - proxy_hide_header "x-amz-storage-class"; - proxy_hide_header "x-amz-server-side-encryption"; - proxy_hide_header "Set-Cookie"; - proxy_ignore_headers "Set-Cookie"; - add_header Cache-Control "public"; - add_header X-Frame-Options "SAMEORIGIN"; - add_header X-Cache-Status $upstream_cache_status; - expires +1y; - - # If object storage fails, fallback to PHP handler - error_page 404 = @asset_fallback; - error_page 403 = @asset_fallback; -} - -location @php_asset_fallback { - # Handle with phpfpm - rewrite ^/media /get.php?$args last; - rewrite ^/static/(version\d*/)?(.*)$ /static.php?resource=$2 last; - echo_exec @phpfpm; -} - -location @haproxy { - # Handle with haproxy - include /etc/nginx/proxy_to_haproxy.conf; - proxy_pass http://127.0.0.1:8080; -} - -location @asset_fallback { - try_files "" $asset_fallback_handler; -} +To start serving media assets from your S3 bucket, you need to make some adjustments to your nginx configuration. Luckily, `hypernode-manage-vhosts` does this for you! If you are using Hypernode's object storage solution, all you need to do is run the following for relevant vhosts: -location ~ ^/static/ { - expires max; - - # Remove signature of the static files that is used to overcome the browser cache - location ~ ^/static/version\d*/ { - rewrite ^/static/version\d*/(.*)$ /static/$1 last; - } - - location ~* \.(ico|jpg|jpeg|png|gif|svg|svgz|webp|avif|avifs|js|css|eot|ttf|otf|woff|woff2|html|json|webmanifest)$ { - add_header Cache-Control "public"; - add_header X-Frame-Options "SAMEORIGIN"; - expires +1y; - - try_files $uri $uri/ @asset_fallback; - } - location ~* \.(zip|gz|gzip|bz2|csv|xml)$ { - add_header Cache-Control "no-store"; - add_header X-Frame-Options "SAMEORIGIN"; - expires off; - - try_files $uri $uri/ @asset_fallback; - } - try_files $uri $uri/ @asset_fallback; - add_header X-Frame-Options "SAMEORIGIN"; -} +```bash +hmv example.com --object-storage +``` -location /media/ { - try_files $uri $uri/ @asset_fallback; +In the case that you're using custom object storage, such as Amazon's S3, you will need to supply the bucket name and the bucket URL yourself: +```bash +hmv example.com --object-storage --object-storage-bucket mybucket --object-storage-url https://example_url.com +``` - location ~ ^/media/theme_customization/.*\.xml { - deny all; - } +If you have previously set your own custom bucket name and URL, but have since switched to Hypernode's object storage solution, then you can use the `--object-storage-defaults` flag to force overwrite your values to Hypernode's default ones: - location ~* \.(ico|jpg|jpeg|png|gif|svg|svgz|webp|avif|avifs|js|css|swf|eot|ttf|otf|woff|woff2)$ { - add_header Cache-Control "public"; - add_header X-Frame-Options "SAMEORIGIN"; - expires +1y; - try_files $uri $uri/ @object_storage_fallback; - } - location ~* \.(zip|gz|gzip|bz2|csv|xml)$ { - add_header Cache-Control "no-store"; - add_header X-Frame-Options "SAMEORIGIN"; - expires off; - try_files $uri $uri/ @object_storage_fallback; - } - add_header X-Frame-Options "SAMEORIGIN"; -} +```bash +hmv example.com --object-storage --object-storage-defaults ``` -Make sure to change the string `my_bucket_name` to the name of your bucket and keep in mind that your bucket URL might be different depending on your AWS region. For example, you might need to change it from `https://$bucket.s3.amazonaws.com$uri` to `https://s3.amazonaws.com/$bucket$uri` instead. -Furthermore, ensure that your S3 bucket policies are configured correctly, so that only `/media` is publicly readable. For example: +Furthermore, if you're using Amazon S3 as your bucket, ensure that your S3 bucket policies are configured correctly, so that only `/media` is publicly readable. For example: ```json { From 21b3de83c7712ff8f5078acc663430a2a83f4b7f Mon Sep 17 00:00:00 2001 From: "dominik.matic" Date: Thu, 27 Feb 2025 15:37:22 +0100 Subject: [PATCH 08/44] improve sentences, add subchapters --- ...onfigure-remote-storage-for-magento-2-x.md | 35 +++++++++++-------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md index 59fa8499..5418cab8 100644 --- a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md +++ b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md @@ -52,37 +52,34 @@ bin/magento setup:config:set \ --remote-storage-endpoint="https://my-s3-compatible.endpoint.com" ``` -## Syncing the files +## Syncing the files (efficiently) -Instead of running (which is Magento's official way to do this): +Magento provides an official method for syncing files using the following command (not recommended): ```bash bin/magento remote-storage:sync ``` - -you can run the following to really speed up the process: +However, for significantly improved performance, you can use the following alternative: ```bash hypernode-object-storage objects sync pub/media/ s3://my_bucket_name/media/ hypernode-object-storage objects sync var/import_export s3://my_bucket_name/import_export ``` -`hypernode-object-storage objects sync` will run a sync process in the background for you, -and will tell you what the PID of that process is. With the PID you can run the following -command to check up on the progress of the sync: +The `hypernode-object-storage objects sync` command runs the sync process in the background +and provides the Process ID (PID). You can monitor the sync progress using: ```bash hypernode-object-storage objects show PID ``` -Alternatively, you can run the `aws s3 sync` command directly: +Alternatively, you can use the AWS CLI directly: ```bash aws s3 sync pub/media/ s3://my_bucket_name/media/ aws s3 sync var/import_export s3://my_bucket_name/import_export ``` - -In any case, that is much faster than Magento's built-in sync, because `aws s3 sync` uploads files concurrently. +Both methods are significantly faster than Magento’s built-in sync, as aws s3 sync handles uploads concurrently. ## The storage flag file in the bucket @@ -90,24 +87,32 @@ Magento's S3 implementation creates a test file called `storage.flag`, which is ## Serving assets from your S3 bucket -To start serving media assets from your S3 bucket, you need to make some adjustments to your nginx configuration. Luckily, `hypernode-manage-vhosts` does this for you! If you are using Hypernode's object storage solution, all you need to do is run the following for relevant vhosts: +To serve media assets directly from your S3 bucket, you need to adjust your Nginx configuration. +Fortunately, `hypernode-manage-vhosts` simplifies this process for you. If you're using Hypernode's object storage solution, +simply run the following command for the relevant vhosts: ```bash hmv example.com --object-storage ``` +### Using a custom object storage solution + +If you're using a custom storage provider, such as Amazon S3, you'll need to specify the bucket name and URL manually: -In the case that you're using custom object storage, such as Amazon's S3, you will need to supply the bucket name and the bucket URL yourself: ```bash hmv example.com --object-storage --object-storage-bucket mybucket --object-storage-url https://example_url.com ``` -If you have previously set your own custom bucket name and URL, but have since switched to Hypernode's object storage solution, then you can use the `--object-storage-defaults` flag to force overwrite your values to Hypernode's default ones: +### Switching back to Hypernode defaults + +If you previously set a custom bucket and URL but want to revert to Hypernode's default object storage, use the `--object-storage-defaults` flag: ```bash -hmv example.com --object-storage --object-storage-defaults +hmv example.com --object-storage-defaults ``` -Furthermore, if you're using Amazon S3 as your bucket, ensure that your S3 bucket policies are configured correctly, so that only `/media` is publicly readable. For example: +### Configuring Amazon S3 bucket policies + +If you’re using Amazon S3, ensure that your S3 bucket policies are properly configured so that only the `/media` directory is publicly accessible. For example: ```json { From 120d76c8684af3fb19d45df9f86bcc318e371966 Mon Sep 17 00:00:00 2001 From: "dominik.matic" Date: Thu, 27 Feb 2025 15:40:23 +0100 Subject: [PATCH 09/44] minor aesthetic fix --- .../how-to-configure-remote-storage-for-magento-2-x.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md index 5418cab8..d2bcc1c8 100644 --- a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md +++ b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md @@ -88,8 +88,8 @@ Magento's S3 implementation creates a test file called `storage.flag`, which is ## Serving assets from your S3 bucket To serve media assets directly from your S3 bucket, you need to adjust your Nginx configuration. -Fortunately, `hypernode-manage-vhosts` simplifies this process for you. If you're using Hypernode's object storage solution, -simply run the following command for the relevant vhosts: +Fortunately, `hypernode-manage-vhosts` simplifies this process for you. +If you're using Hypernode's object storage solution, simply run the following command for the relevant vhosts: ```bash hmv example.com --object-storage From 378ef29788d93d1304b5030ada67e712a04b848e Mon Sep 17 00:00:00 2001 From: "dominik.matic" Date: Thu, 27 Feb 2025 15:42:57 +0100 Subject: [PATCH 10/44] apply mdformat --- .../how-to-configure-remote-storage-for-magento-2-x.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md index d2bcc1c8..40c91e33 100644 --- a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md +++ b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md @@ -23,6 +23,7 @@ This can be useful for many reasons, such as: Configuring Magento 2 to start storing files in your bucket is done using a single command. **Hypernode Object Storage** + ```bash something something? ``` @@ -59,6 +60,7 @@ Magento provides an official method for syncing files using the following comman ```bash bin/magento remote-storage:sync ``` + However, for significantly improved performance, you can use the following alternative: ```bash @@ -79,6 +81,7 @@ Alternatively, you can use the AWS CLI directly: aws s3 sync pub/media/ s3://my_bucket_name/media/ aws s3 sync var/import_export s3://my_bucket_name/import_export ``` + Both methods are significantly faster than Magento’s built-in sync, as aws s3 sync handles uploads concurrently. ## The storage flag file in the bucket @@ -94,6 +97,7 @@ If you're using Hypernode's object storage solution, simply run the following co ```bash hmv example.com --object-storage ``` + ### Using a custom object storage solution If you're using a custom storage provider, such as Amazon S3, you'll need to specify the bucket name and URL manually: From d825329b8a1c55820b10426ba058279ab1e5a0b0 Mon Sep 17 00:00:00 2001 From: "dominik.matic" Date: Fri, 28 Feb 2025 11:48:00 +0100 Subject: [PATCH 11/44] add info about hypernode-object-storage objects to getting-started-with-object-storage --- .../getting-started-with-object-storage.md | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/docs/hypernode-platform/object-storage/getting-started-with-object-storage.md b/docs/hypernode-platform/object-storage/getting-started-with-object-storage.md index 6d27227e..fe8ac4b4 100644 --- a/docs/hypernode-platform/object-storage/getting-started-with-object-storage.md +++ b/docs/hypernode-platform/object-storage/getting-started-with-object-storage.md @@ -70,6 +70,55 @@ You can use the credentials and the URL now to configure remote storage for your Note: The cancellation will be in effect from the end of the month. Also if you change your mind or forgot to pull some data. It will still be available for 7 days after the cancellation. You can always reach out to the support team for help if that happens. +### Managing objects in object storage + +You can manage your objects using the `hypernode-object-storage objects` subcommand. +It supports all common operations--listing, copying, moving, and deleting files--while also allowing you to sync files in the background and monitor the progress of an ongoing sync. + +```console +app@testhypernode ~ # hypernode-object-storage objects --help +usage: hypernode-object-storage objects [-h] {sync,cp,ls,mv,rm,show} ... + +Manage objects in object storage + +positional arguments: + {sync,cp,ls,mv,rm,show} + sync Synchronize files between a local directory and an object storage location + cp Copy a file or object from one location to another + ls List objects in an S3 bucket or folder + mv Move or rename a file or object + rm Delete an object from S3 + show Display the current status of an ongoing sync process + +options: + -h, --help show this help message and exit +``` + +It is important to note that `hypernode-object-storage objects` supports all optional flags available in `aws s3`, allowing you to customize its behavior for advanced configurations. + +#### Syncing files and monitoring progress + +Syncing files between your local directory and object storage is simple. Run the following command: + +```console +app@testhypernode ~ # hypernode-object-storage objects sync /example/local/path/ s3://example/bucket/uri/ +Syncing objects from /example/local/path/ to s3://example/bucket/uri/... +Sync process started with PID 1234 in the background. +``` + +The `sync` operation runs in the background, and you can monitor its progress by using the `show` command, for example: + +```console +app@testhypernode ~ # hypernode-object-storage objects show 1234 +Completed 9.7 GiB/~30.0 GiB (118.2 MiB/s) with ~5 file(s) remaining (calculating...) +``` + +If you run the `show` command after the sync operation has finished, you’ll see output like this: + +```console +app@testhypernode ~ # hypernode-object-storage objects show 1234 +Process 1234 does not exist anymore +``` ## UI option - Control Panel From 1481b470437bcaea40016f7e92d4316912570beb Mon Sep 17 00:00:00 2001 From: "dominik.matic" Date: Fri, 28 Feb 2025 14:26:44 +0100 Subject: [PATCH 12/44] add info about configuring magento to use hypernode object storage --- ...onfigure-remote-storage-for-magento-2-x.md | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md index 40c91e33..1e73f286 100644 --- a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md +++ b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md @@ -22,35 +22,40 @@ This can be useful for many reasons, such as: Configuring Magento 2 to start storing files in your bucket is done using a single command. -**Hypernode Object Storage** +**Hypernode Object Storage and other S3 compatible providers** -```bash -something something? -``` - -**AWS S3** +If you're using Hypernode Object Storage or a different provider than AWS S3, you need to specify the `--remote-storage-endpoint` option. ```bash bin/magento setup:config:set \ --remote-storage-driver="aws-s3" \ --remote-storage-bucket="my_bucket_name" \ - --remote-storage-region="my-aws-region" \ + --remote-storage-region="provider-region" \ --remote-storage-key="abcd1234" \ - --remote-storage-secret="abcd1234" + --remote-storage-secret="abcd1234" \ + --remote-storage-endpoint="https://my-s3-compatible.endpoint.com" ``` -**Other S3 compatible providers** +In the case of Hypernode Object Storage you can get the relevant information by running `hypernode-object-storage info` with the `--with-credentials` flag: -If you're using a different provider than AWS S3, you need to specify the `--remote-storage-endpoint` option. +```console +app@testapp ~ # hypernode-object-storage info --with-credentials ++--------------------------------------+----------------+---------+-------------+-------------------------------------+---------------+---------------+ +| UUID | Name | Plan | Hypernodes | Management URL | Access Key | Secret Key | ++--------------------------------------+----------------+---------+-------------+-------------------------------------+---------------+---------------+ +| 12345678-9012-3456-b7e3-19ab43df4a23 | testappbucket1 | OS200GB | testapp | https://example.ams.objectstore.eu | abcd1234 | abcd1234 | ++--------------------------------------+----------------+---------+-------------+-------------------------------------+---------------+---------------+ +``` + +**AWS S3** ```bash bin/magento setup:config:set \ --remote-storage-driver="aws-s3" \ --remote-storage-bucket="my_bucket_name" \ - --remote-storage-region="provider-region" \ + --remote-storage-region="my-aws-region" \ --remote-storage-key="abcd1234" \ - --remote-storage-secret="abcd1234" \ - --remote-storage-endpoint="https://my-s3-compatible.endpoint.com" + --remote-storage-secret="abcd1234" ``` ## Syncing the files (efficiently) @@ -61,7 +66,7 @@ Magento provides an official method for syncing files using the following comman bin/magento remote-storage:sync ``` -However, for significantly improved performance, you can use the following alternative: +However, for better performance, you can use the following alternative: ```bash hypernode-object-storage objects sync pub/media/ s3://my_bucket_name/media/ From 513554bcf476470659c544cc6267ac34f3c6efcf Mon Sep 17 00:00:00 2001 From: Jesse van Dijk Date: Tue, 4 Mar 2025 12:46:23 +0100 Subject: [PATCH 13/44] Added more information about OS + Room change --- ...ow-to-handle-os-and-room-change-upgrade.md | 177 ++++++++++++++++++ 1 file changed, 177 insertions(+) create mode 100644 docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md diff --git a/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md b/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md new file mode 100644 index 00000000..7910f595 --- /dev/null +++ b/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md @@ -0,0 +1,177 @@ +--- +myst: + html_meta: + description: 'Learn how our Xgrade proces work and how to make sure your Hypernode is ready for the Debian Bookworm upgrade' + title: How does the Xgrade proces work +--- + +# What is the Xgrade process of Hypernode? + +An Xgrade is an automated process that allows your server to be upgraded or downgraded without any manual actions. Additionally, an Xgrade enables migration to one of our other providers. + +## How does an Xgrade to Debian Bookworm or R405 work, and does it involve downtime? + +An Xgrade to Debian Bookworm or R405 (which can be performed together) is carried out by our automation. Below are the relevant steps in the process: + +1. Ensure a new Hypernode is created. +2. Configure the new Hypernode (Operating system, MySQL, PHP, Varnish, etc.). +3. Synchronize data (everything within the "/" and "/data" partition). +4. Stop all services on the current Hypernode. +5. Synchronize any new data that has been written. +6. Perform checks to ensure all processes are complete. +7. Send a "Hypernode migrated" event. +8. Destroy the old Hypernode. + +As you can see, a completely new Hypernode is created with the correct configurations, whether for a Debian Bookworm or an R405 Xgrade. The first synchronization of data will then take place. The duration of this synchronization depends on the amount and type of data. Typically, we calculate about 1 GB per minute, but this may vary. + +At a certain point, all services will be stopped to prevent new orders from being placed and to ensure no data is lost. A second synchronization will then take place to transfer any newly written data. After this, our automation will conduct various checks before finalizing the migration to Debian Bookworm or R405 (or a combination of both). + +## What should be checked or adjusted before the Xgrade? (e.g., Node.js and TLS configuration) + +### Nodejs +Before scheduling a Xgrade to Debian Bookworm/R405, you must check which Node.js version you are using. This is necessary because Node.js versions 6 and 10 are no longer supported on the new operating system. Standard Magento 2 does not make use of Nodejs, but if you use another CMS or have custom scripts that require them, you may need to update your setup. + +You can check your Node.js version in two ways; withing the Control Panel, or on the CLI: +Within the Control Panel: Navigate to Settings → Development. + +``` +app@uaifqk-hnvandijk-magweb-cmbl:~$ hypernode-systemctl settings nodejs_version +nodejs_version is set to value 16 +``` + +If necessary, you can update Node.js by following these steps: + +``` +app@uaifqk-hnvandijk-magweb-cmbl:~$ hypernode-systemctl settings nodejs_version 16 +Operation was successful and is being processed. Please allow a few minutes for the settings to be applied. Run 'livelog' to see the progress. +``` + +### TLS configuration +With the upgrade to Debian Bookworm, the TLS configurations will also change. We have chosen to phase out outdated TLS versions 1.0 and 1.1. Additionally, the "modern" TLS configuration will now only support TLS 1.3. + +Below are the TLS configurations for Debian Buster: + +Intermediate TLS configuratie: +``` +# intermediate configuration +# nginx 1.16.1 | intermediate profile | OpenSSL 1.1.1d +# Oldest compatible clients: Firefox 27, Android 4.4.2, Chrome 31, Edge 12, IE 11 (Win7), Java 8u31, OpenSSL 1.0.1, Opera 20, Safari 9 +# https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28default.29 +ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; +ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA; +ssl_prefer_server_ciphers on; +# Diffie-Hellman parameter for DHE ciphersuites +ssl_dhparam /etc/nginx/dhparams.pem; + +ssl_stapling on; +ssl_stapling_verify on; +``` + +modern TLS configuratie: + +``` +# intermediate configuration +# nginx 1.22.1 | intermediate profile | OpenSSL 3.0.11 +# Oldest compatible clients: Firefox 27, Android 4.4.2, Chrome 31, Edge, IE 11 on Windows 7, Java 8u31, OpenSSL 1.0.1, Opera 20, and Safari 9 +# https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility +ssl_protocols TLSv1.2 TLSv1.3; +ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305; +ssl_prefer_server_ciphers off; +# Diffie-Hellman parameter for DHE ciphersuites +ssl_dhparam /etc/nginx/dhparams.pem; + +ssl_stapling on; +ssl_stapling_verify on; +``` + +And here are the new TLS configurations for Debian Bookworm: + +Intermediate TLS configuration: + +``` +# intermediate configuration +# nginx 1.22.1 | intermediate profile | OpenSSL 3.0.11 +# Oldest compatible clients: Firefox 27, Android 4.4.2, Chrome 31, Edge, IE 11 on Windows 7, Java 8u31, OpenSSL 1.0.1, Opera 20, and Safari 9 +# https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility +ssl_protocols TLSv1.2 TLSv1.3; +ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305; +ssl_prefer_server_ciphers off; +# Diffie-Hellman parameter for DHE ciphersuites +ssl_dhparam /etc/nginx/dhparams.pem; + +ssl_stapling on; +ssl_stapling_verify on; +``` + +modern TLS configuratie: +``` +# modern configuration +# nginx 1.22.1 | modern profile | OpenSSL 3.0.11 +# Oldest compatible clients: Firefox 63, Android 10.0, Chrome 70, Edge 75, Java 11, OpenSSL 1.1.1, Opera 57, and Safari 12.1 +# https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility +ssl_protocols TLSv1.3; +ssl_prefer_server_ciphers off; +ssl_stapling on; +ssl_stapling_verify on; +``` + +If you need to adjust the TLS configuration, you can do so using the "Hypernode-manage-vhost" command. + +``` +hmv hnvandijk.nl --ssl-config modern +``` + +Please see the actual `--ssl-config` flag: + +``` + --ssl-config {modern,intermediate} + Use the given Mozilla SSL standard config +``` + +Additionally, you may need to modify the Modern_ssl_config using "hypernode-systemctl". + +``` +app@uaifqk-hnvandijk-magweb-cmbl:~$ hypernode-systemctl settings modern_ssl_config_enabled +false true +``` + + +# What needs to be adjusted after the Xgrade? When can it be performed? (IP changes) + +If you choose to Xgrade to R405, you will receive a new IP address from our automation system. You must update this IP address in the DNS settings for both the non-www and www records of your domain. This information will be sent to the email address associated with the Hypernode owner. + +My domain is at Hypernode, can we automate this? Yes, you can enable the "Synchronize DNS" option in our DNS manager. Our automation will update the DNS settings for you after the Xgrade. + +We make use of Cloudflare, would we be able to "automate" this proces? Sure! You can enable CNAME Flattening, which ensures that both the non-www and www records point to the Hypernode hostname. For example: + +### Non-www Record +``` +CNAME hnvandijk.nl ---> hnvandijk.hypernode.io +``` + +### www Record +``` +CNAME www.hnvandijk.nl ---> hnvandijk.hypernode.io +``` + +We can schedule the Xgrade at a time that suits you! However, we can only provide the new IP address in advance if the Xgrade is performed during our standard working hours (09:00–18:00). + +# I have a dedicated machine at Hetzner/ TBBM instead of a cloud environment. What does this mean? + +If you have a dedicated machine and need an OS upgrade, you will be migrated to a different machine. This means you will receive a new IP address. The new machine will be set up at the TBBM data center, and we can only provide the new IP address during our standard working hours. + +The OS upgrade process itself is the same as for a cloud environment. + +# Additional Questions + + * An Xgrade to R405 does not incur additional costs, you will not be charged extra. + +* An Xgrade from Hetzner to TBBM also incurs no extra costs, you will not be charged extra. + +# More Information + +https://changelog.hypernode.com/release-9961-akeneo-7-0-is-now-available-on-the-platform/ + +https://changelog.hypernode.com/release-9956-hypernode-on-debian-bookworm/ + +https://changelog.hypernode.com/sunsetting-node-js-versions-6-and-10/ \ No newline at end of file From 34bf50f954f5a6ef023eef3725c69be1517c5158 Mon Sep 17 00:00:00 2001 From: Jonathan Visser Date: Tue, 4 Mar 2025 12:50:07 +0100 Subject: [PATCH 14/44] run mdformat --- ...ow-to-handle-os-and-room-change-upgrade.md | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) mode change 100644 => 100755 docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md diff --git a/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md b/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md old mode 100644 new mode 100755 index 7910f595..1cb8c68c --- a/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md +++ b/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md @@ -1,7 +1,8 @@ --- myst: html_meta: - description: 'Learn how our Xgrade proces work and how to make sure your Hypernode is ready for the Debian Bookworm upgrade' + description: Learn how our Xgrade proces work and how to make sure your Hypernode + is ready for the Debian Bookworm upgrade title: How does the Xgrade proces work --- @@ -14,13 +15,13 @@ An Xgrade is an automated process that allows your server to be upgraded or down An Xgrade to Debian Bookworm or R405 (which can be performed together) is carried out by our automation. Below are the relevant steps in the process: 1. Ensure a new Hypernode is created. -2. Configure the new Hypernode (Operating system, MySQL, PHP, Varnish, etc.). -3. Synchronize data (everything within the "/" and "/data" partition). -4. Stop all services on the current Hypernode. -5. Synchronize any new data that has been written. -6. Perform checks to ensure all processes are complete. -7. Send a "Hypernode migrated" event. -8. Destroy the old Hypernode. +1. Configure the new Hypernode (Operating system, MySQL, PHP, Varnish, etc.). +1. Synchronize data (everything within the "/" and "/data" partition). +1. Stop all services on the current Hypernode. +1. Synchronize any new data that has been written. +1. Perform checks to ensure all processes are complete. +1. Send a "Hypernode migrated" event. +1. Destroy the old Hypernode. As you can see, a completely new Hypernode is created with the correct configurations, whether for a Debian Bookworm or an R405 Xgrade. The first synchronization of data will then take place. The duration of this synchronization depends on the amount and type of data. Typically, we calculate about 1 GB per minute, but this may vary. @@ -29,6 +30,7 @@ At a certain point, all services will be stopped to prevent new orders from bein ## What should be checked or adjusted before the Xgrade? (e.g., Node.js and TLS configuration) ### Nodejs + Before scheduling a Xgrade to Debian Bookworm/R405, you must check which Node.js version you are using. This is necessary because Node.js versions 6 and 10 are no longer supported on the new operating system. Standard Magento 2 does not make use of Nodejs, but if you use another CMS or have custom scripts that require them, you may need to update your setup. You can check your Node.js version in two ways; withing the Control Panel, or on the CLI: @@ -47,11 +49,13 @@ Operation was successful and is being processed. Please allow a few minutes for ``` ### TLS configuration + With the upgrade to Debian Bookworm, the TLS configurations will also change. We have chosen to phase out outdated TLS versions 1.0 and 1.1. Additionally, the "modern" TLS configuration will now only support TLS 1.3. Below are the TLS configurations for Debian Buster: Intermediate TLS configuratie: + ``` # intermediate configuration # nginx 1.16.1 | intermediate profile | OpenSSL 1.1.1d @@ -104,6 +108,7 @@ ssl_stapling_verify on; ``` modern TLS configuratie: + ``` # modern configuration # nginx 1.22.1 | modern profile | OpenSSL 3.0.11 @@ -135,7 +140,6 @@ app@uaifqk-hnvandijk-magweb-cmbl:~$ hypernode-systemctl settings modern_ssl_conf false true ``` - # What needs to be adjusted after the Xgrade? When can it be performed? (IP changes) If you choose to Xgrade to R405, you will receive a new IP address from our automation system. You must update this IP address in the DNS settings for both the non-www and www records of your domain. This information will be sent to the email address associated with the Hypernode owner. @@ -145,11 +149,13 @@ My domain is at Hypernode, can we automate this? Yes, you can enable the "Synchr We make use of Cloudflare, would we be able to "automate" this proces? Sure! You can enable CNAME Flattening, which ensures that both the non-www and www records point to the Hypernode hostname. For example: ### Non-www Record + ``` CNAME hnvandijk.nl ---> hnvandijk.hypernode.io ``` ### www Record + ``` CNAME www.hnvandijk.nl ---> hnvandijk.hypernode.io ``` @@ -164,9 +170,9 @@ The OS upgrade process itself is the same as for a cloud environment. # Additional Questions - * An Xgrade to R405 does not incur additional costs, you will not be charged extra. +- An Xgrade to R405 does not incur additional costs, you will not be charged extra. -* An Xgrade from Hetzner to TBBM also incurs no extra costs, you will not be charged extra. +- An Xgrade from Hetzner to TBBM also incurs no extra costs, you will not be charged extra. # More Information @@ -174,4 +180,4 @@ https://changelog.hypernode.com/release-9961-akeneo-7-0-is-now-available-on-the- https://changelog.hypernode.com/release-9956-hypernode-on-debian-bookworm/ -https://changelog.hypernode.com/sunsetting-node-js-versions-6-and-10/ \ No newline at end of file +https://changelog.hypernode.com/sunsetting-node-js-versions-6-and-10/ From fe380150ea9dba67fb3a26bd4584494846094e4d Mon Sep 17 00:00:00 2001 From: Jesse van Dijk Date: Tue, 4 Mar 2025 15:04:45 +0100 Subject: [PATCH 15/44] Changed typos --- .../how-to-handle-os-and-room-change-upgrade.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md b/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md index 1cb8c68c..7efaed70 100755 --- a/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md +++ b/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md @@ -1,9 +1,9 @@ --- myst: html_meta: - description: Learn how our Xgrade proces work and how to make sure your Hypernode + description: Learn how our Xgrade process work and how to make sure your Hypernode is ready for the Debian Bookworm upgrade - title: How does the Xgrade proces work + title: How does the Xgrade process works --- # What is the Xgrade process of Hypernode? @@ -33,7 +33,7 @@ At a certain point, all services will be stopped to prevent new orders from bein Before scheduling a Xgrade to Debian Bookworm/R405, you must check which Node.js version you are using. This is necessary because Node.js versions 6 and 10 are no longer supported on the new operating system. Standard Magento 2 does not make use of Nodejs, but if you use another CMS or have custom scripts that require them, you may need to update your setup. -You can check your Node.js version in two ways; withing the Control Panel, or on the CLI: +You can check your Node.js version in two ways; within the Control Panel, Or through the CLI: Within the Control Panel: Navigate to Settings → Development. ``` @@ -54,7 +54,7 @@ With the upgrade to Debian Bookworm, the TLS configurations will also change. We Below are the TLS configurations for Debian Buster: -Intermediate TLS configuratie: +Intermediate TLS configuration: ``` # intermediate configuration @@ -71,7 +71,7 @@ ssl_stapling on; ssl_stapling_verify on; ``` -modern TLS configuratie: +modern TLS configuration: ``` # intermediate configuration @@ -107,7 +107,7 @@ ssl_stapling on; ssl_stapling_verify on; ``` -modern TLS configuratie: +modern TLS configuration: ``` # modern configuration From ae00342a724d6f8a97f2c5a9ae6e045e363f92ef Mon Sep 17 00:00:00 2001 From: Jonathan Visser Date: Wed, 5 Mar 2025 14:34:12 +0100 Subject: [PATCH 16/44] fix hierarchy for heading levels --- .../support/how-to-handle-os-and-room-change-upgrade.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md b/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md index 7efaed70..f7b0f490 100755 --- a/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md +++ b/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md @@ -148,13 +148,13 @@ My domain is at Hypernode, can we automate this? Yes, you can enable the "Synchr We make use of Cloudflare, would we be able to "automate" this proces? Sure! You can enable CNAME Flattening, which ensures that both the non-www and www records point to the Hypernode hostname. For example: -### Non-www Record +## Non-www Record ``` CNAME hnvandijk.nl ---> hnvandijk.hypernode.io ``` -### www Record +## www Record ``` CNAME www.hnvandijk.nl ---> hnvandijk.hypernode.io From 6b1ebad83df2b24db43bfa92eee13f8857645f7c Mon Sep 17 00:00:00 2001 From: Jesse van Dijk Date: Wed, 5 Mar 2025 15:24:11 +0100 Subject: [PATCH 17/44] Typos --- .../how-to-handle-os-and-room-change-upgrade.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md b/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md index f7b0f490..ae309b50 100755 --- a/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md +++ b/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md @@ -71,7 +71,7 @@ ssl_stapling on; ssl_stapling_verify on; ``` -modern TLS configuration: +Modern TLS configuration: ``` # intermediate configuration @@ -107,7 +107,7 @@ ssl_stapling on; ssl_stapling_verify on; ``` -modern TLS configuration: +Modern TLS configuration: ``` # modern configuration @@ -148,13 +148,13 @@ My domain is at Hypernode, can we automate this? Yes, you can enable the "Synchr We make use of Cloudflare, would we be able to "automate" this proces? Sure! You can enable CNAME Flattening, which ensures that both the non-www and www records point to the Hypernode hostname. For example: -## Non-www Record +## Non-www ``` CNAME hnvandijk.nl ---> hnvandijk.hypernode.io ``` -## www Record +## www ``` CNAME www.hnvandijk.nl ---> hnvandijk.hypernode.io @@ -162,19 +162,19 @@ CNAME www.hnvandijk.nl ---> hnvandijk.hypernode.io We can schedule the Xgrade at a time that suits you! However, we can only provide the new IP address in advance if the Xgrade is performed during our standard working hours (09:00–18:00). -# I have a dedicated machine at Hetzner/ TBBM instead of a cloud environment. What does this mean? +## I have a dedicated machine instead of a cloud environment. What does this mean? If you have a dedicated machine and need an OS upgrade, you will be migrated to a different machine. This means you will receive a new IP address. The new machine will be set up at the TBBM data center, and we can only provide the new IP address during our standard working hours. The OS upgrade process itself is the same as for a cloud environment. -# Additional Questions +## Additional Questions - An Xgrade to R405 does not incur additional costs, you will not be charged extra. - An Xgrade from Hetzner to TBBM also incurs no extra costs, you will not be charged extra. -# More Information +## More Information https://changelog.hypernode.com/release-9961-akeneo-7-0-is-now-available-on-the-platform/ From e51654d817c15b29c9bd7eed801cecae806d363f Mon Sep 17 00:00:00 2001 From: Jonathan Visser Date: Wed, 5 Mar 2025 15:37:42 +0100 Subject: [PATCH 18/44] mdformat --- .../support/how-to-handle-os-and-room-change-upgrade.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md b/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md index ae309b50..26e899c4 100755 --- a/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md +++ b/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md @@ -148,7 +148,7 @@ My domain is at Hypernode, can we automate this? Yes, you can enable the "Synchr We make use of Cloudflare, would we be able to "automate" this proces? Sure! You can enable CNAME Flattening, which ensures that both the non-www and www records point to the Hypernode hostname. For example: -## Non-www +## Non-www ``` CNAME hnvandijk.nl ---> hnvandijk.hypernode.io From 36a9036a1094adde99aa0f7abf74a5feaa5d5fbe Mon Sep 17 00:00:00 2001 From: Jonathan Visser Date: Thu, 6 Mar 2025 09:15:07 +0100 Subject: [PATCH 19/44] Move enabling of vhosts to the bottom of the documentation page --- .../nginx/hypernode-managed-vhosts.md | 80 +++++++++---------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/docs/hypernode-platform/nginx/hypernode-managed-vhosts.md b/docs/hypernode-platform/nginx/hypernode-managed-vhosts.md index 96cfc519..0c0e9b79 100644 --- a/docs/hypernode-platform/nginx/hypernode-managed-vhosts.md +++ b/docs/hypernode-platform/nginx/hypernode-managed-vhosts.md @@ -16,46 +16,6 @@ The Hypernode Managed Vhosts (HMV) system is an easy to use, yet powerful, syste The main advantage of HMV is that it separates your Nginx config into a global folder, containing configuration for all server blocks, and domain specific configs, giving you more control and reducing unexpected side-effects of domain specific configurations. -## Enabling Managed Vhosts - -The Hypernode Managed Vhosts (HMV) system is currently enabled by default on all new booted Hypernodes. - -However if you have a Hypernode created before 01-05-2020 your Hypernode may still be running in 'legacy' mode. To enable the HMV you can run the command: - -`hypernode-systemctl settings managed_vhosts_enabled True`. - -This will convert your current legacy config into the HMV config. It will also convert all currently active vhosts into managed vhosts. - -Please note that while switching to HMV is very easy, there are a few things to check after switching to make sure everything works, as not every setting is automatically transferred. - -Run `hypernode-manage-vhosts --list` to get an overview of your current configuration and use the list below to check if it's correct. Not everything will apply to your Hypernode. - -- Make sure your domain is the default server instead of the Hypernode. You can do this by running the following command: - -`hypernode-manage-vhosts www.example.com --default-server` - -- Configure the vhosts to only use HTTPS. If you already have an SSL certificate configured and you don't want to use Let's Encrypt, use this command: - -`hypernode-manage-vhosts www.example.com --https --force-https --ssl-noclobber` - -This will make sure you won't overwrite the existing SSL certificate. - -If you do want to configure Let's Encrypt for the vhost you can use this command: - -`hypernode-manage-vhosts www.example.com --https --force-https` - -- If you make use of Varnish, make sure to enable Varnish for the specific vhosts: - -`hypernode-manage-vhosts www.example.com --varnish` - -- Want to redirect all traffic over www? Set up your naked domains to be wwwizers, with this command: - -`hypernode-manage-vhosts --type wwwizer [example.com](//example.com)` - -Please make sure to also double check your custom Nginx configurations, as these might not be converted automatically. - -You can always use `hypernode-manage-vhosts --help` to get more information on the different configurations. - ## Managing Vhosts Once the Hypernode Managed Vhosts (HMV) system is enabled, you can start defining and configuring your vhosts. On new booted Hypernodes there will be one vhosts by default: example.hypernode.io. @@ -146,3 +106,43 @@ If you are running into issues (e.g. SSL or other configuration errors) with Hyp `hypernode-manage-vhosts --all` This regenerates the HMV configuration based on what is set in `hypernode-manage-vhosts --list` and in our experience resolves most basic issues with Hypernode Managed Vhosts. + +## Enabling Managed Vhosts + +The Hypernode Managed Vhosts (HMV) system is currently enabled by default on all new booted Hypernodes. + +However if you have a Hypernode created before 01-05-2020 your Hypernode may still be running in 'legacy' mode. To enable the HMV you can run the command: + +`hypernode-systemctl settings managed_vhosts_enabled True`. + +This will convert your current legacy config into the HMV config. It will also convert all currently active vhosts into managed vhosts. + +Please note that while switching to HMV is very easy, there are a few things to check after switching to make sure everything works, as not every setting is automatically transferred. + +Run `hypernode-manage-vhosts --list` to get an overview of your current configuration and use the list below to check if it's correct. Not everything will apply to your Hypernode. + +- Make sure your domain is the default server instead of the Hypernode. You can do this by running the following command: + +`hypernode-manage-vhosts www.example.com --default-server` + +- Configure the vhosts to only use HTTPS. If you already have an SSL certificate configured and you don't want to use Let's Encrypt, use this command: + +`hypernode-manage-vhosts www.example.com --https --force-https --ssl-noclobber` + +This will make sure you won't overwrite the existing SSL certificate. + +If you do want to configure Let's Encrypt for the vhost you can use this command: + +`hypernode-manage-vhosts www.example.com --https --force-https` + +- If you make use of Varnish, make sure to enable Varnish for the specific vhosts: + +`hypernode-manage-vhosts www.example.com --varnish` + +- Want to redirect all traffic over www? Set up your naked domains to be wwwizers, with this command: + +`hypernode-manage-vhosts --type wwwizer [example.com](//example.com)` + +Please make sure to also double check your custom Nginx configurations, as these might not be converted automatically. + +You can always use `hypernode-manage-vhosts --help` to get more information on the different configurations. From 954d1cee4e9de3eca17445fb1a8c2c72f15d7150 Mon Sep 17 00:00:00 2001 From: Jonathan Visser Date: Fri, 7 Mar 2025 15:16:12 +0100 Subject: [PATCH 20/44] Add overriding Deployer variables --- .../install-and-configure-hypernode-deploy.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/hypernode-deploy/getting-started/install-and-configure-hypernode-deploy.md b/docs/hypernode-deploy/getting-started/install-and-configure-hypernode-deploy.md index 7a3c8c7d..c9d4f514 100644 --- a/docs/hypernode-deploy/getting-started/install-and-configure-hypernode-deploy.md +++ b/docs/hypernode-deploy/getting-started/install-and-configure-hypernode-deploy.md @@ -47,3 +47,14 @@ More configurations can be found at: ``` In the next step we're going to configure a CI/CD pipeline to let Hypernode Deploy execute the `deploy.php` configuration. + +## Override Deployer variables + +Some varaibles are automatically set, for example the default timeout of every task, you can change this by simply adding a `set` in our `deploy.php` as can be shown here: + +```php +use function Deployer\set; + +// Change the default timeout from 300 seconds to 900 seconds +set('default_timeout', 900); +``` From 717ac992682dc97967a3447caed5e4f4dc7231dc Mon Sep 17 00:00:00 2001 From: Dominik Matic Date: Tue, 11 Mar 2025 12:02:36 +0100 Subject: [PATCH 21/44] move magento2 OS HMV section to hypernode-managed-vhosts and link to it --- ...onfigure-remote-storage-for-magento-2-x.md | 25 ++---------------- .../nginx/hypernode-managed-vhosts.md | 26 +++++++++++++++++++ 2 files changed, 28 insertions(+), 23 deletions(-) diff --git a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md index 1e73f286..5054da0e 100644 --- a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md +++ b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md @@ -95,29 +95,8 @@ Magento's S3 implementation creates a test file called `storage.flag`, which is ## Serving assets from your S3 bucket -To serve media assets directly from your S3 bucket, you need to adjust your Nginx configuration. -Fortunately, `hypernode-manage-vhosts` simplifies this process for you. -If you're using Hypernode's object storage solution, simply run the following command for the relevant vhosts: - -```bash -hmv example.com --object-storage -``` - -### Using a custom object storage solution - -If you're using a custom storage provider, such as Amazon S3, you'll need to specify the bucket name and URL manually: - -```bash -hmv example.com --object-storage --object-storage-bucket mybucket --object-storage-url https://example_url.com -``` - -### Switching back to Hypernode defaults - -If you previously set a custom bucket and URL but want to revert to Hypernode's default object storage, use the `--object-storage-defaults` flag: - -```bash -hmv example.com --object-storage-defaults -``` +To serve media assets directly from your S3 bucket, you need to adjust your nginx configuration. +Fortunately, `hypernode-manage-vhosts` ([simplifies this process for you](../../hypernode-platform/nginx/hypernode-managed-vhosts.md)). ### Configuring Amazon S3 bucket policies diff --git a/docs/hypernode-platform/nginx/hypernode-managed-vhosts.md b/docs/hypernode-platform/nginx/hypernode-managed-vhosts.md index 0c0e9b79..503a18d4 100644 --- a/docs/hypernode-platform/nginx/hypernode-managed-vhosts.md +++ b/docs/hypernode-platform/nginx/hypernode-managed-vhosts.md @@ -84,6 +84,32 @@ Once the command is processed you could list all the vhosts to check if Varnish To disable Varnish for a vhost, use the following command: `hypernode-manage-vhosts example.com --disable-varnish` +## Object Storage and Hypernode Managed Vhosts + +If you're using object storage with Magento 2.x or Shopware 6.x you can use HMV to adjust your nginx config to serve assets directly from your bucket. + +If you're using Hypernode's object storage solution, simply run the following command for the relevant vhosts: + +```bash +hmv example.com --object-storage +``` + +### Using a custom object storage solution + +If you're using a custom storage provider, such as Amazon S3, you'll need to specify the bucket name and URL manually: + +```bash +hmv example.com --object-storage --object-storage-bucket mybucket --object-storage-url https://example_url.com +``` + +### Switching back to Hypernode defaults + +If you previously set a custom bucket and URL but want to revert to Hypernode's default object storage, use the `--object-storage-defaults` flag: + +```bash +hmv example.com --object-storage-defaults +``` + ## Managing Configuration Files ### Vhost-specific configuration From 116c9dcfacb88aa7d8ed5e1e06f66c4b729a5d47 Mon Sep 17 00:00:00 2001 From: Dominik Matic Date: Tue, 11 Mar 2025 12:06:14 +0100 Subject: [PATCH 22/44] update link to point to specific header --- .../how-to-configure-remote-storage-for-magento-2-x.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md index 5054da0e..eb3ae326 100644 --- a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md +++ b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md @@ -96,7 +96,7 @@ Magento's S3 implementation creates a test file called `storage.flag`, which is ## Serving assets from your S3 bucket To serve media assets directly from your S3 bucket, you need to adjust your nginx configuration. -Fortunately, `hypernode-manage-vhosts` ([simplifies this process for you](../../hypernode-platform/nginx/hypernode-managed-vhosts.md)). +Fortunately, `hypernode-manage-vhosts` ([simplifies this process for you](../../hypernode-platform/nginx/hypernode-managed-vhosts.md#object-storage-and-hypernode-managed-vhosts)). ### Configuring Amazon S3 bucket policies From e36005ce8c6f3775c443c2c388778934f09d1c2d Mon Sep 17 00:00:00 2001 From: Dominik Matic Date: Tue, 11 Mar 2025 13:16:57 +0100 Subject: [PATCH 23/44] replace hmv with hypernode-manage-vhosts and fix link --- .../how-to-configure-remote-storage-for-magento-2-x.md | 2 +- docs/hypernode-platform/nginx/hypernode-managed-vhosts.md | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md index eb3ae326..3a528896 100644 --- a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md +++ b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md @@ -96,7 +96,7 @@ Magento's S3 implementation creates a test file called `storage.flag`, which is ## Serving assets from your S3 bucket To serve media assets directly from your S3 bucket, you need to adjust your nginx configuration. -Fortunately, `hypernode-manage-vhosts` ([simplifies this process for you](../../hypernode-platform/nginx/hypernode-managed-vhosts.md#object-storage-and-hypernode-managed-vhosts)). +Fortunately, `hypernode-manage-vhosts` [simplifies this process for you](../../hypernode-platform/nginx/hypernode-managed-vhosts.md#object-storage-and-hypernode-managed-vhosts). ### Configuring Amazon S3 bucket policies diff --git a/docs/hypernode-platform/nginx/hypernode-managed-vhosts.md b/docs/hypernode-platform/nginx/hypernode-managed-vhosts.md index 503a18d4..9c2c1aac 100644 --- a/docs/hypernode-platform/nginx/hypernode-managed-vhosts.md +++ b/docs/hypernode-platform/nginx/hypernode-managed-vhosts.md @@ -91,7 +91,7 @@ If you're using object storage with Magento 2.x or Shopware 6.x you can use HMV If you're using Hypernode's object storage solution, simply run the following command for the relevant vhosts: ```bash -hmv example.com --object-storage +hypernode-manage-vhosts example.com --object-storage ``` ### Using a custom object storage solution @@ -99,7 +99,7 @@ hmv example.com --object-storage If you're using a custom storage provider, such as Amazon S3, you'll need to specify the bucket name and URL manually: ```bash -hmv example.com --object-storage --object-storage-bucket mybucket --object-storage-url https://example_url.com +hypernode-manage-vhosts example.com --object-storage --object-storage-bucket mybucket --object-storage-url https://example_url.com ``` ### Switching back to Hypernode defaults @@ -107,7 +107,7 @@ hmv example.com --object-storage --object-storage-bucket mybucket --object-stora If you previously set a custom bucket and URL but want to revert to Hypernode's default object storage, use the `--object-storage-defaults` flag: ```bash -hmv example.com --object-storage-defaults +hypernode-manage-vhosts example.com --object-storage-defaults ``` ## Managing Configuration Files From 2b0f6f58cb650e11210cfe103f95ef89db213a2b Mon Sep 17 00:00:00 2001 From: Dominik Matic Date: Wed, 12 Mar 2025 13:55:39 +0100 Subject: [PATCH 24/44] Add clarity and more information to the magento 2 command section for setting up object storage --- ...onfigure-remote-storage-for-magento-2-x.md | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md index 3a528896..6bad0d3c 100644 --- a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md +++ b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md @@ -32,30 +32,44 @@ bin/magento setup:config:set \ --remote-storage-bucket="my_bucket_name" \ --remote-storage-region="provider-region" \ --remote-storage-key="abcd1234" \ - --remote-storage-secret="abcd1234" \ + --remote-storage-secret="1234abcd" \ --remote-storage-endpoint="https://my-s3-compatible.endpoint.com" ``` -In the case of Hypernode Object Storage you can get the relevant information by running `hypernode-object-storage info` with the `--with-credentials` flag: +In the case of Hypernode Object Storage, the bucket name is `main`, and the region is `EU`. The other remaining parameters you can get by running `hypernode-object-storage info` with the `--with-credentials` flag: ```console app@testapp ~ # hypernode-object-storage info --with-credentials +--------------------------------------+----------------+---------+-------------+-------------------------------------+---------------+---------------+ | UUID | Name | Plan | Hypernodes | Management URL | Access Key | Secret Key | +--------------------------------------+----------------+---------+-------------+-------------------------------------+---------------+---------------+ -| 12345678-9012-3456-b7e3-19ab43df4a23 | testappbucket1 | OS200GB | testapp | https://example.ams.objectstore.eu | abcd1234 | abcd1234 | +| 12345678-9012-3456-b7e3-19ab43df4a23 | testappbucket1 | OS200GB | testapp | https://example.ams.objectstore.eu | abcd1234 | 1234abcd | +--------------------------------------+----------------+---------+-------------+-------------------------------------+---------------+---------------+ ``` +So, in that case, the command would look like this: + +```bash +bin/magento setup:config:set \ + --remote-storage-driver="aws-s3" \ + --remote-storage-bucket="main" \ + --remote-storage-region="EU" \ + --remote-storage-key="abcd1234" \ + --remote-storage-secret="1234abcd" \ + --remote-storage-endpoint="https://example.ams.objectstore.eu" +``` + **AWS S3** +If you have an AWS S3 bucket, the command is somewhat simpler, you just need to know what your bucket name is, your aws region and your aws access and secret key. + ```bash bin/magento setup:config:set \ --remote-storage-driver="aws-s3" \ --remote-storage-bucket="my_bucket_name" \ --remote-storage-region="my-aws-region" \ --remote-storage-key="abcd1234" \ - --remote-storage-secret="abcd1234" + --remote-storage-secret="1234abcd" ``` ## Syncing the files (efficiently) From 36d7f49030e39135efe20ee6ddd1378dccb586df Mon Sep 17 00:00:00 2001 From: Dominik Matic Date: Thu, 13 Mar 2025 10:39:16 +0100 Subject: [PATCH 25/44] improvements --- ...configure-remote-storage-for-magento-2-x.md | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md index 6bad0d3c..ca301865 100644 --- a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md +++ b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md @@ -29,14 +29,14 @@ If you're using Hypernode Object Storage or a different provider than AWS S3, yo ```bash bin/magento setup:config:set \ --remote-storage-driver="aws-s3" \ - --remote-storage-bucket="my_bucket_name" \ - --remote-storage-region="provider-region" \ + --remote-storage-bucket="main" \ + --remote-storage-region="EU" \ --remote-storage-key="abcd1234" \ --remote-storage-secret="1234abcd" \ --remote-storage-endpoint="https://my-s3-compatible.endpoint.com" ``` -In the case of Hypernode Object Storage, the bucket name is `main`, and the region is `EU`. The other remaining parameters you can get by running `hypernode-object-storage info` with the `--with-credentials` flag: +For Hypernode Object Storage, use `main` as the bucket name and `EU` as the region. You can retrieve the remaining parameters by running `hypernode-object-storage info --with-credentials`. ```console app@testapp ~ # hypernode-object-storage info --with-credentials @@ -47,17 +47,7 @@ app@testapp ~ # hypernode-object-storage info --with-credentials +--------------------------------------+----------------+---------+-------------+-------------------------------------+---------------+---------------+ ``` -So, in that case, the command would look like this: - -```bash -bin/magento setup:config:set \ - --remote-storage-driver="aws-s3" \ - --remote-storage-bucket="main" \ - --remote-storage-region="EU" \ - --remote-storage-key="abcd1234" \ - --remote-storage-secret="1234abcd" \ - --remote-storage-endpoint="https://example.ams.objectstore.eu" -``` +If you're using a different object storage provider, replace these values with the relevant details from your provider. **AWS S3** From b4238a4a820bb5e73d5b95e2a0031a7de6648858 Mon Sep 17 00:00:00 2001 From: Dominik Matic Date: Thu, 13 Mar 2025 10:43:36 +0100 Subject: [PATCH 26/44] fix aws sentence --- .../how-to-configure-remote-storage-for-magento-2-x.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md index ca301865..43efdd47 100644 --- a/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md +++ b/docs/ecommerce-applications/magento-2/how-to-configure-remote-storage-for-magento-2-x.md @@ -51,7 +51,7 @@ If you're using a different object storage provider, replace these values with t **AWS S3** -If you have an AWS S3 bucket, the command is somewhat simpler, you just need to know what your bucket name is, your aws region and your aws access and secret key. +If you're using an AWS S3 bucket, you only need your bucket name, AWS region, and access and secret keys. ```bash bin/magento setup:config:set \ From 7c9d1b57133ef83a811ba1cfafe7dd0b21e30085 Mon Sep 17 00:00:00 2001 From: Jonathan Visser Date: Mon, 17 Mar 2025 16:10:39 +0100 Subject: [PATCH 27/44] Update the feedback group to the beta test group --- docs/_templates/layout.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/_templates/layout.html b/docs/_templates/layout.html index 4e8ec106..d9349314 100644 --- a/docs/_templates/layout.html +++ b/docs/_templates/layout.html @@ -279,13 +279,13 @@

Need support?

From 6138a997b9ed154832038b4600f3aa0bc13a95e8 Mon Sep 17 00:00:00 2001 From: Jonathan Visser Date: Mon, 17 Mar 2025 15:18:36 +0100 Subject: [PATCH 28/44] Fix a lot of deadlinks and references to byte control panel --- README.md | 21 ++++++++++++++----- ...ow-to-choose-and-order-a-hypernode-plan.md | 2 -- .../security-hall-of-fame.md | 2 +- ...ow-to-handle-os-and-room-change-upgrade.md | 0 .../how-to-improve-your-magento-search.md | 1 - .../how-to-optimize-your-images.md | 2 +- ...malicious-javascript-credit-card-hijack.md | 2 +- .../testing/hypernode-docker.md | 2 -- .../best-practices/usage/hypernode-magerun.md | 4 ++-- .../how-to-clean-the-magento-1-x-logs.md | 2 +- ...to-create-a-sitemap-xml-for-magento-1-x.md | 8 ------- .../how-to-install-magento-1-on-hypernode.md | 2 +- ...-to-create-a-robots-txt-for-magento-2-x.md | 1 - .../how-to-enable-the-magento-2-api.md | 2 +- .../how-to-order-a-domain-presence-plan.md | 3 ++- ...-to-set-up-your-dns-for-using-office365.md | 4 ++-- .../nginx/how-to-redirect-from-or-to-www.md | 2 -- ...re-frequently-asked-questions-about-ssl.md | 2 +- ...r-application-using-hypernode-deploy-v1.md | 6 +++--- .../how-to-enable-varnish-on-hypernode.md | 7 ------- ...w-to-link-your-domain-to-your-hypernode.md | 2 +- ...de-and-transfer-ownership-to-a-customer.md | 2 -- ...-name-to-another-provider-service-panel.md | 2 +- .../services/magereport/magereport-premium.md | 2 +- 24 files changed, 35 insertions(+), 48 deletions(-) mode change 100755 => 100644 docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md diff --git a/README.md b/README.md index 8dacb025..b19b6d2b 100644 --- a/README.md +++ b/README.md @@ -2,14 +2,14 @@ ## Generating new docs -``` bash +```bash DOC_URL=https://support.hypernode.com/en/ecommerce/magento-1/how-to-enable-mysql-query-logging-for-magento-1-x bin/download_doc --output-dir=docs/ecommerce-applications $DOC_URL ``` ## Setting up the project -``` bash +```bash mkvirtualenv hypernode-docs-next echo "export PYTHONPATH=$(pwd)" >> $VIRTUAL_ENV/bin/postactivate workon hypernode-docs-next @@ -19,33 +19,38 @@ pre-commit install ## Building the docs -``` bash +```bash bin/build_docs ``` ## Serving the docs -``` bash +```bash bin/serve_docs ``` + ## Setup Frontend step by step + ``` clone the repository pip install -r requirements/development.txt bin/build_docs bin/serve_docs ``` + in another terminal run -``` bin/watch ``` +`bin/watch` open localhost and now you can make changes in style and refresh the page without rebuilding when you're working on scss to compile it automatically run + ``` npx sass --watch docs/_static/scss:docs/_static/css ``` or as a production build: + ``` npx sass --style compressed --no-source-map docs/_static/scss:docs/_static/css ``` @@ -57,6 +62,7 @@ Deploys automatically after merging branchers to master. ### Deploy with Hypernode Deploy To deploy to a local Hypernode Docker environment: + ``` $ docker pull docker.hypernode.com/byteinternet/hypernode-buster-docker:latest $ docker run docker.hypernode.com/byteinternet/hypernode-buster-docker:latest @@ -66,6 +72,7 @@ $ # Note the IP address, it should be 172.17.0.2 (otherwise refer to deploy.php) Next make sure your `~/.ssh/yourdeploykey` equivalent can log in to the Docker host (172.17.0.2) as the app user. You can add it to the `/data/web/.ssh/authorized_keys` file on in the instance manually. Then deploy to your local Hypernode Docker: + ``` docker run --rm -it --env SSH_PRIVATE_KEY="$(cat ~/.ssh/yourdeploykey | base64)" -v ${PWD}:/build quay.io/hypernode/deploy:latest hypernode-deploy build -vvv # First build the artifact docker run --rm -it --env SSH_PRIVATE_KEY="$(cat ~/.ssh/yourdeploykey | base64)" -v ${PWD}:/build quay.io/hypernode/deploy:latest hypernode-deploy deploy docker -vvv # Then perform the deploy @@ -74,6 +81,7 @@ docker run --rm -it --env SSH_PRIVATE_KEY="$(cat ~/.ssh/yourdeploykey | base64)" ## Building the manpage deb The docs are also packaged as a debian package named `hndocsnext` so that on a Hypernode you can run `man hypernode` (or `hypernode-manual`) and page through a `manpage` version of the Hypernode docs. To build that debian package on a Debian machine you can run these commands: + ``` # First create the cow environment export ARCH=amd64 @@ -91,16 +99,19 @@ gbp buildpackage --git-pbuilder --git-dist=$DIST --git-arch=$ARCH --git-ignore-b ``` Then after building the Deb you could install it with dpkg. For example: + ``` dpkg -i ../hndocsnext_20230121.173551_all.deb ``` And test it out with: + ``` man hypernode ``` To inspect the contents of the deb archive you can run: + ``` # dpkg -L hndocsnext /. diff --git a/docs/about-hypernode/billing/how-to-choose-and-order-a-hypernode-plan.md b/docs/about-hypernode/billing/how-to-choose-and-order-a-hypernode-plan.md index ebb3ad51..e3404d7c 100644 --- a/docs/about-hypernode/billing/how-to-choose-and-order-a-hypernode-plan.md +++ b/docs/about-hypernode/billing/how-to-choose-and-order-a-hypernode-plan.md @@ -68,8 +68,6 @@ DigitalOcean and Amazon both have data centers all over the world. You can order a Hypernode plan via our [order page](https://www.hypernode.com/magento-cloud-hosting/#plans). The Control Panel is our default panel, which means all new Hypernode plans and trials will be booted in the Control Panel. -**Please note:** if you are a Service Panel user (i.e. you use the Dutch panel), please order your new plans directly via [this page in the Service Panel](https://service.byte.nl/planinfo/order-selection/). This is to prevent plans from being booted in the wrong system. - ## Tips For Ordering a Hypernode - Choose a logical name. IE: If your site is example.com, order example.hypernode.com diff --git a/docs/about-hypernode/security-policies/security-hall-of-fame.md b/docs/about-hypernode/security-policies/security-hall-of-fame.md index dd81f6b1..865390fa 100644 --- a/docs/about-hypernode/security-policies/security-hall-of-fame.md +++ b/docs/about-hypernode/security-policies/security-hall-of-fame.md @@ -29,7 +29,7 @@ We would like to thank the following individuals and/or organizations, who have | [Pethuraj M](https://www.pethuraj.com/) | 1 July 2020 | Reported a flaw in our password reset flow | | [Miguel Santareno](https://www.linkedin.com/in/miguelsantareno/) | 14 May 2020 | Reported information leakage from marketing sites. | | [Gaurav Kumar](https://www.facebook.com/drago4344) and [Shivam Dattana](https://www.facebook.com/profile.php?id=100010397858328) / [Team Bugmania](https://www.openbugbounty.org/researchers/bugmania/) | 28 September 2019 | Reported a Cross site scripting (XSS) on magereport.com. | -| [Mike de Landgraaf](https://www.linkedin.com/in/mdelandgraaf/) / [MDL Online](https://mdlonline.com/) | 21 March 2019 | Reported a misconfiguration that allowed user impersonation on Hypernode hosted webshops. | +| [Mike de Landgraaf](https://www.linkedin.com/in/mdelandgraaf/) / MDL Online | 21 March 2019 | Reported a misconfiguration that allowed user impersonation on Hypernode hosted webshops. | | [Maksym Bendeberia](https://www.linkedin.com/in/jogspokoen/) / [WebSafety Ninja](https://websafety.ninja/) | 12 March 2019 | Reported information leakage from an internal deployment server. | | [Jan Piet van Dijk](https://www.linkedin.com/in/janpietvandijk/) / [Interwijs B.V.](https://www.interwijs.nl/) | 28 August 2018 | Reported a privilege escalation on Hypernode, leading to a local root exploit. | | [Wijnand Wieskamp](https://www.linkedin.com/in/wijnand-wieskamp-8a784313/) / [Crystalsoft B.V.](https://www.crystalsoft.nl/) | 1 June 2018 | Reported a misconfiguration that allowed a Hypernode’s preconfigured security settings to be bypassed. | diff --git a/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md b/docs/about-hypernode/support/how-to-handle-os-and-room-change-upgrade.md old mode 100755 new mode 100644 diff --git a/docs/best-practices/performance/how-to-improve-your-magento-search.md b/docs/best-practices/performance/how-to-improve-your-magento-search.md index b3087857..af4a1614 100644 --- a/docs/best-practices/performance/how-to-improve-your-magento-search.md +++ b/docs/best-practices/performance/how-to-improve-your-magento-search.md @@ -34,7 +34,6 @@ Please note that due to the relatively heavy resource requirements for ElasticSe If you are on a lower plan, you’ll need to either upgrade, or make use of an external search provider. There a several companies you can choose for a monthly subscription: - [Bonsai.io](https://bonsai.io/) -- [Qbox.io](https://qbox.io/) - [Elastic.co](https://www.elastic.co/cloud/as-a-service) **If you choose Bonsai, we have made a special deal with Bonsai. Please send a mail to support@hypernode.com for a discount code.** diff --git a/docs/best-practices/performance/how-to-optimize-your-images.md b/docs/best-practices/performance/how-to-optimize-your-images.md index e431f0df..21dc483c 100644 --- a/docs/best-practices/performance/how-to-optimize-your-images.md +++ b/docs/best-practices/performance/how-to-optimize-your-images.md @@ -15,7 +15,7 @@ redirect_from: If you want a faster shop, you have probably looked at [Google Pagespeed Insights](https://developers.google.com/speed/pagespeed/insights/) for useful suggestions. It probably told you to optimize your images. Which means, reducing the size-on-disk without losing quality. This is a very cumbersome process if you do this by hand (opening in Photoshop, saving-as, etcetera). But it is very easy if you use Hypernode. If you follow this article, **it will take you only a couple of minutes to set up automatic image optimization**. -Thanks to Peter Jaap for doing the [initial research](https://www.byte.nl/blog/afbeeldingen-optimaliseren-magento-bespaart-veel-webruimte/) (in Dutch). +Thanks to Peter Jaap for doing the initial research (in Dutch). > [@Hypernode_com](https://twitter.com/Hypernode_com) hypernode-image-optimizer is pretty effective "Optimization profit over all files: 502812 KB (82%)". Thanks for that! > diff --git a/docs/best-practices/security/how-to-fix-malicious-javascript-credit-card-hijack.md b/docs/best-practices/security/how-to-fix-malicious-javascript-credit-card-hijack.md index 40dbeb65..1825d99e 100644 --- a/docs/best-practices/security/how-to-fix-malicious-javascript-credit-card-hijack.md +++ b/docs/best-practices/security/how-to-fix-malicious-javascript-credit-card-hijack.md @@ -26,7 +26,7 @@ With this relatively new way of hacking, malware is added in the browser of your In 2015 we analyzed the malware and found out that a staggering amount of 3500 Magento shops are part of a zombie network that interfere credit card credentials, and send this data to so called command&control servers. (Command&control servers are a network of servers where hackers collect this sort of data). This was the first time we encountered an automated credit card fraud on this scale. It’s obvious hackers have massively improved in becoming more professional in automating large-scale credit card fraud. -[Read more about Credit card Hijack](https://www.byte.nl/blog/widespread-credit-card-hijacking-discovered) +[Read more about Credit card Hijack](h../../best-practices/security/how-to-fix-malicious-javascript-credit-card-hijack.md#what-is-credit-card-hijack) We suspect this leak has been made possible due to unpatched Magento shops. So if you haven’t completely patched your Magento shop yet, make sure you do. Use Magereport.com to check if there are any patches not yet installed. diff --git a/docs/best-practices/testing/hypernode-docker.md b/docs/best-practices/testing/hypernode-docker.md index 4d40d4df..98c51afe 100644 --- a/docs/best-practices/testing/hypernode-docker.md +++ b/docs/best-practices/testing/hypernode-docker.md @@ -13,8 +13,6 @@ redirect_from: The official Hypernode Docker image for Magento development is now available. This image can be used to set up a fast and easy local development environment for Hypernode, or as a build machine in a CI environment representative of the production environment. The image contains the exact same packages and configuration as a real Hypernode except for some Docker specific tweaks. By testing and developing against this image you can be sure that when you deploy to a Hypernode in production there will be no surprises because of different software versions or configurations. -Interested in a case study? Read [this article](https://blog.guapa.nl/local-development-with-the-hypernode-docker-container-linux/) about the Hypernode docker of one of our partners! - ## About the Hypernode Docker Image We build this image multiple times a day (every time we do a [release](https://changelog.hypernode.com/)) by applying our configuration management on the [phusion/baseimage-docker](https://github.com/phusion/baseimage-docker) ["fat" container](https://blog.phusion.nl/2015/01/20/baseimage-docker-fat-containers-treating-containers-vms/). By treating the Docker as a lightweight VM instead of as a vehicle for a single process we stay close to what an actual Hypernode actually looks like. No micro-services or a multi-container application, but a single instance with minimal network overhead and all batteries included. diff --git a/docs/best-practices/usage/hypernode-magerun.md b/docs/best-practices/usage/hypernode-magerun.md index a3485d17..ffa32945 100644 --- a/docs/best-practices/usage/hypernode-magerun.md +++ b/docs/best-practices/usage/hypernode-magerun.md @@ -72,7 +72,7 @@ Outputs or saves a http.magerunmaps boilerplate containing your store setup for n98-magerun hypernode:varnish:config-save ``` -Fetches the VCL configuration from turpentine and applies it. Make sure [turpentine is installed and configured](https://support.hypernode.com/knowledgebase/varnish-on-hypernode/) correctly. +Fetches the VCL configuration from turpentine and applies it. Make sure [turpentine is installed and configured](../../ecommerce-applications/magento-1/how-to-configure-varnish-for-magento-1-x.md#configure-turpentine) correctly. ### Flush all URL's in Varnish cache @@ -120,7 +120,7 @@ Building a .deb for release: ./build.sh ``` -Then if everything is alright, upload the new version to your repository with something like [dput](http://manpages.ubuntu.com/manpages/precise/man1/dput.1.html) +Then if everything is alright, upload the new version to your repository with something like [dput](https://manpages.ubuntu.com/manpages/plucky/en/man1/dput.1.html) ## n98-magerun2 compatibility diff --git a/docs/ecommerce-applications/magento-1/how-to-clean-the-magento-1-x-logs.md b/docs/ecommerce-applications/magento-1/how-to-clean-the-magento-1-x-logs.md index 2a229864..72747f64 100644 --- a/docs/ecommerce-applications/magento-1/how-to-clean-the-magento-1-x-logs.md +++ b/docs/ecommerce-applications/magento-1/how-to-clean-the-magento-1-x-logs.md @@ -65,4 +65,4 @@ Scroll down to select ‘Empty’ from the dropdown ‘With selected’ and clic ## Turn Off Database Logging -If you don’t need any database logging it can be worthwhile to disable all logging. To do so, install the [`disablelog extension by Yireo`](https://www.yireo.com/software/magento-extensions). For shops that are heavy on the database, this can help reduce the amount of update/insert queries and therefore reducing load times. +If you don’t need any database logging it can be worthwhile to disable all logging. To do so, install the [`disablelog extension by Yireo`](https://github.com/yireo-magento1/Yireo_DisableLog). For shops that are heavy on the database, this can help reduce the amount of update/insert queries and therefore reducing load times. diff --git a/docs/ecommerce-applications/magento-1/how-to-create-a-sitemap-xml-for-magento-1-x.md b/docs/ecommerce-applications/magento-1/how-to-create-a-sitemap-xml-for-magento-1-x.md index 83602cb4..9e9df489 100644 --- a/docs/ecommerce-applications/magento-1/how-to-create-a-sitemap-xml-for-magento-1-x.md +++ b/docs/ecommerce-applications/magento-1/how-to-create-a-sitemap-xml-for-magento-1-x.md @@ -120,11 +120,3 @@ We've seen one or two special cases where creating a sitemap was extremely slow. 1 ``` - -## Additional Links - -There is lots of information about setting up and pushing your sitemap to Google and other search indexes. See: - -- -- -- diff --git a/docs/ecommerce-applications/magento-1/how-to-install-magento-1-on-hypernode.md b/docs/ecommerce-applications/magento-1/how-to-install-magento-1-on-hypernode.md index a6f5486c..1c707853 100644 --- a/docs/ecommerce-applications/magento-1/how-to-install-magento-1-on-hypernode.md +++ b/docs/ecommerce-applications/magento-1/how-to-install-magento-1-on-hypernode.md @@ -14,7 +14,7 @@ redirect_from: Although Magento 1 has been End of Life since June 30 2020, it is still possible to host your Magento 1 store at Hypernode by using OpenMage. OpenMage is a free of charge fork of Magento 1, and allows store owners to continue the use of Magento 1 as a stable and secure eCommerce platform for the next years to come. -OpenMage can be installed by using their [documentation](https://www.openmage.org/magento-lts/install.html). Don't implement OpenMage on production nodes without testing OpenMage first on a [Development plan](../../hypernode-platform/tools/how-to-use-hypernode-development-plans.md). +OpenMage can be installed by using their [documentation](https://docs.openmage.org/users/install/use-composer/#configuration). Don't implement OpenMage on production nodes without testing OpenMage first on a [Development plan](../../hypernode-platform/tools/how-to-use-hypernode-development-plans.md). Would you rather install the officially supported Magento 2? Installing Magento 2 on Hypernode can be done by following the steps in the article: [Installing Magento 2 on Hypernode](../../ecommerce-applications/magento-2/how-to-install-magento-2-on-hypernode.md) diff --git a/docs/ecommerce-applications/magento-2/how-to-create-a-robots-txt-for-magento-2-x.md b/docs/ecommerce-applications/magento-2/how-to-create-a-robots-txt-for-magento-2-x.md index 8b385939..082c6e14 100644 --- a/docs/ecommerce-applications/magento-2/how-to-create-a-robots-txt-for-magento-2-x.md +++ b/docs/ecommerce-applications/magento-2/how-to-create-a-robots-txt-for-magento-2-x.md @@ -118,5 +118,4 @@ Disallow: / ## Additional resources - -- - diff --git a/docs/ecommerce-applications/magento-2/how-to-enable-the-magento-2-api.md b/docs/ecommerce-applications/magento-2/how-to-enable-the-magento-2-api.md index 16d62b78..a38dae45 100644 --- a/docs/ecommerce-applications/magento-2/how-to-enable-the-magento-2-api.md +++ b/docs/ecommerce-applications/magento-2/how-to-enable-the-magento-2-api.md @@ -13,7 +13,7 @@ redirect_from: # How to Enable the Magento 2 API -To enable the Magento API, first [**create the correct users**](https://www.yireo.com/tutorials/magebridge/administration/596-step-by-step-create-a-magento-api-user). +To enable the Magento API, first create the correct users. The Magento API is supposed to work out-of-the box on Hypernodes, but due to clean-url-rewrites sometimes the API does not work and returns a 404 error. To resolve this issue, some additional configuration is required. diff --git a/docs/getting-started/how-to-order/how-to-order-a-domain-presence-plan.md b/docs/getting-started/how-to-order/how-to-order-a-domain-presence-plan.md index 7bbae718..b53b487c 100644 --- a/docs/getting-started/how-to-order/how-to-order-a-domain-presence-plan.md +++ b/docs/getting-started/how-to-order/how-to-order-a-domain-presence-plan.md @@ -30,7 +30,8 @@ To order a domain at Hypernode you need a Presence plan. We offer two different To order one of these plans, please follow the steps below: -1. Go to +1. Log into the [Hypernode control panel](https://my.hypernode.com/domain/) +1. Go to the 'Domains' tab and press Order domain 1. Enter the domain name that you want to register with/transfer to Hypernode. 1. When you want to transfer a domain, our ordering system will recognize you want to order an existing domain and will ask you if you want to transfer the domain. This step will not initiate a transfer. If you want to transfer the domain to Hypernode you can choose the option 'Domein + hosting verhuizen' if you only want to order a Presence Plan but you have no plans for transferring the domain name you can choose the option 'Hosting only verhuizen' 1. Select the plan you need. diff --git a/docs/hypernode-platform/email/how-to-set-up-your-dns-for-using-office365.md b/docs/hypernode-platform/email/how-to-set-up-your-dns-for-using-office365.md index 6beb398e..0a5c503d 100644 --- a/docs/hypernode-platform/email/how-to-set-up-your-dns-for-using-office365.md +++ b/docs/hypernode-platform/email/how-to-set-up-your-dns-for-using-office365.md @@ -17,9 +17,9 @@ When you want to use Office365 and your domain is registered with Hypernode or h ## Validation Record -When you add your domain to Office365 they wil provide you with a verification string that you need to add to the DNS for your domain, the string will look something like this \*MS=ms#########.\*You need to add this at a TXT record. To do so login to your [Service Panel](https://auth.byte.nl/)and follow the next steps: +When you add your domain to Office365 they wil provide you with a verification string that you need to add to the DNS for your domain, the string will look something like this \*MS=ms#########.\*You need to add this at a TXT record. To do so login to your [Service Panel](https://my.hypernode.com/)and follow the next steps: -1. Log in to the Service Panel (service.byte.nl). +1. Log in to the Service Panel (my.hypernode.com). 1. Select the domain from the domain overview. 1. Click the tab **Instellingen**. 1. Then select **DNS**. diff --git a/docs/hypernode-platform/nginx/how-to-redirect-from-or-to-www.md b/docs/hypernode-platform/nginx/how-to-redirect-from-or-to-www.md index 556ca2db..379558b3 100644 --- a/docs/hypernode-platform/nginx/how-to-redirect-from-or-to-www.md +++ b/docs/hypernode-platform/nginx/how-to-redirect-from-or-to-www.md @@ -20,8 +20,6 @@ There are some restrictions when choosing your base URL. If you use the wwwizer servers, which are sometimes used when your domain is not hosted at Hypernode and thus the DNS can’t be automagically changed in case of up or downgrades, your domain will always redirect to [www](http://www). -For Service Panel customers only: when your domain is hosted at Hypernode, simply link it to your Hypernode through the [Service Panel](https://service.byte.nl/) - More info can be found [on our page about setting your DNS](../dns/how-to-manage-your-dns-settings-for-hypernode.md). ## Redirect From Apex to WWW diff --git a/docs/hypernode-platform/ssl/how-to-validate-your-ssl-certificate-and-more-frequently-asked-questions-about-ssl.md b/docs/hypernode-platform/ssl/how-to-validate-your-ssl-certificate-and-more-frequently-asked-questions-about-ssl.md index a8faa679..f1af4e19 100644 --- a/docs/hypernode-platform/ssl/how-to-validate-your-ssl-certificate-and-more-frequently-asked-questions-about-ssl.md +++ b/docs/hypernode-platform/ssl/how-to-validate-your-ssl-certificate-and-more-frequently-asked-questions-about-ssl.md @@ -17,7 +17,7 @@ redirect_from: ## What Kind of Certificates Can I Order via Hypernode? -At Hypernode you can request various SSL certificates via the [Service Panel](https://auth.byte.nl/login/). There are three types of certificates: +At Hypernode you can request various SSL certificates via the [Service Panel](https://my.hypernode.com/login/). There are three types of certificates: - SSL single certificate; you can use this on a single domain for the naked domain and the www domain (example.com and [www.example.com](http://www.example.com)). - SSL wildcard certificate; You can use this to secure all subdomains (\* .example.nl) for your domain name, but also on [www.example.nl](http://www.example.nl) and the naked domain (ie example.nl). However, this certificate does not work on \*. \*. example.nl. diff --git a/docs/hypernode-platform/tools/how-to-deploy-your-application-using-hypernode-deploy-v1.md b/docs/hypernode-platform/tools/how-to-deploy-your-application-using-hypernode-deploy-v1.md index c7a9b68c..9bf09e71 100644 --- a/docs/hypernode-platform/tools/how-to-deploy-your-application-using-hypernode-deploy-v1.md +++ b/docs/hypernode-platform/tools/how-to-deploy-your-application-using-hypernode-deploy-v1.md @@ -49,7 +49,7 @@ bin/magento app:config:dump Strip the configuration files so that 'app/etc/config.php' contains only the essential configuration. Add 'app/etc/config.php' to your Git repo history, but not 'app/etc/env.php' because this file only needs to live on the server. -Read more about dumping Magento configuration in the [devdocs of Magento](https://devdocs.magento.com/guides/v2.3/config-guide/cli/config-cli-subcommands-config-mgmt-export.html). +Read more about dumping Magento configuration in the [devdocs of Magento](https://experienceleague.adobe.com/en/docs/commerce-operations/configuration-guide/cli/configuration-management/export-configuration). ## Create Hypernode Deploy configuration file @@ -138,9 +138,9 @@ For Magento 2 your first build will fail due to missing configuration. Login to ## Create Github configuration file -Now it's time to create your CI configuration file. You can either start from scratch or use the [Hypernode Deploy Github configuration starter template](https://github.com/ByteInternet/hypernode-deploy-configuration/blob/master/templates/github-pipelines.yml). +Now it's time to create your CI configuration file. You can either start from scratch or use the [Hypernode Deploy Github how-to page](../../hypernode-deploy/pipelines/github-actions.md). -The CI configuration file needs to make use of the Hypernode Deploy image in order to run your CI/CD pipelines succesfully. We serve multiple flavors of the Hypernode Deploy image, one for every PHP + NodeJS version combination. See [Docker Hub](https://hub.docker.com/r/hypernode/deploy/tags) for all supported flavors. As new PHP / Node versions come out, we'll bake more images to support those. +The CI configuration file needs to make use of the Hypernode Deploy image in order to run your CI/CD pipelines succesfully. We serve multiple flavors of the Hypernode Deploy image, one for every PHP + NodeJS version combination. See [our image repository](https://quay.io/repository/hypernode/deploy?tab=tags&tag=latest) for all supported flavors. As new PHP / Node versions come out, we'll bake more images to support those. Choose a version of the hypernode/deploy image that best reflects your application needs. Here's an example of a `.github/workflows/deploy.yml` file that uses the PHP 8.3 + Node 20 flavor and is configured with a configuration for the staging environment, containing a build step and deploy step to perform the deployment to the configured staging server. It uses the configuration provided in `deploy.php` to perform the steps. diff --git a/docs/hypernode-platform/varnish/how-to-enable-varnish-on-hypernode.md b/docs/hypernode-platform/varnish/how-to-enable-varnish-on-hypernode.md index 7b206c58..03085c6e 100644 --- a/docs/hypernode-platform/varnish/how-to-enable-varnish-on-hypernode.md +++ b/docs/hypernode-platform/varnish/how-to-enable-varnish-on-hypernode.md @@ -25,13 +25,6 @@ At Hypernode it’s possible to enable Varnish 4.0 or 6.0 via the Control Panel, - Select the Hypernode - Click on "Enable Varnish" -**Enable Varnish via the [Service Panel](https://service.byte.nl/)** - -- Log in on the Service Panel -- Go to the tab "Instellingen" -- Click on "Varnish" -- Use the switch to enable Varnish - **Configure Varnish 6.0 via the [hypernode-systemctl tool](../tools/how-to-use-the-hypernode-systemctl-cli-tool.md)** `hypernode-systemctl settings varnish_version 6.0` diff --git a/docs/services/control-panel/how-to-link-your-domain-to-your-hypernode.md b/docs/services/control-panel/how-to-link-your-domain-to-your-hypernode.md index ff065776..8e1ef9ac 100644 --- a/docs/services/control-panel/how-to-link-your-domain-to-your-hypernode.md +++ b/docs/services/control-panel/how-to-link-your-domain-to-your-hypernode.md @@ -43,7 +43,7 @@ When you link your domain to your Hypernode, you mark your domain as being in us This way we know which domains are used on a node that is being migrated or upgraded, so we are able to take action. When you sync a domain, we automatically add a CNAME- and A-record that points to your Hypernode to the DNS. If the IP address of the Hypernode has changed, we correct this by updating the DNS records of the domain(s) on our name servers. -To make this work your domains should be hosted at Hypernode, so [order your domain](https://www.byte.nl/hosting/domeinnaam) or migrate it to Hypernode. +To make this work your domains should be hosted at Hypernode, so [order your domain](https://my.hypernode.com/) or migrate it to Hypernode. If your domains are not hosted at Hypernode, read the documentation about [how to configure your DNS for Hypernode](../../hypernode-platform/dns/how-to-manage-your-dns-settings-for-hypernode.md). diff --git a/docs/services/control-panel/how-to-order-a-hypernode-and-transfer-ownership-to-a-customer.md b/docs/services/control-panel/how-to-order-a-hypernode-and-transfer-ownership-to-a-customer.md index 00330209..b02ba2d8 100644 --- a/docs/services/control-panel/how-to-order-a-hypernode-and-transfer-ownership-to-a-customer.md +++ b/docs/services/control-panel/how-to-order-a-hypernode-and-transfer-ownership-to-a-customer.md @@ -36,8 +36,6 @@ To order a new Hypernode plan, follow these steps: 1. Check if all information is correct and place your order. 1. The new Hypernode plan will be booted and you will receive an email when it's ready. -Please note: if you are a Service Panel user (i.e. you use the Dutch panel), please order your new plans directly via [this page in the Service Panel](https://service.byte.nl/planinfo/order-selection/). This is to prevent plans from being booted in the wrong system. - ## Step 2: Tips For Ordering a Hypernode - Choose a logical name. IE: If your site is example.com, order example.hypernode.com diff --git a/docs/services/domain-procedures/how-to-transfer-your-domain-name-to-another-provider-service-panel.md b/docs/services/domain-procedures/how-to-transfer-your-domain-name-to-another-provider-service-panel.md index 66132c7e..3e639492 100644 --- a/docs/services/domain-procedures/how-to-transfer-your-domain-name-to-another-provider-service-panel.md +++ b/docs/services/domain-procedures/how-to-transfer-your-domain-name-to-another-provider-service-panel.md @@ -23,7 +23,7 @@ To transfer your domain name to another hosting provider, take the following ste Most domain names need an authorization code or token to initiate the transfer. This code or token will be emailed to your customer account  registrant email address when you cancel your subscription: -- Log on to the [Service Panel](https://auth.byte.nl/) with your customer number and password +- Log on to the [Service Panel](https://my.hypernode.com/) with your customer number and password - Click the domain you wish to transfer - Click “Opzeggen” under the tab ‘Administratief’. - Choose: “Ik wil het domein wegverhuizen naar een andere provider” diff --git a/docs/services/magereport/magereport-premium.md b/docs/services/magereport/magereport-premium.md index 99d1be4b..d2636ecd 100644 --- a/docs/services/magereport/magereport-premium.md +++ b/docs/services/magereport/magereport-premium.md @@ -47,7 +47,7 @@ This check tells you how big your var/log directory has gotten. We recommend kee ### Disk Usage -A full disk slows your Hypernode down. You can always [upgrade to a bigger node](https://service.byte.nl/planinfo/), but in most cases cleaning up your disk is sufficient. More information about cleaning up your disk is explained in [How to Free up Disk Space.](../../hypernode-platform/tools/how-to-free-up-disk-space) +A full disk slows your Hypernode down. You can always [upgrade to a bigger node](https://www.hypernode.com/en/plans-and-prices/), but in most cases cleaning up your disk is sufficient. More information about cleaning up your disk is explained in [How to Free up Disk Space.](../../hypernode-platform/tools/how-to-free-up-disk-space) ### Bot Traffic From e5893906f40eae1cc8399cc02a96ea681822ee9b Mon Sep 17 00:00:00 2001 From: Jonathan Visser Date: Mon, 17 Mar 2025 15:20:08 +0100 Subject: [PATCH 29/44] Fix weird sentance --- docs/best-practices/performance/how-to-optimize-your-images.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/best-practices/performance/how-to-optimize-your-images.md b/docs/best-practices/performance/how-to-optimize-your-images.md index 21dc483c..43b14884 100644 --- a/docs/best-practices/performance/how-to-optimize-your-images.md +++ b/docs/best-practices/performance/how-to-optimize-your-images.md @@ -15,7 +15,7 @@ redirect_from: If you want a faster shop, you have probably looked at [Google Pagespeed Insights](https://developers.google.com/speed/pagespeed/insights/) for useful suggestions. It probably told you to optimize your images. Which means, reducing the size-on-disk without losing quality. This is a very cumbersome process if you do this by hand (opening in Photoshop, saving-as, etcetera). But it is very easy if you use Hypernode. If you follow this article, **it will take you only a couple of minutes to set up automatic image optimization**. -Thanks to Peter Jaap for doing the initial research (in Dutch). +Thanks to Peter Jaap for doing the initial research. > [@Hypernode_com](https://twitter.com/Hypernode_com) hypernode-image-optimizer is pretty effective "Optimization profit over all files: 502812 KB (82%)". Thanks for that! > From 945ce1c755babcabae92e92f7bed6e073eabbd29 Mon Sep 17 00:00:00 2001 From: Jonathan Visser Date: Mon, 17 Mar 2025 15:22:46 +0100 Subject: [PATCH 30/44] Fix typo in reference to other file link --- .../how-to-fix-malicious-javascript-credit-card-hijack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/best-practices/security/how-to-fix-malicious-javascript-credit-card-hijack.md b/docs/best-practices/security/how-to-fix-malicious-javascript-credit-card-hijack.md index 1825d99e..b2190d43 100644 --- a/docs/best-practices/security/how-to-fix-malicious-javascript-credit-card-hijack.md +++ b/docs/best-practices/security/how-to-fix-malicious-javascript-credit-card-hijack.md @@ -26,7 +26,7 @@ With this relatively new way of hacking, malware is added in the browser of your In 2015 we analyzed the malware and found out that a staggering amount of 3500 Magento shops are part of a zombie network that interfere credit card credentials, and send this data to so called command&control servers. (Command&control servers are a network of servers where hackers collect this sort of data). This was the first time we encountered an automated credit card fraud on this scale. It’s obvious hackers have massively improved in becoming more professional in automating large-scale credit card fraud. -[Read more about Credit card Hijack](h../../best-practices/security/how-to-fix-malicious-javascript-credit-card-hijack.md#what-is-credit-card-hijack) +[Read more about Credit card Hijack](../../best-practices/security/how-to-fix-malicious-javascript-credit-card-hijack.md#what-is-credit-card-hijack) We suspect this leak has been made possible due to unpatched Magento shops. So if you haven’t completely patched your Magento shop yet, make sure you do. Use Magereport.com to check if there are any patches not yet installed. From 01197662f7e8e41d46d81696e2407a871622b067 Mon Sep 17 00:00:00 2001 From: Jonathan Date: Mon, 17 Mar 2025 15:37:07 +0100 Subject: [PATCH 31/44] Update docs/services/domain-procedures/how-to-transfer-your-domain-name-to-another-provider-service-panel.md Co-authored-by: Hritik Kothari --- ...ansfer-your-domain-name-to-another-provider-service-panel.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/services/domain-procedures/how-to-transfer-your-domain-name-to-another-provider-service-panel.md b/docs/services/domain-procedures/how-to-transfer-your-domain-name-to-another-provider-service-panel.md index 3e639492..670c3504 100644 --- a/docs/services/domain-procedures/how-to-transfer-your-domain-name-to-another-provider-service-panel.md +++ b/docs/services/domain-procedures/how-to-transfer-your-domain-name-to-another-provider-service-panel.md @@ -23,7 +23,7 @@ To transfer your domain name to another hosting provider, take the following ste Most domain names need an authorization code or token to initiate the transfer. This code or token will be emailed to your customer account  registrant email address when you cancel your subscription: -- Log on to the [Service Panel](https://my.hypernode.com/) with your customer number and password +- Log on to the [Control Panel](https://my.hypernode.com/) with your customer number and password - Click the domain you wish to transfer - Click “Opzeggen” under the tab ‘Administratief’. - Choose: “Ik wil het domein wegverhuizen naar een andere provider” From 7d10c66e6015f31e24761ef0491c6476a985c656 Mon Sep 17 00:00:00 2001 From: Dominik Matic Date: Tue, 11 Mar 2025 16:22:24 +0100 Subject: [PATCH 32/44] How to configure remote storage for shopware 6.x --- ...nfigure-remote-storage-for-shopware-6-x.md | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md diff --git a/docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md b/docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md new file mode 100644 index 00000000..87989293 --- /dev/null +++ b/docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md @@ -0,0 +1,108 @@ +--- +myst: + html_meta: + description: Configure remote storage for Shopware 6.x. Learn how to configure + Shopware 6 to start storing files in your bucket. + title: How to Configure Remote Storage for Shopware 6.x | Hypernode +--- + +# How to Configure Remote Storage for Shopware 6.x + + +Shopware 6.x supports remote storage for different types of files, allowing you to store assets such as product images, documents, and other media in an external storage service instead of the local server. + +Using remote object storage in Shopware 6 provides several benefits, including: + +- Offloading storage from your server, reducing the load on your server, and improving performance. +- Allows you to make use of [horizontal scaling](../../hypernode-platform/autoscaling/how-does-horizontal-autoscaling-work), as you can easily add more servers without having to worry about syncing files between them. +- Allows for effortless storage capacity scaling, as you can easily increase the storage capacity of your remote storage location. +- Serving assets from a CDN, which can improve the performance of your website. + +## Configuring the application + +Configuring Shopware 6 to start storing files in your bucket is done by modifying the the general bundle configuration file located at `config/packages/shopware.yml` in your shopware root directory. + +**Hypernode Object Storage and other S3 compatible providers** + +If you're using Hypernode Object Storage, you need to make sure that the configuration file contains the following: + +```yml +shopware: + filesystem: + public: + type: 'amazon-s3' + config: + bucket: 'main' + region: 'EU' + endpoint: 'management url' + use_path_style_endpoint: true + credentials: + key: 'access key' + secret: 'secret key' + +``` + +You can get the required management URL, access key, and secret key by running `hypernode-object-storage info` with the `--with-credentials` flag: + +```console +app@testapp ~ # hypernode-object-storage info --with-credentials ++--------------------------------------+----------------+---------+-------------+-------------------------------------+---------------+---------------+ +| UUID | Name | Plan | Hypernodes | Management URL | Access Key | Secret Key | ++--------------------------------------+----------------+---------+-------------+-------------------------------------+---------------+---------------+ +| 12345678-9012-3456-b7e3-19ab43df4a23 | testappbucket1 | OS200GB | testapp | https://example.ams.objectstore.eu | abcd1234 | abcd1234 | ++--------------------------------------+----------------+---------+-------------+-------------------------------------+---------------+---------------+ +``` + +**AWS S3** + +If you're using Amazon's S3 bucket, your configuration file should include the following: + +```yml +shopware: + filesystem: + public: + type: 'amazon-s3' + config: + bucket: 'your bucket name' + region: 'your aws region' + credentials: + key: 'your aws access key' + secret: 'your aws secret key' + +``` + +## Syncing the files + +You can use the following to sync the files between your local and remote storage: + +```bash +hypernode-object-storage objects sync pub/media/ s3://my_bucket_name/media/ +hypernode-object-storage objects sync var/import_export s3://my_bucket_name/import_export +``` + +The `hypernode-object-storage objects sync` command runs the sync process in the background +and provides the Process ID (PID). You can monitor the sync progress using: + +```bash +hypernode-object-storage objects show PID +``` + +Alternatively, you can use the AWS CLI directly: + +```bash +aws s3 sync pub/media/ s3://my_bucket_name/media/ +aws s3 sync var/import_export s3://my_bucket_name/import_export +``` + +## Serving assets from your S3 bucket + +To serve media assets directly from your S3 bucket, you need to adjust your nginx configuration. +Fortunately, `hypernode-manage-vhosts` [simplifies this process for you](../../hypernode-platform/nginx/hypernode-managed-vhosts.md#object-storage-and-hypernode-managed-vhosts). + +### Configuring Amazon S3 bucket policies + +If you’re using Amazon S3, ensure that your S3 bucket has ACLs enabled. + +## Shopware remote storage documentation + +- [Filesystem](https://developer.shopware.com/docs/guides/hosting/infrastructure/filesystem.html) From 502a6214c603912887614a984e3ec83fa52ed350 Mon Sep 17 00:00:00 2001 From: Dominik Matic Date: Tue, 11 Mar 2025 16:26:19 +0100 Subject: [PATCH 33/44] change yml->yaml --- .../how-to-configure-remote-storage-for-shopware-6-x.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md b/docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md index 87989293..01b9fd15 100644 --- a/docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md +++ b/docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md @@ -26,7 +26,7 @@ Configuring Shopware 6 to start storing files in your bucket is done by modifyin If you're using Hypernode Object Storage, you need to make sure that the configuration file contains the following: -```yml +```yaml shopware: filesystem: public: @@ -57,7 +57,7 @@ app@testapp ~ # hypernode-object-storage info --with-credentials If you're using Amazon's S3 bucket, your configuration file should include the following: -```yml +```yaml shopware: filesystem: public: From 19f1f0bb76e86f9e954f53bfa85c68e520a84a36 Mon Sep 17 00:00:00 2001 From: Dominik Matic Date: Tue, 11 Mar 2025 16:31:21 +0100 Subject: [PATCH 34/44] apply mdformat --- .../how-to-configure-remote-storage-for-shopware-6-x.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md b/docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md index 01b9fd15..509738d1 100644 --- a/docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md +++ b/docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md @@ -8,7 +8,6 @@ myst: # How to Configure Remote Storage for Shopware 6.x - Shopware 6.x supports remote storage for different types of files, allowing you to store assets such as product images, documents, and other media in an external storage service instead of the local server. Using remote object storage in Shopware 6 provides several benefits, including: From 82afaabd6861bb181100360b366be47dc23d8171 Mon Sep 17 00:00:00 2001 From: Dominik Matic Date: Wed, 12 Mar 2025 10:56:04 +0100 Subject: [PATCH 35/44] make paths make sense with shopware, add sentence making note of the bucket name for Hypernode Object Storage --- ...how-to-configure-remote-storage-for-shopware-6-x.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md b/docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md index 509738d1..b5dd1998 100644 --- a/docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md +++ b/docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md @@ -21,7 +21,7 @@ Using remote object storage in Shopware 6 provides several benefits, including: Configuring Shopware 6 to start storing files in your bucket is done by modifying the the general bundle configuration file located at `config/packages/shopware.yml` in your shopware root directory. -**Hypernode Object Storage and other S3 compatible providers** +**Hypernode Object Storage** If you're using Hypernode Object Storage, you need to make sure that the configuration file contains the following: @@ -75,10 +75,11 @@ shopware: You can use the following to sync the files between your local and remote storage: ```bash -hypernode-object-storage objects sync pub/media/ s3://my_bucket_name/media/ -hypernode-object-storage objects sync var/import_export s3://my_bucket_name/import_export +hypernode-object-storage objects sync public/media/ s3://bucket_name/media/ ``` +In the case of Hypernode Object Storage, the bucket name will always be `main`. + The `hypernode-object-storage objects sync` command runs the sync process in the background and provides the Process ID (PID). You can monitor the sync progress using: @@ -89,8 +90,7 @@ hypernode-object-storage objects show PID Alternatively, you can use the AWS CLI directly: ```bash -aws s3 sync pub/media/ s3://my_bucket_name/media/ -aws s3 sync var/import_export s3://my_bucket_name/import_export +aws s3 sync public/media/ s3://bucket_name/media/ ``` ## Serving assets from your S3 bucket From 00052402270420f41daa6a77aa3080b2745a5aea Mon Sep 17 00:00:00 2001 From: Dominik Matic Date: Tue, 18 Mar 2025 10:55:18 +0100 Subject: [PATCH 36/44] move Shopware 6 OS section, fix a sentence, and remove trailing whitespace --- ...w-to-configure-remote-storage-for-shopware-6-x.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md b/docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md index b5dd1998..16094165 100644 --- a/docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md +++ b/docs/ecommerce-applications/shopware-6/how-to-configure-remote-storage-for-shopware-6-x.md @@ -38,7 +38,6 @@ shopware: credentials: key: 'access key' secret: 'secret key' - ``` You can get the required management URL, access key, and secret key by running `hypernode-object-storage info` with the `--with-credentials` flag: @@ -54,7 +53,7 @@ app@testapp ~ # hypernode-object-storage info --with-credentials **AWS S3** -If you're using Amazon's S3 bucket, your configuration file should include the following: +If you're using the AWS S3 service, your configuration file should include the following: ```yaml shopware: @@ -67,9 +66,12 @@ shopware: credentials: key: 'your aws access key' secret: 'your aws secret key' - ``` +### Shopware remote storage documentation + +For more details on configuring remote storage in Shopware, you can refer to the official [Shopware Filesystem documentation](https://developer.shopware.com/docs/guides/hosting/infrastructure/filesystem.html) + ## Syncing the files You can use the following to sync the files between your local and remote storage: @@ -101,7 +103,3 @@ Fortunately, `hypernode-manage-vhosts` [simplifies this process for you](../../h ### Configuring Amazon S3 bucket policies If you’re using Amazon S3, ensure that your S3 bucket has ACLs enabled. - -## Shopware remote storage documentation - -- [Filesystem](https://developer.shopware.com/docs/guides/hosting/infrastructure/filesystem.html) From dce3644d6b7a40fa24eb8c2d8ca4154f2109faa3 Mon Sep 17 00:00:00 2001 From: Jonathan Visser Date: Mon, 24 Mar 2025 13:06:44 +0100 Subject: [PATCH 37/44] Add sample config for Shopware 6 application on hypernode deploy --- .../applications/config-for-shopware-6.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/hypernode-deploy/applications/config-for-shopware-6.md b/docs/hypernode-deploy/applications/config-for-shopware-6.md index 56eb206b..b7cf50cb 100644 --- a/docs/hypernode-deploy/applications/config-for-shopware-6.md +++ b/docs/hypernode-deploy/applications/config-for-shopware-6.md @@ -1 +1,18 @@ # Config for Shopware 6 + +This is a sample configuration that suffices for most Shopware 6 installations: + +```php +addStage('production', 'shopware6.komkommer.store'); +$productionStage->addServer('appname.hypernode.io'); + +return $configuration; +``` + +By using the Shopware6 ApplicationTemplate, a bunch of default configuration gets set in Hypernode Deploy, and should work out-of-the-box for most shopware 6 stores. \ No newline at end of file From 43d79b9459122975d7a44b5a3d79cfe8ccc22309 Mon Sep 17 00:00:00 2001 From: Jonathan Visser Date: Mon, 24 Mar 2025 13:06:57 +0100 Subject: [PATCH 38/44] Remove less informative line in Magento docs for Hypernode Deploy --- docs/hypernode-deploy/applications/config-for-magento-2.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/hypernode-deploy/applications/config-for-magento-2.md b/docs/hypernode-deploy/applications/config-for-magento-2.md index 52d7419c..495e1369 100644 --- a/docs/hypernode-deploy/applications/config-for-magento-2.md +++ b/docs/hypernode-deploy/applications/config-for-magento-2.md @@ -17,8 +17,6 @@ return $configuration; By using the Magento2 ApplicationTemplate, a bunch of default configuration gets set in Hypernode Deploy, and should work out-of-the-box for most magento 2 stores. -These are the steps that will be executed by running your deployment: - ## Advanced However, for advanced configurations you can override most steps and variables set my Hypernode Deploy: From 13e6ea2dbfadb9c720d38fc16082b6ad081facc8 Mon Sep 17 00:00:00 2001 From: Jonathan Visser Date: Mon, 24 Mar 2025 13:38:20 +0100 Subject: [PATCH 39/44] add trailing newline to config-for-shopware-6 --- docs/hypernode-deploy/applications/config-for-shopware-6.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/hypernode-deploy/applications/config-for-shopware-6.md b/docs/hypernode-deploy/applications/config-for-shopware-6.md index b7cf50cb..bc9c1ae5 100644 --- a/docs/hypernode-deploy/applications/config-for-shopware-6.md +++ b/docs/hypernode-deploy/applications/config-for-shopware-6.md @@ -15,4 +15,4 @@ $productionStage->addServer('appname.hypernode.io'); return $configuration; ``` -By using the Shopware6 ApplicationTemplate, a bunch of default configuration gets set in Hypernode Deploy, and should work out-of-the-box for most shopware 6 stores. \ No newline at end of file +By using the Shopware6 ApplicationTemplate, a bunch of default configuration gets set in Hypernode Deploy, and should work out-of-the-box for most shopware 6 stores. From 8cb110c3799587113c41d6c8a11e5d71bf45e4da Mon Sep 17 00:00:00 2001 From: Jonathan Visser Date: Fri, 28 Mar 2025 12:39:24 +0100 Subject: [PATCH 40/44] Remove comment at autosuggestion --- .github/workflows/lint.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index dad8cb93..fcc081f3 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -26,5 +26,4 @@ jobs: run: mdformat docs/ - uses: parkerbxyz/suggest-changes@v1 with: - comment: 'Please commit the suggested changes from mdformat' event: 'REQUEST_CHANGES' \ No newline at end of file From 1bc45fa88594dd07c9d4e77f353bb07f8008f814 Mon Sep 17 00:00:00 2001 From: Jonathan Visser Date: Fri, 28 Mar 2025 12:48:54 +0100 Subject: [PATCH 41/44] Add EOF line --- .github/workflows/lint.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index fcc081f3..a97363c7 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -26,4 +26,4 @@ jobs: run: mdformat docs/ - uses: parkerbxyz/suggest-changes@v1 with: - event: 'REQUEST_CHANGES' \ No newline at end of file + event: 'REQUEST_CHANGES' From 624e4267bf84d76caca5a14b62e5f7de777617ce Mon Sep 17 00:00:00 2001 From: Nealsvanderven Date: Mon, 31 Mar 2025 09:51:27 +0200 Subject: [PATCH 42/44] Update how-to-run-rabbitmq-on-hypernode.md fix: Use the correct hostname for the setup --- .../best-practices/database/how-to-run-rabbitmq-on-hypernode.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/best-practices/database/how-to-run-rabbitmq-on-hypernode.md b/docs/best-practices/database/how-to-run-rabbitmq-on-hypernode.md index 014cf022..99d5b294 100644 --- a/docs/best-practices/database/how-to-run-rabbitmq-on-hypernode.md +++ b/docs/best-practices/database/how-to-run-rabbitmq-on-hypernode.md @@ -85,7 +85,7 @@ To configure RabbitMQ in Magento 2, you can run the following command: ```bash bin/magento setup:config:set \ - --amqp-host="rabbitmqmaster" \ + --amqp-host="rabbitmq" \ --amqp-port="5672" \ --amqp-user="guest" \ --amqp-password="guest" \ From 20d624b9f1eb2ec3b4206a8115c641be36fb451b Mon Sep 17 00:00:00 2001 From: Jonathan Visser Date: Mon, 31 Mar 2025 10:43:06 +0200 Subject: [PATCH 43/44] Remove sphinxcontrib-mermaid dependency --- .devcontainer/devcontainer.json | 1 - docs/conf.py | 1 - requirements/base.txt | 1 - 3 files changed, 3 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 37e8b416..3c95fe4d 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -12,7 +12,6 @@ }, "vscode": { "extensions": [ - "bierner.markdown-mermaid", "davidanson.vscode-markdownlint", "ms-python.python" ] diff --git a/docs/conf.py b/docs/conf.py index c689cbc9..f0a19823 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -48,7 +48,6 @@ "hypernode.sphinx.extensions.updated_at", "hypernode.sphinx.extensions.meta_robots", "hypernode.sphinx.extensions.github_actions_logging", - "sphinxcontrib.mermaid", ] # Add any paths that contain templates here, relative to this directory. diff --git a/requirements/base.txt b/requirements/base.txt index e961ec16..6e5b5a97 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -10,7 +10,6 @@ mdformat-frontmatter==0.4.1 sphinx-notfound-page==0.8.3 sphinx-sitemap==2.4.0 GitPython==3.1.30 -sphinxcontrib-mermaid==0.7.1 # hypernode/ requirements beautifulsoup4==4.11.1 From fdc7b71a167cca0316121928033a847d79b5ba98 Mon Sep 17 00:00:00 2001 From: Jonathan Visser Date: Mon, 31 Mar 2025 10:50:02 +0200 Subject: [PATCH 44/44] Update rabbitmqmaster to rabbitmq for horizontal autoscaling for magento --- .../autoscaling/how-does-horizontal-autoscaling-work.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/hypernode-platform/autoscaling/how-does-horizontal-autoscaling-work.md b/docs/hypernode-platform/autoscaling/how-does-horizontal-autoscaling-work.md index bc1408e5..b10ce8c5 100644 --- a/docs/hypernode-platform/autoscaling/how-does-horizontal-autoscaling-work.md +++ b/docs/hypernode-platform/autoscaling/how-does-horizontal-autoscaling-work.md @@ -202,7 +202,7 @@ More information about [Elasticsearch on Hypernode](../../hypernode-platform/too #### Make sure RabbitMQ configured properly -Please make sure RabbitMQ host is set to `rabbitmqmaster` in the Magento 2 configuration file at `/app/etc/env.php` +Please make sure RabbitMQ host is set to `rabbitmq` in the Magento 2 configuration file at `/app/etc/env.php` More information about [RabbitMQ on Hypernode](../../best-practices/database/how-to-run-rabbitmq-on-hypernode.md) There is a rabbitmq user provisioned by Hypernode called `hypernode-admin` as a non-default user, but you can also configure RabbitMQ with a new different user of your own. @@ -212,7 +212,7 @@ For example, you can run the following command to change your RabbitMQ config in ```bash bin/magento setup:config:set \ - --amqp-host="rabbitmqmaster" \ + --amqp-host="rabbitmq" \ --amqp-user="my_rabbitmq_user" \ --amqp-password="my_rabbitmq_password" ```