type | title | position | tags | keywords | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
docs |
FAQ |
3 |
|
|
A scaler is an individual instance hosting your app. You can attribute one or more scalers to your apps. scalers come in many sizes based on each language requirements from pico to XL.
A fixed set of resources supports each scaler.
When enabling auto-scalability, you have to set a minimum and a maximum of active scalers in your apps settings. This way you can precisely control your monthly fee.
{{< callout type="warning" >}} Nano and pico instances operate with reduced CPU priority on the host system. As a result, during periods of high load on the hypervisor, these instances may experience performance degradation (since they yield processing power to higher-priority workloads). {{< /callout >}}
Currently Clever Cloud supports:
- Java (Play Framework 1 & 2, Maven, War files… )
- Node.js
- PHP ([see frameworks and CMS]({{< ref "/guides" >}}))
- Python (Django)
- Ruby
- Go
- Haskell
- Scala
- Rust
- Docker
As many as you want. We've not set a limited number of apps by developer.
You can bind custom domain names to your applications. Please have a look at Custom Domain Names.
Log in with your account to console.clever-cloud.com, and select the appropriate organization and app in the left column. Then click on the application name and select Overview. Click on the Stop button to stop your app.
Please refer to the Acceptable Use Policy, article 2, Reasonable use of the Platform.
Log in with your account to console.clever-cloud.com, and select the appropriate organization in the left panel. Then click on Members in the mid pane. You'll see a list of the organization's members. If your are an admin, you can revoke or grant permissions.
To report an application that infringes Clever Cloud's Terms and Conditions, please contact the legal team at [email protected].
We will investigate and contact the application's owner over the violation if needed.
<<<<<<< HEAD
Absolutely! For testing purposes, cleverapps.io
domains support TLS out of the box. For custom SSL certificates, you can either order one from us or use an existing one.
Have a look at [installing SSL certificates]({{< ref"doc/administrate/ssl" >}} "Install a certificate SSL"), and feel free to contact us at [email protected] if you have questions.
Please refer to prefix routing to learn how to have two applications share a domain name.
Yes. For testing purposes, cleverapps.io
domains support TLS out of the box. For custom SSL certificates, you can either generate one automatically with Let's Encrypt while adding a domain, or [use an existing one]{{< ref "doc/administrate/ssl/#uploading-my-own-certificates" >}}).
Have a look at installing TLS certificates, and feel free to contact the support team in the Ticket Center if you have questions.
As this information can change over time with security updates, here's the nmap command to look up SSL/TLS ciphers on a Clever Cloud configured domain:
nmap --script ssl-enum-ciphers -p 443 example.com
Refer to [prefix routing]({{< ref "doc/administrate/domain-names/#prefix-routing" >}}) to learn how to have two applications share a domain name.
origin/main
See Cron Configuration File for more information.
Load-balancers handles all connections ahead of your applications and forward them in plain HTTP, you can't rely on the server port to know the scheme used by the user.
Instead, you can use the X-Forwarded-Proto
HTTP header to get the information, it's set to either 'http' or 'https'.
{{< callout type="info" >}}
In order to use request.secure
instead of using the header, you must add XForwardedSupport=all
in your application.conf
.
{{< /callout >}}
{{< callout type="warning" >}}
In order to use request.secure
instead of accessing the header, you must add trustxforwarded=true
in your application.conf
.
{{< /callout >}}
It's explained here.
Load-balancers ahead of your applications handle all connections and forward them in plain HTTP.
So if you get the REMOTE_ADDR
or Client-IP
header, you get only the IP of the load balancer that forwarded the user request.
To get the original client's IP address, use the X-Forwarded-For
HTTP header. The load balancer automatically adds this header to each request.
The X-Forwarded-For
header contains a comma-separated list of IP addresses. The first address in this list is your end user's original IP address. Any subsequent addresses represent the proxies that the request passed through before reaching your application.
Read the Wikipedia page for more details.
If your application needs to differentiate all the running nodes internally, you can use the INSTANCE_NUMBER
environment variable.
For example, if 3 instances are running for your application, this environment variable will contain 0
on the first, 1
on the second and 2
on the third.
If your company manages its own artifacts in a private repository (like, you can only
access them via git+ssh or sFTP), and you need a private key to connect to the server, you
can commit them in your application's Clever Cloud repository and then add a
clevercloud/ssh.json
file.
The ssh.json file is documented here.
I get a java.lang.UnsupportedClassVersionError: Unsupported major.minor version
error. How can I fix it?
If you get this error on a Java (or any JVM language) application, it means that your application was compiled with a newer Java version than the one used to run it.
As an example, if a Spring Boot application was compiled with Java 17
and run with Java 11
, the following error occurs:
java.lang.UnsupportedClassVersionError: org/springframework/boot/loader/JarLauncher has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
By default, Java apps on Clever Cloud use Java 11
, but you can change it. Please head [over here]({{< ref "doc/applications/java/java-jar/#available-java-versions" >}} "Java versions") for more information.
For reference, the table below lists the class file version for each major Java version (official doc) :
Java version | Class file version |
---|---|
7 | 51.0 |
8 | 52.0 |
11 | 55.0 |
17 | 61.0 |
21 | 65.0 |
Clever Cloud does not give you access to a server or a VPS, it makes your application run. Each instance is started and configured automatically, and can be stopped at any moment.
If however, you still need SSH access for debugging purposes, please have a look at SSH access, but keep in mind that changes made on an instance are not persistent across deployments.
Yes, since 2016 Clever Cloud is packaged for private data center. This offer called "Clever Cloud On Premises" is available upon request: you can send a mail to [email protected] or visit https://www.clever-cloud.com/on-premises for more info.
Applications and add-ons are located in either Paris, France or Montreal, Canada. You can choose where you want it to be when you create an application and a Clever Cloud add-on.
Clever Cloud is based in Nantes, France.
It's currently not possible to use Kubernetes on our platform. It is however on our Roadmap.
Specific firewall rules can be enabled on demand to the support or in case of attack.
You cannot scp
something to the VM, you can however easily scp
something from the VM to the outside.
wkhtmltopdf
is available and fully functional but we deeply recommend to use chromium headless
instead.
All instances on Clever Cloud run on the UTC timezone. We recommend to handle all your dates in UTC internally, and only handle timezones when reading or displaying dates.
A full disk can cause your database to crash or become unresponsive. Consider upgrading your add-on plan. You might want to do one of the following:
You can take a snapshot of your database and export the obsolete data to a cold storage. Then you can remove records from your database, re-index your tables and try to perform a VACUUM operation if the database software allows it.
… or to the same plan.
You can buy more disk space by migrating your add-on to a higher plan. If a VACUUM operation needs more disk that there is remaining, migrating to the same plan cleans up the file on disk and regains space.
Clever Cloud store all your backups on Cellar.
Cellar has a replication system to protect the data stored inside. It creates three copies of your backups, each stored in a different data centers in the PAR region.
This way, even if one data center has an accident, your backup are still safe in two different data centers.
To create add-ons, you need to complete your account information, including your city and ZIP code. For instance, you cannot create a Matomo add-on until you provide these details.