<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Julia March, Author at Clever Cloud</title>
	<atom:link href="https://www.clever.cloud/blog/author/julia-navarroclever-cloud-com/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>From Code to Product</description>
	<lastBuildDate>Tue, 18 Mar 2025 08:30:40 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://cdn.clever-cloud.com/uploads/2023/03/cropped-cropped-favicon-32x32.png</url>
	<title>Julia March, Author at Clever Cloud</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Deploy Docs on Clever Cloud</title>
		<link>https://www.clever.cloud/blog/engineering/2025/03/17/deploy-docs-on-clever-cloud/</link>
		
		<dc:creator><![CDATA[Julia March]]></dc:creator>
		<pubDate>Mon, 17 Mar 2025 18:37:00 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[DINUM]]></category>
		<category><![CDATA[docs]]></category>
		<category><![CDATA[Node.JS]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://www.clever-cloud.com/?p=16710</guid>

					<description><![CDATA[<p><img width="2560" height="1238" src="https://cdn.clever-cloud.com/uploads/2025/03/docs-scaled.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="docs scaled" decoding="async" fetchpriority="high" srcset="https://cdn.clever-cloud.com/uploads/2025/03/docs-scaled.jpg 2560w, https://cdn.clever-cloud.com/uploads/2025/03/docs-300x145.jpg 300w, https://cdn.clever-cloud.com/uploads/2025/03/docs-1024x495.jpg 1024w, https://cdn.clever-cloud.com/uploads/2025/03/docs-768x371.jpg 768w, https://cdn.clever-cloud.com/uploads/2025/03/docs-1536x743.jpg 1536w, https://cdn.clever-cloud.com/uploads/2025/03/docs-2048x990.jpg 2048w, https://cdn.clever-cloud.com/uploads/2025/03/docs-1368x661.jpg 1368w" sizes="(max-width: 2560px) 100vw, 2560px" /></p><!-- wp:paragraph -->
<p>The open-source alternative to Notion, a French government initiative in collaboration with Germany, has become the number 1 topic of discussion on <a href="https://news.ycombinator.com/item?id=43378239" target="_blank" rel="noreferrer noopener">Hacker News</a> over the last 24 hours. In this post, we explain how to deploy and configure Docs on Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">What is Docs?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Docs isn't just an alternative to Notion: it's also a collaborative project from the Direction Interministérielle du Numérique (DINUM) and its German equivalent, the Zentrum Digitale Souveränität (ZENDIS, or Center for Digital Sovereignty).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Docs is one of many initiatives aimed at ensuring the digital sovereignty of governments , not only in their use of digital tools, but also in their creation. At Clever Cloud, we've already had the opportunity to work with various ministries on a daily basis, and we're proud to be able to contribute to the diffusion of these tools.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>As Docs currently runs on Kubernetes, we have explored the possibilities of deploying it using Clever Cloud rather than a kube cluster. Of course, you'll be able to deploy it using Kubernetes when our managed kube product becomes available.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">How to deploy Docs on Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Docs consists of two main applications:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>A backend (a Django API Rest) in src/backend</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>A frontend (mainly based on Next.js and yarn workspaces) in src/frontend</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>And integrates the following dependencies :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>PostgreSQL database</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Redis</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Keycloak (optional)</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>To deploy it on Clever Cloud, opt for a Python application for the backend, and a Node.js application for the frontend. There's no need to version each subfolder; you can push your code with Git from the repository root and specify which subfolder to deploy using the <code>APP_FOLDER</code> variable for each of your applications.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Backend deployment</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>To take the value from the environment variables injected at runtime on Clever Cloud, we've made a few minor modifications to the code, and also renamed the environment variables for the PostgreSQL database and S3 storage. This last modification allows you to modify the database or buckets, change add-ons and renew identifiers without having to manually modify the value of the variables injected into the application. For smooth deployment of Docs on Clever Cloud, <a href="https://github.com/CleverCloud/docs-example/tree/deploy-on-cc" target="_blank" rel="noreferrer noopener">clone the branch under development on our fork</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Then, on Clever Cloud:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Create a Python application</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Add a PostrgreSQL database</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Create a Cellar add-on (or create the bucket directly, if you already have one) and connect it to the application.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Create a Redis add-on and connect it to the application</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Add the minimum configuration environment variables to your application:</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><code>APP_FOLDER="/src/backend"<br>CC_PYTHON_MODULE="impress.wsgi:application"<br>CC_PYTHON_VERSION="3"<br>CC_TROUBLESHOOT="true"<br>CELLAR_STORAGE_BUCKET_NAME="your-bucket-name"<br>DJANGO_ALLOWED_HOSTS="frontend-url/*"<br>DJANGO_CONFIGURATION="Development" / "Production"<br>DJANGO_SECRET_KEY="YourNewlyGeneratedKeyHere"<br>DJANGO_SETTINGS_MODULE="impress.settings"<br>DJANGO_SUPERUSER_PASSWORD=""<br>OIDC_OP_AUTHORIZATION_ENDPOINT="&lt;&gt;"<br>OIDC_OP_JWKS_ENDPOINT="&lt;&gt;"<br>OIDC_OP_TOKEN_ENDPOINT="&lt;&gt;"<br>OIDC_OP_USER_ENDPOINT="&lt;&gt;"<br>OIDC_RP_CLIENT_SECRET=""<br>STATIC_URL="frontend url"</code></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Click on the <strong>Exposed configuration</strong> tab and add the variables to be shared with the frontend (the Cellar configuration and Keycloak, if you're adding one).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br>In your application, add the remote provided in the Python application dashboard (<strong>Information</strong> tab) and name it clever-backend, for example.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Once deployed, you'll be able to connect to the API administration interface on backend-url/admin.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Deploying the frontend</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The Docs frontend requires far fewer dependencies, this one is configured to use yarn worspaces that facilitate both maintenance and the deployment of multiple applications on a single virtual machine on Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>On Clever Cloud:<br></p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Create a Node.js application</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Add the following environment variables:</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><code>APP_FOLDER="./src/frontend"<br>CC_NODE_BUILD_TOOL="yarn"<br>CC_PRE_BUILD_HOOK="cd ./src/frontend &amp;&amp; yarn install --frozen-lockfile &amp;&amp; yarn app:build"<br>CC_RUN_COMMAND="cd ./src/frontend &amp;&amp; yarn app:start"<br>CC_TROUBLESHOOT="true"<br>NEXT_PUBLIC_API_ORIGIN=""<br>NEXT_PUBLIC_SW_DEACTIVATED="true"<br>NODE_OPTIONS="--max-old-space-size=4096"</code></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Connect the application to the backend (<strong>Linked services</strong> tab), as well as to the database add-on.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>In your application, add the remote provided in the Node.js application dashboard (<strong>Information</strong> tab) and name it clever-frontend, for example.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Push the code, and you'll be able to connect using the authentication you've defined with Keycloak or the Django API.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Go further with Docs</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>This article presents an example of deployment on Clever Cloud, but Docs is a rich project with multiple functionalities that you can activate or customize. To work locally, you'll find instructions for starting the frontend <a href="https://github.com/CleverCloud/docs-example/blob/deploy-on-cc/src/frontend/README.md" target="_blank" rel="noreferrer noopener">here</a>, and for starting the backend <a href="https://github.com/CleverCloud/docs-example/blob/deploy-on-cc/src/backend/README.md">here</a>. We welcome questions and contributions!</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="2560" height="1238" src="https://cdn.clever-cloud.com/uploads/2025/03/docs-scaled.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="docs scaled" decoding="async" srcset="https://cdn.clever-cloud.com/uploads/2025/03/docs-scaled.jpg 2560w, https://cdn.clever-cloud.com/uploads/2025/03/docs-300x145.jpg 300w, https://cdn.clever-cloud.com/uploads/2025/03/docs-1024x495.jpg 1024w, https://cdn.clever-cloud.com/uploads/2025/03/docs-768x371.jpg 768w, https://cdn.clever-cloud.com/uploads/2025/03/docs-1536x743.jpg 1536w, https://cdn.clever-cloud.com/uploads/2025/03/docs-2048x990.jpg 2048w, https://cdn.clever-cloud.com/uploads/2025/03/docs-1368x661.jpg 1368w" sizes="(max-width: 2560px) 100vw, 2560px" /></p><!-- wp:paragraph -->
<p>The open-source alternative to Notion, a French government initiative in collaboration with Germany, has become the number 1 topic of discussion on <a href="https://news.ycombinator.com/item?id=43378239" target="_blank" rel="noreferrer noopener">Hacker News</a> over the last 24 hours. In this post, we explain how to deploy and configure Docs on Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">What is Docs?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Docs isn't just an alternative to Notion: it's also a collaborative project from the Direction Interministérielle du Numérique (DINUM) and its German equivalent, the Zentrum Digitale Souveränität (ZENDIS, or Center for Digital Sovereignty).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Docs is one of many initiatives aimed at ensuring the digital sovereignty of governments , not only in their use of digital tools, but also in their creation. At Clever Cloud, we've already had the opportunity to work with various ministries on a daily basis, and we're proud to be able to contribute to the diffusion of these tools.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>As Docs currently runs on Kubernetes, we have explored the possibilities of deploying it using Clever Cloud rather than a kube cluster. Of course, you'll be able to deploy it using Kubernetes when our managed kube product becomes available.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">How to deploy Docs on Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Docs consists of two main applications:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>A backend (a Django API Rest) in src/backend</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>A frontend (mainly based on Next.js and yarn workspaces) in src/frontend</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>And integrates the following dependencies :</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>PostgreSQL database</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Redis</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Keycloak (optional)</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>To deploy it on Clever Cloud, opt for a Python application for the backend, and a Node.js application for the frontend. There's no need to version each subfolder; you can push your code with Git from the repository root and specify which subfolder to deploy using the <code>APP_FOLDER</code> variable for each of your applications.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Backend deployment</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>To take the value from the environment variables injected at runtime on Clever Cloud, we've made a few minor modifications to the code, and also renamed the environment variables for the PostgreSQL database and S3 storage. This last modification allows you to modify the database or buckets, change add-ons and renew identifiers without having to manually modify the value of the variables injected into the application. For smooth deployment of Docs on Clever Cloud, <a href="https://github.com/CleverCloud/docs-example/tree/deploy-on-cc" target="_blank" rel="noreferrer noopener">clone the branch under development on our fork</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Then, on Clever Cloud:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Create a Python application</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Add a PostrgreSQL database</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Create a Cellar add-on (or create the bucket directly, if you already have one) and connect it to the application.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Create a Redis add-on and connect it to the application</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Add the minimum configuration environment variables to your application:</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><code>APP_FOLDER="/src/backend"<br>CC_PYTHON_MODULE="impress.wsgi:application"<br>CC_PYTHON_VERSION="3"<br>CC_TROUBLESHOOT="true"<br>CELLAR_STORAGE_BUCKET_NAME="your-bucket-name"<br>DJANGO_ALLOWED_HOSTS="frontend-url/*"<br>DJANGO_CONFIGURATION="Development" / "Production"<br>DJANGO_SECRET_KEY="YourNewlyGeneratedKeyHere"<br>DJANGO_SETTINGS_MODULE="impress.settings"<br>DJANGO_SUPERUSER_PASSWORD=""<br>OIDC_OP_AUTHORIZATION_ENDPOINT="&lt;&gt;"<br>OIDC_OP_JWKS_ENDPOINT="&lt;&gt;"<br>OIDC_OP_TOKEN_ENDPOINT="&lt;&gt;"<br>OIDC_OP_USER_ENDPOINT="&lt;&gt;"<br>OIDC_RP_CLIENT_SECRET=""<br>STATIC_URL="frontend url"</code></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Click on the <strong>Exposed configuration</strong> tab and add the variables to be shared with the frontend (the Cellar configuration and Keycloak, if you're adding one).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><br>In your application, add the remote provided in the Python application dashboard (<strong>Information</strong> tab) and name it clever-backend, for example.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Once deployed, you'll be able to connect to the API administration interface on backend-url/admin.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Deploying the frontend</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The Docs frontend requires far fewer dependencies, this one is configured to use yarn worspaces that facilitate both maintenance and the deployment of multiple applications on a single virtual machine on Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>On Clever Cloud:<br></p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Create a Node.js application</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Add the following environment variables:</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><code>APP_FOLDER="./src/frontend"<br>CC_NODE_BUILD_TOOL="yarn"<br>CC_PRE_BUILD_HOOK="cd ./src/frontend &amp;&amp; yarn install --frozen-lockfile &amp;&amp; yarn app:build"<br>CC_RUN_COMMAND="cd ./src/frontend &amp;&amp; yarn app:start"<br>CC_TROUBLESHOOT="true"<br>NEXT_PUBLIC_API_ORIGIN=""<br>NEXT_PUBLIC_SW_DEACTIVATED="true"<br>NODE_OPTIONS="--max-old-space-size=4096"</code></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Connect the application to the backend (<strong>Linked services</strong> tab), as well as to the database add-on.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>In your application, add the remote provided in the Node.js application dashboard (<strong>Information</strong> tab) and name it clever-frontend, for example.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Push the code, and you'll be able to connect using the authentication you've defined with Keycloak or the Django API.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Go further with Docs</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>This article presents an example of deployment on Clever Cloud, but Docs is a rich project with multiple functionalities that you can activate or customize. To work locally, you'll find instructions for starting the frontend <a href="https://github.com/CleverCloud/docs-example/blob/deploy-on-cc/src/frontend/README.md" target="_blank" rel="noreferrer noopener">here</a>, and for starting the backend <a href="https://github.com/CleverCloud/docs-example/blob/deploy-on-cc/src/backend/README.md">here</a>. We welcome questions and contributions!</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Deploy from GitLab or GitHub</title>
		<link>https://www.clever.cloud/blog/engineering/2024/04/10/deploy-from-gitlab-or-github/</link>
		
		<dc:creator><![CDATA[Julia March]]></dc:creator>
		<pubDate>Wed, 10 Apr 2024 12:06:47 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[ci/cd]]></category>
		<category><![CDATA[giltab]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[heptapod]]></category>
		<guid isPermaLink="false">https://www.clever-cloud.com/?p=12101</guid>

					<description><![CDATA[<p><img width="6912" height="3456" src="https://cdn.clever-cloud.com/uploads/2024/04/github-gitlab-deployments.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="github gitlab deployments" decoding="async" srcset="https://cdn.clever-cloud.com/uploads/2024/04/github-gitlab-deployments.png 6912w, https://cdn.clever-cloud.com/uploads/2024/04/github-gitlab-deployments-300x150.png 300w, https://cdn.clever-cloud.com/uploads/2024/04/github-gitlab-deployments-1024x512.png 1024w, https://cdn.clever-cloud.com/uploads/2024/04/github-gitlab-deployments-768x384.png 768w, https://cdn.clever-cloud.com/uploads/2024/04/github-gitlab-deployments-1536x768.png 1536w, https://cdn.clever-cloud.com/uploads/2024/04/github-gitlab-deployments-2048x1024.png 2048w, https://cdn.clever-cloud.com/uploads/2024/04/github-gitlab-deployments-1368x684.png 1368w" sizes="(max-width: 6912px) 100vw, 6912px" /></p><!-- wp:paragraph -->
<p>Over the past few months, some customers have raised questions about CI/CD building to deploy from GitHub or GitLab. The two platforms differ significantly on the subject, but are the ones massively used to store code and collaborate.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>At Clever Cloud, we're committed to providing a wide range of products and features to facilitate application deployment and maintenance. We aim to constantly improve our customers' experience as well. In this article, we detail how we have approached the subject of CI/CD to simplify deployments, regardless of where you store your code.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Two platforms, one common principle</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Clever Cloud provides a CLI for deploying and managing both applications and add-ons. So far, we've suggested that our customers use it to build their CI/CD. However, writing a pipeline, even with a facilitating tool like a CLI to connect to Clever Cloud, is a long and tedious task. Especially when you're busy developing your application.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Keeping in mind one of our founding principles, to make the work of developers and IT teams as easy as possible, we started to provide slightly more advanced CI/CD tools, both for GitHub and GitLab.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Deploying from GitHub: go further with review apps</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Customers using GitHub are already familiar with <a href="https://developers.clever-cloud.com/doc/ci-cd/#deploy-from-github">our integration, enabling them to deploy from this platform</a>. In addition to this integration, anyone could use the CLI to customize their pipeline.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Based on this configuration, we've provided <a href="https://github.com/CleverCloud/clever-cloud-review-app">a workflow template </a>for deploying review apps from GitHub to Clever Cloud. This script performs the following actions:</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><!-- wp:list-item -->
<li>Create and deploy an app on Clever Cloud from the branch where the PR is open, with a test domain name ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Update the application with each new commit ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Delete the application when the PR is closed.</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>A comment posts the link to the review app with each new deployment, and announces the deletion of the app once this job has been completed.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The script retrieves the environment variables and secrets added to your project from GitHub. It's possible to go further and add commands; for example, to connect the review app to a test database, you could add the command <code>clever service link-addon &lt;addon-name&gt;</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This template is under constant development to progressively simplify your workflow and make it more efficient. Eventually, this Action should work solely with inputs rather than command lines. In the meantime, feel free to <a href="https://github.com/CleverCloud/clever-cloud-review-app/issues/new">open an issue on the project</a> according to your needs.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://github.com/CleverCloud/clever-cloud-review-app" target="_blank" rel="noreferrer noopener">Check the template on GitHub</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Deploying from GitLab</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Our customers working on GitLab (as a SasS or self-hosted instance) have also expressed similar needs for automating their deployments. GitLab differs significantly from GitHub, with a much more DIY approach to CI/CD and different configurations. On GitLab, <a href="https://docs.gitlab.com/ee/ci/variables/predefined_variables.html#predefined-variables-for-merge-request-pipelines">there are no variables</a> for detecting the state of a Merge Request (open or closed), unlike GitHub. If we want to launch a job automatically when it closes, we'<a href="https://docs.gitlab.com/ee/ci/environments/#environment-states"> ll have to use the state of the environments</a> instead, and not that of the MRs.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>At Clever Cloud, we already had different deployment pipelines in place from GitLab for certain projects. We've unified and simplified them by creating pipeline components in the GitLab CI/CD catalog. The components replace <a href="https://docs.gitlab.com/ee/development/cicd/templates.html">GitLab's old template catalog</a>, and enable a modular pipeline to be built using inputs. No need to manually customize a script file anymore.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Our contribution to the catalog currently comprises four components:</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><!-- wp:list-item -->
<li>Deploy in production;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Creating a review app from a Merge Request;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Update review app;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Delete review app.</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>The input values have been predefined to save you time when using them. These components can be used both on gitlab.com and on your self-hosted instance. There's nothing to modify in the project, but <a href="https://docs.gitlab.com/ee/ci/components/#use-a-gitlabcom-component-in-a-self-managed-instance">a few configurations of your instance to check</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>In both cases, we advise you to test the manual triggering of components on your project first. We'll be adding more components as our customers' needs change, and are open to your proposals, to be submitted directly on the project dedicated to them.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://gitlab.com/explore/catalog/CleverCloud/clever-cloud-pipeline" target="_blank" rel="noreferrer noopener">Check the catalog on GitLab</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">The best of both worlds: Heptapod</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>If you use the GitLab Community Edition fork hosted on Clever Cloud, you'll benefit from the advantages of a GitLab as a Service offering, as well as hosting on European servers managed by a French company.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The CI/CD pipeline catalog is already integrated into our Heptapod offer, enabling you to use the components directly in your project, with no instance configuration required.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://developers.clever-cloud.com/doc/addons/heptapod/" target="_blank" rel="noreferrer noopener">Check Heptapod doc</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:heading -->
<h2 class="wp-block-heading">A simplified pipeline</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Clever Cloud integrates the build, install and run phases of your deployments. All you have to do is push your code, the process is automatic. By including deployment on Clever Cloud in your pipeline, you'll get logs of your application's deployment and its various stages directly in the runner's console. This means:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>You can skip the build job in your pipeline - our platform already takes care of that.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>You can monitor your pipeline and its logs directly from GitHub, GitLab or Heptapod, from start to finish.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Remember: if the deployment fails on Clever Cloud, your app will stay up with the last commit  you pushed before your update. It won't crash and your users won't notice anything. <a href="https://www.clever.cloud/blog/company/2022/09/06/whats-clever-in-our-cloud/" target="_blank" rel="noreferrer noopener">We got you!</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>As both projects are in constant development, we plan to go even further in adding flexibility and agility to your deployment processes. We remain open to your suggestions!</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="6912" height="3456" src="https://cdn.clever-cloud.com/uploads/2024/04/github-gitlab-deployments.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="github gitlab deployments" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2024/04/github-gitlab-deployments.png 6912w, https://cdn.clever-cloud.com/uploads/2024/04/github-gitlab-deployments-300x150.png 300w, https://cdn.clever-cloud.com/uploads/2024/04/github-gitlab-deployments-1024x512.png 1024w, https://cdn.clever-cloud.com/uploads/2024/04/github-gitlab-deployments-768x384.png 768w, https://cdn.clever-cloud.com/uploads/2024/04/github-gitlab-deployments-1536x768.png 1536w, https://cdn.clever-cloud.com/uploads/2024/04/github-gitlab-deployments-2048x1024.png 2048w, https://cdn.clever-cloud.com/uploads/2024/04/github-gitlab-deployments-1368x684.png 1368w" sizes="auto, (max-width: 6912px) 100vw, 6912px" /></p><!-- wp:paragraph -->
<p>Over the past few months, some customers have raised questions about CI/CD building to deploy from GitHub or GitLab. The two platforms differ significantly on the subject, but are the ones massively used to store code and collaborate.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>At Clever Cloud, we're committed to providing a wide range of products and features to facilitate application deployment and maintenance. We aim to constantly improve our customers' experience as well. In this article, we detail how we have approached the subject of CI/CD to simplify deployments, regardless of where you store your code.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Two platforms, one common principle</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Clever Cloud provides a CLI for deploying and managing both applications and add-ons. So far, we've suggested that our customers use it to build their CI/CD. However, writing a pipeline, even with a facilitating tool like a CLI to connect to Clever Cloud, is a long and tedious task. Especially when you're busy developing your application.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Keeping in mind one of our founding principles, to make the work of developers and IT teams as easy as possible, we started to provide slightly more advanced CI/CD tools, both for GitHub and GitLab.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Deploying from GitHub: go further with review apps</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Customers using GitHub are already familiar with <a href="https://developers.clever-cloud.com/doc/ci-cd/#deploy-from-github">our integration, enabling them to deploy from this platform</a>. In addition to this integration, anyone could use the CLI to customize their pipeline.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Based on this configuration, we've provided <a href="https://github.com/CleverCloud/clever-cloud-review-app">a workflow template </a>for deploying review apps from GitHub to Clever Cloud. This script performs the following actions:</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><!-- wp:list-item -->
<li>Create and deploy an app on Clever Cloud from the branch where the PR is open, with a test domain name ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Update the application with each new commit ;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Delete the application when the PR is closed.</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>A comment posts the link to the review app with each new deployment, and announces the deletion of the app once this job has been completed.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The script retrieves the environment variables and secrets added to your project from GitHub. It's possible to go further and add commands; for example, to connect the review app to a test database, you could add the command <code>clever service link-addon &lt;addon-name&gt;</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>This template is under constant development to progressively simplify your workflow and make it more efficient. Eventually, this Action should work solely with inputs rather than command lines. In the meantime, feel free to <a href="https://github.com/CleverCloud/clever-cloud-review-app/issues/new">open an issue on the project</a> according to your needs.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://github.com/CleverCloud/clever-cloud-review-app" target="_blank" rel="noreferrer noopener">Check the template on GitHub</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Deploying from GitLab</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Our customers working on GitLab (as a SasS or self-hosted instance) have also expressed similar needs for automating their deployments. GitLab differs significantly from GitHub, with a much more DIY approach to CI/CD and different configurations. On GitLab, <a href="https://docs.gitlab.com/ee/ci/variables/predefined_variables.html#predefined-variables-for-merge-request-pipelines">there are no variables</a> for detecting the state of a Merge Request (open or closed), unlike GitHub. If we want to launch a job automatically when it closes, we'<a href="https://docs.gitlab.com/ee/ci/environments/#environment-states"> ll have to use the state of the environments</a> instead, and not that of the MRs.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>At Clever Cloud, we already had different deployment pipelines in place from GitLab for certain projects. We've unified and simplified them by creating pipeline components in the GitLab CI/CD catalog. The components replace <a href="https://docs.gitlab.com/ee/development/cicd/templates.html">GitLab's old template catalog</a>, and enable a modular pipeline to be built using inputs. No need to manually customize a script file anymore.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Our contribution to the catalog currently comprises four components:</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><!-- wp:list-item -->
<li>Deploy in production;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Creating a review app from a Merge Request;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Update review app;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Delete review app.</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>The input values have been predefined to save you time when using them. These components can be used both on gitlab.com and on your self-hosted instance. There's nothing to modify in the project, but <a href="https://docs.gitlab.com/ee/ci/components/#use-a-gitlabcom-component-in-a-self-managed-instance">a few configurations of your instance to check</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>In both cases, we advise you to test the manual triggering of components on your project first. We'll be adding more components as our customers' needs change, and are open to your proposals, to be submitted directly on the project dedicated to them.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://gitlab.com/explore/catalog/CleverCloud/clever-cloud-pipeline" target="_blank" rel="noreferrer noopener">Check the catalog on GitLab</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">The best of both worlds: Heptapod</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>If you use the GitLab Community Edition fork hosted on Clever Cloud, you'll benefit from the advantages of a GitLab as a Service offering, as well as hosting on European servers managed by a French company.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The CI/CD pipeline catalog is already integrated into our Heptapod offer, enabling you to use the components directly in your project, with no instance configuration required.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
<div class="wp-block-buttons"><!-- wp:button -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://developers.clever-cloud.com/doc/addons/heptapod/" target="_blank" rel="noreferrer noopener">Check Heptapod doc</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:heading -->
<h2 class="wp-block-heading">A simplified pipeline</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Clever Cloud integrates the build, install and run phases of your deployments. All you have to do is push your code, the process is automatic. By including deployment on Clever Cloud in your pipeline, you'll get logs of your application's deployment and its various stages directly in the runner's console. This means:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>You can skip the build job in your pipeline - our platform already takes care of that.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>You can monitor your pipeline and its logs directly from GitHub, GitLab or Heptapod, from start to finish.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Remember: if the deployment fails on Clever Cloud, your app will stay up with the last commit  you pushed before your update. It won't crash and your users won't notice anything. <a href="https://www.clever.cloud/blog/company/2022/09/06/whats-clever-in-our-cloud/" target="_blank" rel="noreferrer noopener">We got you!</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>As both projects are in constant development, we plan to go even further in adding flexibility and agility to your deployment processes. We remain open to your suggestions!</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Cloud hosted WordPress with Composer like it&#8217;s 2024</title>
		<link>https://www.clever.cloud/blog/features/2024/01/08/wordpress-cloud-2024/</link>
		
		<dc:creator><![CDATA[Julia March]]></dc:creator>
		<pubDate>Mon, 08 Jan 2024 11:11:06 +0000</pubDate>
				<category><![CDATA[Features]]></category>
		<category><![CDATA[composer]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.clever-cloud.com/?p=7554</guid>

					<description><![CDATA[<p><img width="1076" height="415" src="https://cdn.clever-cloud.com/uploads/2022/08/wp-composer-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="wp composer 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2022/08/wp-composer-1.png 1076w, https://cdn.clever-cloud.com/uploads/2022/08/wp-composer-1-300x116.png 300w, https://cdn.clever-cloud.com/uploads/2022/08/wp-composer-1-1024x395.png 1024w, https://cdn.clever-cloud.com/uploads/2022/08/wp-composer-1-768x296.png 768w" sizes="auto, (max-width: 1076px) 100vw, 1076px" /></p><!-- wp:paragraph -->
<p>Devastating news for Wordpress haters: with a clean, secure, and modern file structure, you can easily migrate it to Clever Cloud. All of this is possible using the tools described in this post.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For those who have never used Git before, we will also cover how to deploy a WordPress installation on Clever Cloud in this post. If you want to give it a try, we'll walk you through the steps. If you choose not to, our platform does offer a GitHub integration.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Requirements:</strong></p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>A&nbsp;<a href="https://www.clever.cloud" target="_blank" rel="noreferrer noopener">Clever Cloud</a>&nbsp;account</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Le <a href="https://github.com/CleverCloud/clever-wordpress" target="_blank" rel="noreferrer noopener">Bedrock's Composer</a>&nbsp;to deploy WordPress with Clever Cloud, that we have updated.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>A&nbsp;<a href="https://github.com" target="_blank" rel="noreferrer noopener">GitHub</a>&nbsp;account if you deploy the code from it, <strong>or</strong>&nbsp;<a href="https://git-scm.com" target="_blank" rel="noreferrer noopener">Git </a>&nbsp;installed on your computer, if you choose this method.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Deployment and WorpdPress configuration</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Composer will deploy a WordPress site in a matter of minutes, creating a rapid, light, and secure framework for our new website.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Follow the instructions below:</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">1. Get the code</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The code can be found in its &nbsp;<a href="https://github.com/CleverCloud/clever-wordpress" target="_blank" rel="noreferrer noopener">"WordPress + Bedrock"</a> . public repository. It has a WordPress architecture that works with Composer. There are two ways to download it: directly from Git or GitHub (the easier choice if you don't feel comfortable using command lines).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Take this post as an opportunity to learn more about command lines on a Terminal and Git, even if you aren't accustomed to them. No worries, by following our directions, you will be able to use this method..</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Option A : Using GitHub</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>If you really don't want to use Git, simply fork the code and deploy from GitHub on Clever Cloud. Creating a fork will duplicate the code in your own repository.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":7536,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image size-full"><img src="https://cdn.clever-cloud.com/uploads/2022/09/github-fork.png" alt="" class="wp-image-7536"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Open the&nbsp;<a href="https://console.clever-cloud.com" target="_blank" rel="noreferrer noopener">Clever Cloud Console</a>&nbsp;settings, clic on &nbsp;"Profile" and link your GitHub account, if you haven't done it already. That's all, now go directly to step 2.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Option B: Using Git, step by step</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The other option is to download the code to your computer (locally). If that's your first time, here are the instructions:</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":5} -->
<h5 class="wp-block-heading">Set up</h5>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>You must first grant permission for your computer to push code to Clever Cloud before you can proceed. You must create and add an SSH key to your console if you haven't already. Go directly to the next step if it has already been completed.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Open your Terminal and:</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><!-- wp:list-item -->
<li>type&nbsp;<code>ssh-keygen -t ed25519 -C "[votre@email.ici]</code>&nbsp;the email must be the same you use to log into Clever Cloud.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>When the Terminal asks you in which file you wish to add the key, juste press "Enter". </li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Add a password</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Copy the key content using &nbsp;<code>pbcopy &lt; ~/.ssh/id_[rsa].pub</code> (replace&nbsp;<code>[rsa]</code>&nbsp;by your key id, of course))</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Open the Clever Cloud Console and go to Profile&gt;SSH keys&gt;Add and paste your key's content.</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Your machine is now connected to your Clever Cloud account and ready to push code.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":5} -->
<h5 class="wp-block-heading">Clone the code</h5>
<!-- /wp:heading -->

<!-- wp:list {"ordered":true} -->
<ol><!-- wp:list-item -->
<li>Make a&nbsp;<code>sites</code>&nbsp;directory on your computer. It will contait your apps and your websites.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Open your terminal and type&nbsp;<code>cd sites</code>, this will open your "sites" directory.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Still in your terminal, copy-paste&nbsp;<code>git clone git@github.com:CleverCloud/clever-wordpress.git'</code></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>The code has been downloaded to your computer, inside the&nbsp;<code>sites</code>directory, you'll see a a new&nbsp;<code>clever-wordpress</code>&nbsp;directory. Open it (<code>cd clever-wordpress</code>) et type&nbsp;<code class="lang-shell">ls -a</code> : you'll see all the files and directories it contains.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>If you just used Git and your Terminal for the first time, you'll find more tutorials and explanations on the Internet. Our teammate David Legrand happens to publish great stuff I &nbsp;<a href="https://www.nextinpact.com/article/43792/apprenez-a-utiliser-git-bases-pour-suivre-evolution-dun-document" target="_blank" rel="noreferrer noopener">greta stuff in French.</a></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">2. Declare the app on Clever Cloud</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Click "Create" and "An application" from the Clever Cloud Console. After choosing your fork, you can create a new PHP app if you are using GitHub integration. All that remains is for the code to be pushed from GitHub. If you're using Git, the identical procedure can be carried out by entering a short command line.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The Console will ask if you need any add-on, choose a <strong>MySQL database</strong> and proceed.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Edit your PHP app <strong>environment variables</strong>&nbsp;in expert mode and past the salts generated on sur <a href="https://cdn.roots.io/salts.html" target="_blank" rel="noreferrer noopener">this page</a> (don't forget to save &nbsp;changes!)</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":7533,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image size-full"><img src="https://cdn.clever-cloud.com/uploads/2022/09/variables-environnement.png" alt="Expert mode on Clever Cloud Environnement variables page" class="wp-image-7533"/></figure>
<!-- /wp:image -->

<!-- wp:list {"ordered":true,"start":6} -->
<ol start="6"><!-- wp:list-item -->
<li>Add 3 additional environment variables:<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><code>WP_ENV</code> with value&nbsp;<code>production</code></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><code>WP_HOME</code>&nbsp;with value&nbsp;<code>https://yourdomain.tld</code></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><code>WP_SITEURL</code>&nbsp;with value&nbsp;<code>https://your-domain.tld/wp</code></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:image {"id":7534,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image size-full"><img src="https://cdn.clever-cloud.com/uploads/2022/09/variables-simple.png" alt="Simple mode on environment variables from the Clever Cloud Console" class="wp-image-7534"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>The Console will provide you with command lines to copy-paste in your Terminal in order to send your code to your new instance, unless you've decided to work with the GitHub integration. The deployment will begin once you've completed this.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>While the deployment starts,&nbsp;<strong>create an Cellar addon</strong>&nbsp;and link it to your app (clic on your PHP app, then choose "Linked dependencies" to connect it).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>From the&nbsp;<strong>Cellar</strong> set up page, create&nbsp;<strong>a bucket</strong> and give it a name.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Go back to your PHP app and add the following&nbsp;<strong>environment variable</strong>:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><code>CELLAR_ADDON_BUCKET</code>&nbsp;with the name of your bucket as value.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Tip : You can easily configure a custom domain for your bucket. Check &nbsp;<a href="https://www.clever.cloud/developers/deploy/addon/cellar/#using-a-custom-domain" target="_blank" rel="noreferrer noopener">the doc</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Restart your app to incorporate last changes.

Don't forget to set up your domain for the WP_HOME variable (or with a .cleveapps.io for testing purposes).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>When you'll visit your website, the installation page from WordPress will then appear (you'll find de database credentials in the Console, either by clicking on the addon, either in your app's environment variables). Once you are logged into WordPress, go to your plugins page and activate&nbsp;<strong>S3 Uploads</strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>That's it. You now have a hosted WordPress on Clever Cloud. Your files and medias will be stored in the Cellar's bucket.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Add a plugin by a single command</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The&nbsp;<code>composer.json</code>&nbsp;file reflects the WordPress themes and plugins directory; you just have to specify what it should reflect. <strong>You don't need to host the plugin directory in your app </strong>to add a new plugin to your site<strong>.</strong> You'll use&nbsp;<a href="https://wpackagist.org">Wpackagist</a>&nbsp;to find and add the plugin's references to&nbsp;<code>composer.json</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Find&nbsp;<code>require</code> , this is where the plugins are specified.</p>
<!-- /wp:paragraph -->

<!-- wp:code {"className":"lang-json"} -->
<pre class="wp-block-code lang-json"><code>"require": 
//Here are your further plugins declarations. Add this line wherever you'd like (update the version if necessary)
"wpackagist-plugin/&#91;plugin]": "&#91;version]",</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>You'll find all your favorite plugins on&nbsp;<a href="https://wpackagist.org">Wpackagist</a>&nbsp;to add them to the file. Commit changes (with Git : <code>git add .</code>&nbsp; et <code>git commit -m "un-message"</code>) and push the modified code to Clever Cloud (on GitHub, this action will be done automatically). Wait until your app has redeployed, then go top your WordPress dashboard and activate the plugins you just added.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Welcome aboard!!</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="1076" height="415" src="https://cdn.clever-cloud.com/uploads/2022/08/wp-composer-1.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="wp composer 1" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2022/08/wp-composer-1.png 1076w, https://cdn.clever-cloud.com/uploads/2022/08/wp-composer-1-300x116.png 300w, https://cdn.clever-cloud.com/uploads/2022/08/wp-composer-1-1024x395.png 1024w, https://cdn.clever-cloud.com/uploads/2022/08/wp-composer-1-768x296.png 768w" sizes="auto, (max-width: 1076px) 100vw, 1076px" /></p><!-- wp:paragraph -->
<p>Devastating news for Wordpress haters: with a clean, secure, and modern file structure, you can easily migrate it to Clever Cloud. All of this is possible using the tools described in this post.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>For those who have never used Git before, we will also cover how to deploy a WordPress installation on Clever Cloud in this post. If you want to give it a try, we'll walk you through the steps. If you choose not to, our platform does offer a GitHub integration.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>Requirements:</strong></p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>A&nbsp;<a href="https://www.clever.cloud" target="_blank" rel="noreferrer noopener">Clever Cloud</a>&nbsp;account</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Le <a href="https://github.com/CleverCloud/clever-wordpress" target="_blank" rel="noreferrer noopener">Bedrock's Composer</a>&nbsp;to deploy WordPress with Clever Cloud, that we have updated.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>A&nbsp;<a href="https://github.com" target="_blank" rel="noreferrer noopener">GitHub</a>&nbsp;account if you deploy the code from it, <strong>or</strong>&nbsp;<a href="https://git-scm.com" target="_blank" rel="noreferrer noopener">Git </a>&nbsp;installed on your computer, if you choose this method.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Deployment and WorpdPress configuration</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Composer will deploy a WordPress site in a matter of minutes, creating a rapid, light, and secure framework for our new website.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Follow the instructions below:</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">1. Get the code</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The code can be found in its &nbsp;<a href="https://github.com/CleverCloud/clever-wordpress" target="_blank" rel="noreferrer noopener">"WordPress + Bedrock"</a> . public repository. It has a WordPress architecture that works with Composer. There are two ways to download it: directly from Git or GitHub (the easier choice if you don't feel comfortable using command lines).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Take this post as an opportunity to learn more about command lines on a Terminal and Git, even if you aren't accustomed to them. No worries, by following our directions, you will be able to use this method..</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Option A : Using GitHub</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>If you really don't want to use Git, simply fork the code and deploy from GitHub on Clever Cloud. Creating a fork will duplicate the code in your own repository.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":7536,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image size-full"><img src="https://cdn.clever-cloud.com/uploads/2022/09/github-fork.png" alt="" class="wp-image-7536"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Open the&nbsp;<a href="https://console.clever-cloud.com" target="_blank" rel="noreferrer noopener">Clever Cloud Console</a>&nbsp;settings, clic on &nbsp;"Profile" and link your GitHub account, if you haven't done it already. That's all, now go directly to step 2.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Option B: Using Git, step by step</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The other option is to download the code to your computer (locally). If that's your first time, here are the instructions:</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":5} -->
<h5 class="wp-block-heading">Set up</h5>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>You must first grant permission for your computer to push code to Clever Cloud before you can proceed. You must create and add an SSH key to your console if you haven't already. Go directly to the next step if it has already been completed.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Open your Terminal and:</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><!-- wp:list-item -->
<li>type&nbsp;<code>ssh-keygen -t ed25519 -C "[votre@email.ici]</code>&nbsp;the email must be the same you use to log into Clever Cloud.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>When the Terminal asks you in which file you wish to add the key, juste press "Enter". </li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Add a password</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Copy the key content using &nbsp;<code>pbcopy &lt; ~/.ssh/id_[rsa].pub</code> (replace&nbsp;<code>[rsa]</code>&nbsp;by your key id, of course))</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Open the Clever Cloud Console and go to Profile&gt;SSH keys&gt;Add and paste your key's content.</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Your machine is now connected to your Clever Cloud account and ready to push code.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":5} -->
<h5 class="wp-block-heading">Clone the code</h5>
<!-- /wp:heading -->

<!-- wp:list {"ordered":true} -->
<ol><!-- wp:list-item -->
<li>Make a&nbsp;<code>sites</code>&nbsp;directory on your computer. It will contait your apps and your websites.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Open your terminal and type&nbsp;<code>cd sites</code>, this will open your "sites" directory.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Still in your terminal, copy-paste&nbsp;<code>git clone git@github.com:CleverCloud/clever-wordpress.git'</code></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>The code has been downloaded to your computer, inside the&nbsp;<code>sites</code>directory, you'll see a a new&nbsp;<code>clever-wordpress</code>&nbsp;directory. Open it (<code>cd clever-wordpress</code>) et type&nbsp;<code class="lang-shell">ls -a</code> : you'll see all the files and directories it contains.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>If you just used Git and your Terminal for the first time, you'll find more tutorials and explanations on the Internet. Our teammate David Legrand happens to publish great stuff I &nbsp;<a href="https://www.nextinpact.com/article/43792/apprenez-a-utiliser-git-bases-pour-suivre-evolution-dun-document" target="_blank" rel="noreferrer noopener">greta stuff in French.</a></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">2. Declare the app on Clever Cloud</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Click "Create" and "An application" from the Clever Cloud Console. After choosing your fork, you can create a new PHP app if you are using GitHub integration. All that remains is for the code to be pushed from GitHub. If you're using Git, the identical procedure can be carried out by entering a short command line.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The Console will ask if you need any add-on, choose a <strong>MySQL database</strong> and proceed.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Edit your PHP app <strong>environment variables</strong>&nbsp;in expert mode and past the salts generated on sur <a href="https://cdn.roots.io/salts.html" target="_blank" rel="noreferrer noopener">this page</a> (don't forget to save &nbsp;changes!)</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":7533,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image size-full"><img src="https://cdn.clever-cloud.com/uploads/2022/09/variables-environnement.png" alt="Expert mode on Clever Cloud Environnement variables page" class="wp-image-7533"/></figure>
<!-- /wp:image -->

<!-- wp:list {"ordered":true,"start":6} -->
<ol start="6"><!-- wp:list-item -->
<li>Add 3 additional environment variables:<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><code>WP_ENV</code> with value&nbsp;<code>production</code></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><code>WP_HOME</code>&nbsp;with value&nbsp;<code>https://yourdomain.tld</code></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><code>WP_SITEURL</code>&nbsp;with value&nbsp;<code>https://your-domain.tld/wp</code></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:image {"id":7534,"sizeSlug":"full","linkDestination":"none"} -->
<figure class="wp-block-image size-full"><img src="https://cdn.clever-cloud.com/uploads/2022/09/variables-simple.png" alt="Simple mode on environment variables from the Clever Cloud Console" class="wp-image-7534"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>The Console will provide you with command lines to copy-paste in your Terminal in order to send your code to your new instance, unless you've decided to work with the GitHub integration. The deployment will begin once you've completed this.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>While the deployment starts,&nbsp;<strong>create an Cellar addon</strong>&nbsp;and link it to your app (clic on your PHP app, then choose "Linked dependencies" to connect it).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>From the&nbsp;<strong>Cellar</strong> set up page, create&nbsp;<strong>a bucket</strong> and give it a name.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Go back to your PHP app and add the following&nbsp;<strong>environment variable</strong>:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><code>CELLAR_ADDON_BUCKET</code>&nbsp;with the name of your bucket as value.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Tip : You can easily configure a custom domain for your bucket. Check &nbsp;<a href="https://www.clever.cloud/developers/deploy/addon/cellar/#using-a-custom-domain" target="_blank" rel="noreferrer noopener">the doc</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Restart your app to incorporate last changes.

Don't forget to set up your domain for the WP_HOME variable (or with a .cleveapps.io for testing purposes).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>When you'll visit your website, the installation page from WordPress will then appear (you'll find de database credentials in the Console, either by clicking on the addon, either in your app's environment variables). Once you are logged into WordPress, go to your plugins page and activate&nbsp;<strong>S3 Uploads</strong>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>That's it. You now have a hosted WordPress on Clever Cloud. Your files and medias will be stored in the Cellar's bucket.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Add a plugin by a single command</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>The&nbsp;<code>composer.json</code>&nbsp;file reflects the WordPress themes and plugins directory; you just have to specify what it should reflect. <strong>You don't need to host the plugin directory in your app </strong>to add a new plugin to your site<strong>.</strong> You'll use&nbsp;<a href="https://wpackagist.org">Wpackagist</a>&nbsp;to find and add the plugin's references to&nbsp;<code>composer.json</code>.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Find&nbsp;<code>require</code> , this is where the plugins are specified.</p>
<!-- /wp:paragraph -->

<!-- wp:code {"className":"lang-json"} -->
<pre class="wp-block-code lang-json"><code>"require": 
//Here are your further plugins declarations. Add this line wherever you'd like (update the version if necessary)
"wpackagist-plugin/&#91;plugin]": "&#91;version]",</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>You'll find all your favorite plugins on&nbsp;<a href="https://wpackagist.org">Wpackagist</a>&nbsp;to add them to the file. Commit changes (with Git : <code>git add .</code>&nbsp; et <code>git commit -m "un-message"</code>) and push the modified code to Clever Cloud (on GitHub, this action will be done automatically). Wait until your app has redeployed, then go top your WordPress dashboard and activate the plugins you just added.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Welcome aboard!!</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How does Matomo work on Clever Cloud ?</title>
		<link>https://www.clever.cloud/blog/engineering/2023/08/21/how-does-matomo-work-on-clever-cloud/</link>
		
		<dc:creator><![CDATA[Julia March]]></dc:creator>
		<pubDate>Mon, 21 Aug 2023 08:37:50 +0000</pubDate>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<category><![CDATA[matomo]]></category>
		<category><![CDATA[metrics]]></category>
		<category><![CDATA[self-hosted]]></category>
		<guid isPermaLink="false">https://www.clever-cloud.com/?p=8062</guid>

					<description><![CDATA[<p><img width="2800" height="1080" src="https://cdn.clever-cloud.com/uploads/2023/08/banner-matomo-5.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="banner matomo 5" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2023/08/banner-matomo-5.png 2800w, https://cdn.clever-cloud.com/uploads/2023/08/banner-matomo-5-300x116.png 300w, https://cdn.clever-cloud.com/uploads/2023/08/banner-matomo-5-1024x395.png 1024w, https://cdn.clever-cloud.com/uploads/2023/08/banner-matomo-5-768x296.png 768w, https://cdn.clever-cloud.com/uploads/2023/08/banner-matomo-5-1536x592.png 1536w, https://cdn.clever-cloud.com/uploads/2023/08/banner-matomo-5-2048x790.png 2048w, https://cdn.clever-cloud.com/uploads/2023/08/banner-matomo-5-1368x528.png 1368w" sizes="auto, (max-width: 2800px) 100vw, 2800px" /></p><!-- wp:paragraph -->
<p>In <a href="https://www.clever.cloud/blog/features/2022/05/16/how-and-why-to-install-matomo-to-replace-google-analytics/" target="_blank" rel="noopener">a previous post</a>, we explained why you should switch from Google Analytics to Matomo for your audience measurement. Some of our customers have decided to take this step, and Clever Cloud has helped them get to grips with the solution. Based on this experience, find out in this article how to maximize the use of our Matomo addon on Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Selecting the optimal instance size</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>As soon as the Matomo addon is created, Clever Cloud deploys three optimized instances (a PHP runtime, a MySQL addon and a Redis addon). Initially, they are sized to the minimum server requirements in order to evolve according to your needs, thus ensuring cost optimization. If you need to make adjustments (for example, if you start to experience errors or slowdowns when launching some processes), our integrated Grafana is your best ally for monitoring your metrics and adjusting your resources accordingly.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Easy access to your metrics</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Thanks to the intuitive dashboard for each application, you're provided with a clear view of it all. We've <a href="https://www.clever.cloud/blog/features/2023/03/16/a-metric-tile-to-simplify-application-monitoring/" target="_blank" rel="noopener">recently integrated a metrics tile</a> into this dashboard, allowing you to track RAM and CPU consumption in real time from the console.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":8069,"sizeSlug":"medium","linkDestination":"none"} -->
<figure class="wp-block-image aligncenter size-medium"><img src="https://cdn.clever-cloud.com/uploads/2023/08/capture-decran-2023-08-17-a-16-33-06.png" alt="Tile metrics from app Overview panel indicating CPU and RAM usage." class="wp-image-8069"/></figure>
<!-- /wp:image -->

<!-- wp:spacer {"height":"34px"} -->
<div style="height:34px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:paragraph -->
<p>For a more in-depth analysis, a simple click on the Grafana logo from the tile gives you access to all your application's metrics. </p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":8036,"width":493,"height":274,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large is-resized"><img src="https://cdn.clever-cloud.com/uploads/2023/07/capture-decran-2023-07-31-a-15-27-32.png" alt="Metrics dashboard on Grafana for Matomo PHP application" class="wp-image-8036" style="width:493px;height:274px" width="493" height="274"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>In addition, Matomo's PHP instance logs are always there to provide you with additional information. </p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">All about auto-scalability</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Self-scalability on Clever Cloud is a major advantage, giving you peace of mind and flexible billing. With Matomo, this feature guarantees a smooth experience even in times of high demand. Keep in mind certain specifics, such as the occasional need for certain extensions, and you'll you make the most of this feature.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Perks from enabling auto-scalability on the PHP instance</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>With auto-scalability, you can use Matomo smoothly and adaptively, even during peak periods! Benefit from powerful on-demand resources, while paying only for the consumption/second. Once you've completed your intensive tasks, your instance returns to an optimal size, guaranteeing efficiency and savings. So there's no need to reserve a large infrastructure to meet occasional needs.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">When to disable auto-scalability?</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Clever Cloud provides a service that can be adapted to your needs, with the option of limiting or completely disabling instance auto-scalability. In some cases, it may be advisable to deactivate it from time to time.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>As Matomo is a managed service, some configuration options are unalterable to guarantee optimal operation and performance. As part of Matomo's continuous improvement, we have integrated the Google Analytics data import extension in response to common customer requests. This extension, generally used for a one-off migration from Google Analytics to Matomo, is deactivated by default.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>If you activate the extension and start importing data, and your application scales, your instance reboots and redeploys the application... with the default configurations. Restarting will therefore disable this extension and kill the import process at the same time. If you decide to use an extension that appears as disabled by default in our Matomo, we recommend the following procedure:</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><!-- wp:list-item -->
<li>Disable auto-scalability for your Matomo PHP instance</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Increase the instance size until the process is complete</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Restart instance</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Once the instance has been redeployed, activate the extension in Matomo</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Now you're ready to use the extension, which will remain active until the next server restart. </p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Matomo, with its MySQL addon, is designed to grow with you. While the database is created with sufficient capacity at start-up, Matomo will quickly exploit its potential. To avoid surprises, why not set up Grafana alerts to monitor memory levels?</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":8034,"width":575,"height":281,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large is-resized"><img src="https://cdn.clever-cloud.com/uploads/2023/07/grafana-mysql-1.png" alt="Database metrics on Grafana" class="wp-image-8034" style="width:575px;height:281px" width="575" height="281"/><figcaption class="wp-element-caption">Your database metrics are also available in Grafana, in the Addon panel.</figcaption></figure>
<!-- /wp:image -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Creating alerts</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Among its many features, Grafana lets you create alerts on the metrics of your choice. You'll find <a href="https://www.clever.cloud/blog/features/2021/12/03/slack-alerts-for-grafana/" target="_blank" rel="noopener">a tutorial here</a> to show you how to create your alerts from Grafana to Slack, which you can also apply to other contact points like Discord, Teams, etc.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We recommend that you leave around 20% disk space available, as the MySQL instance will need disk to migrate.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Migrating the database</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Although scalability has its peculiarities for databases, Clever Cloud provides a smooth and intuitive manual solution. When you receive the alert, a simple connection to the Console on your MySQL addon dashboard will enable you to launch our one-click migration tool. This operation can take from a few seconds to a few minutes, depending on the size of your database.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>💡 <strong>Tip:</strong> Include a direct link to the migration tab in your Grafana alert message. This will give you instant access to the migration tool, making the process even easier.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Leveraging Matomo and Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Although a managed service is pre-configured, you have Matomo administrator status and can use it as such. Here are just a few examples of what you can do with Matomo and Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Adding new Matomo users</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>All our managed services use Clever Cloud SSO, enabling you to access deployed addons from your platform credentials. Perhaps you'd like to add users to Matomo without giving them access to the platform.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Matomo lets you <a href="https://matomo.org/faq/general/user-roles-in-matomo/" target="_blank" rel="noopener">add users with different levels of permissions</a> to the application. You can invite them by email directly from the Matomo interface. Users invited by this method will not have access to Matomo's system settings or extensions, unlike Clever Cloud users.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Elevating permission levels</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>If you have added a user from the Matomo interface, but now wish to add them to your Clever Cloud organization with the same email address, access to Matomo will be denied for security reasons, since this user already exists in the database.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>To avoid duplication, simply delete the Matomo user from your database.</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><!-- wp:list-item -->
<li>Launch your MySQL addon's PHPMyAdmin interface</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Click on your database name (not schema)</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Search by keyword <code>user</code> and choose the table <code>matomo_user</code></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Delete the user you wish to add to the Clever Cloud organization</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:image {"id":8038,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2023/07/phpmyadmin-1.png" alt="PHPMyAdmin Structure tab showing matomo_user table" class="wp-image-8038"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Now you can <a href="https://www.clever.cloud/developers/account/organizations/" target="_blank" rel="noopener">invite the user to your organization with his email address</a>, giving him administration rights on the instance.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Measure the audience of any application</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>On Clever Cloud, you can separate your collaborative environments by creating organizations to which you invite members. Organizations remain isolated, ensuring that no member has uninvited access to an organization's applications and addons.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Matomo makes it possible to track apps to which a simple script has been added to the head. So, even if an application is deployed within a different organization, Matomo offers a unified and complete view of its audience tracking as soon as the application contains this script.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":8070,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2023/08/capture-decran-2023-08-17-a-16-35-05.png" alt="Matomo tracking code from its interface" class="wp-image-8070"/></figure>
<!-- /wp:image -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Optimizing role separation</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>You can set up a dedicated organization for the Matomo administrator of your company or association. From this organization, the administrator can monitor the audience of applications hosted in other organizations, even if these are inaccessible to him/her.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>To implement this configuration, the administrator simply provides the appropriate script to be integrated into the head tag of each application. Once integrated, the tracking data will be visible in Matomo. This process ensures that developers have no access to Matomo, while restricting the Matomo administrator's access to applications.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">📢 New: Migrate Google Analytics data to Matomo</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>As we mentioned, you can now use the extension to migrate your Google Analytics data to Matomo. It might be challenging to determine the right database sizing , due to Google Analytics' opacity regarding its metrics.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>With this in mind, we suggest you keep an eye on your database metrics and opt for a gradual increase in storage capacity. To facilitate this procedure, Matomo provides <a href="https://matomo.org/faq/general/running-the-google-analytics-import/" target="_blank" rel="noopener">a detailed guide to migration</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Conclusion</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Clever Cloud not only facilitates the deployment of on-demand applications and services in the form of add-ons. In addition, we include an integrated suite for all our customers, offering in-depth monitoring of application and database activity, as well as automatic and adaptive scaling capabilities.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Whether you've opted for Matomo or one of our other add-ons, we're always listening to our customers' needs, so we can continually improve the services we offer. We look forward to hearing from you!</p>
<!-- /wp:paragraph -->]]></description>
										<content:encoded><![CDATA[<p><img width="2800" height="1080" src="https://cdn.clever-cloud.com/uploads/2023/08/banner-matomo-5.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="banner matomo 5" decoding="async" loading="lazy" srcset="https://cdn.clever-cloud.com/uploads/2023/08/banner-matomo-5.png 2800w, https://cdn.clever-cloud.com/uploads/2023/08/banner-matomo-5-300x116.png 300w, https://cdn.clever-cloud.com/uploads/2023/08/banner-matomo-5-1024x395.png 1024w, https://cdn.clever-cloud.com/uploads/2023/08/banner-matomo-5-768x296.png 768w, https://cdn.clever-cloud.com/uploads/2023/08/banner-matomo-5-1536x592.png 1536w, https://cdn.clever-cloud.com/uploads/2023/08/banner-matomo-5-2048x790.png 2048w, https://cdn.clever-cloud.com/uploads/2023/08/banner-matomo-5-1368x528.png 1368w" sizes="auto, (max-width: 2800px) 100vw, 2800px" /></p><!-- wp:paragraph -->
<p>In <a href="https://www.clever.cloud/blog/features/2022/05/16/how-and-why-to-install-matomo-to-replace-google-analytics/" target="_blank" rel="noopener">a previous post</a>, we explained why you should switch from Google Analytics to Matomo for your audience measurement. Some of our customers have decided to take this step, and Clever Cloud has helped them get to grips with the solution. Based on this experience, find out in this article how to maximize the use of our Matomo addon on Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Selecting the optimal instance size</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>As soon as the Matomo addon is created, Clever Cloud deploys three optimized instances (a PHP runtime, a MySQL addon and a Redis addon). Initially, they are sized to the minimum server requirements in order to evolve according to your needs, thus ensuring cost optimization. If you need to make adjustments (for example, if you start to experience errors or slowdowns when launching some processes), our integrated Grafana is your best ally for monitoring your metrics and adjusting your resources accordingly.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Easy access to your metrics</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Thanks to the intuitive dashboard for each application, you're provided with a clear view of it all. We've <a href="https://www.clever.cloud/blog/features/2023/03/16/a-metric-tile-to-simplify-application-monitoring/" target="_blank" rel="noopener">recently integrated a metrics tile</a> into this dashboard, allowing you to track RAM and CPU consumption in real time from the console.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":8069,"sizeSlug":"medium","linkDestination":"none"} -->
<figure class="wp-block-image aligncenter size-medium"><img src="https://cdn.clever-cloud.com/uploads/2023/08/capture-decran-2023-08-17-a-16-33-06.png" alt="Tile metrics from app Overview panel indicating CPU and RAM usage." class="wp-image-8069"/></figure>
<!-- /wp:image -->

<!-- wp:spacer {"height":"34px"} -->
<div style="height:34px" aria-hidden="true" class="wp-block-spacer"></div>
<!-- /wp:spacer -->

<!-- wp:paragraph -->
<p>For a more in-depth analysis, a simple click on the Grafana logo from the tile gives you access to all your application's metrics. </p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":8036,"width":493,"height":274,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large is-resized"><img src="https://cdn.clever-cloud.com/uploads/2023/07/capture-decran-2023-07-31-a-15-27-32.png" alt="Metrics dashboard on Grafana for Matomo PHP application" class="wp-image-8036" style="width:493px;height:274px" width="493" height="274"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>In addition, Matomo's PHP instance logs are always there to provide you with additional information. </p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">All about auto-scalability</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Self-scalability on Clever Cloud is a major advantage, giving you peace of mind and flexible billing. With Matomo, this feature guarantees a smooth experience even in times of high demand. Keep in mind certain specifics, such as the occasional need for certain extensions, and you'll you make the most of this feature.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Perks from enabling auto-scalability on the PHP instance</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>With auto-scalability, you can use Matomo smoothly and adaptively, even during peak periods! Benefit from powerful on-demand resources, while paying only for the consumption/second. Once you've completed your intensive tasks, your instance returns to an optimal size, guaranteeing efficiency and savings. So there's no need to reserve a large infrastructure to meet occasional needs.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">When to disable auto-scalability?</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Clever Cloud provides a service that can be adapted to your needs, with the option of limiting or completely disabling instance auto-scalability. In some cases, it may be advisable to deactivate it from time to time.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>As Matomo is a managed service, some configuration options are unalterable to guarantee optimal operation and performance. As part of Matomo's continuous improvement, we have integrated the Google Analytics data import extension in response to common customer requests. This extension, generally used for a one-off migration from Google Analytics to Matomo, is deactivated by default.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>If you activate the extension and start importing data, and your application scales, your instance reboots and redeploys the application... with the default configurations. Restarting will therefore disable this extension and kill the import process at the same time. If you decide to use an extension that appears as disabled by default in our Matomo, we recommend the following procedure:</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><!-- wp:list-item -->
<li>Disable auto-scalability for your Matomo PHP instance</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Increase the instance size until the process is complete</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Restart instance</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Once the instance has been redeployed, activate the extension in Matomo</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Now you're ready to use the extension, which will remain active until the next server restart. </p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"></h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Matomo, with its MySQL addon, is designed to grow with you. While the database is created with sufficient capacity at start-up, Matomo will quickly exploit its potential. To avoid surprises, why not set up Grafana alerts to monitor memory levels?</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":8034,"width":575,"height":281,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large is-resized"><img src="https://cdn.clever-cloud.com/uploads/2023/07/grafana-mysql-1.png" alt="Database metrics on Grafana" class="wp-image-8034" style="width:575px;height:281px" width="575" height="281"/><figcaption class="wp-element-caption">Your database metrics are also available in Grafana, in the Addon panel.</figcaption></figure>
<!-- /wp:image -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Creating alerts</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Among its many features, Grafana lets you create alerts on the metrics of your choice. You'll find <a href="https://www.clever.cloud/blog/features/2021/12/03/slack-alerts-for-grafana/" target="_blank" rel="noopener">a tutorial here</a> to show you how to create your alerts from Grafana to Slack, which you can also apply to other contact points like Discord, Teams, etc.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>We recommend that you leave around 20% disk space available, as the MySQL instance will need disk to migrate.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Migrating the database</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Although scalability has its peculiarities for databases, Clever Cloud provides a smooth and intuitive manual solution. When you receive the alert, a simple connection to the Console on your MySQL addon dashboard will enable you to launch our one-click migration tool. This operation can take from a few seconds to a few minutes, depending on the size of your database.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>💡 <strong>Tip:</strong> Include a direct link to the migration tab in your Grafana alert message. This will give you instant access to the migration tool, making the process even easier.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Leveraging Matomo and Clever Cloud</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Although a managed service is pre-configured, you have Matomo administrator status and can use it as such. Here are just a few examples of what you can do with Matomo and Clever Cloud.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Adding new Matomo users</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>All our managed services use Clever Cloud SSO, enabling you to access deployed addons from your platform credentials. Perhaps you'd like to add users to Matomo without giving them access to the platform.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Matomo lets you <a href="https://matomo.org/faq/general/user-roles-in-matomo/" target="_blank" rel="noopener">add users with different levels of permissions</a> to the application. You can invite them by email directly from the Matomo interface. Users invited by this method will not have access to Matomo's system settings or extensions, unlike Clever Cloud users.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Elevating permission levels</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>If you have added a user from the Matomo interface, but now wish to add them to your Clever Cloud organization with the same email address, access to Matomo will be denied for security reasons, since this user already exists in the database.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>To avoid duplication, simply delete the Matomo user from your database.</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol><!-- wp:list-item -->
<li>Launch your MySQL addon's PHPMyAdmin interface</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Click on your database name (not schema)</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Search by keyword <code>user</code> and choose the table <code>matomo_user</code></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Delete the user you wish to add to the Clever Cloud organization</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:image {"id":8038,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2023/07/phpmyadmin-1.png" alt="PHPMyAdmin Structure tab showing matomo_user table" class="wp-image-8038"/></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Now you can <a href="https://www.clever.cloud/developers/account/organizations/" target="_blank" rel="noopener">invite the user to your organization with his email address</a>, giving him administration rights on the instance.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Measure the audience of any application</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>On Clever Cloud, you can separate your collaborative environments by creating organizations to which you invite members. Organizations remain isolated, ensuring that no member has uninvited access to an organization's applications and addons.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Matomo makes it possible to track apps to which a simple script has been added to the head. So, even if an application is deployed within a different organization, Matomo offers a unified and complete view of its audience tracking as soon as the application contains this script.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":8070,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img src="https://cdn.clever-cloud.com/uploads/2023/08/capture-decran-2023-08-17-a-16-35-05.png" alt="Matomo tracking code from its interface" class="wp-image-8070"/></figure>
<!-- /wp:image -->

<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading">Optimizing role separation</h4>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>You can set up a dedicated organization for the Matomo administrator of your company or association. From this organization, the administrator can monitor the audience of applications hosted in other organizations, even if these are inaccessible to him/her.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>To implement this configuration, the administrator simply provides the appropriate script to be integrated into the head tag of each application. Once integrated, the tracking data will be visible in Matomo. This process ensures that developers have no access to Matomo, while restricting the Matomo administrator's access to applications.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">📢 New: Migrate Google Analytics data to Matomo</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>As we mentioned, you can now use the extension to migrate your Google Analytics data to Matomo. It might be challenging to determine the right database sizing , due to Google Analytics' opacity regarding its metrics.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>With this in mind, we suggest you keep an eye on your database metrics and opt for a gradual increase in storage capacity. To facilitate this procedure, Matomo provides <a href="https://matomo.org/faq/general/running-the-google-analytics-import/" target="_blank" rel="noopener">a detailed guide to migration</a>.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Conclusion</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Clever Cloud not only facilitates the deployment of on-demand applications and services in the form of add-ons. In addition, we include an integrated suite for all our customers, offering in-depth monitoring of application and database activity, as well as automatic and adaptive scaling capabilities.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Whether you've opted for Matomo or one of our other add-ons, we're always listening to our customers' needs, so we can continually improve the services we offer. We look forward to hearing from you!</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
