How can I manage Cloud IDE?
To create, delete, list or open Cloud IDE, you can either use the Cloud Platform interface or install Acquia CLI.
How can I manage permissions for Cloud IDE?
When managing your Cloud Platform organization’s roles, you can configure two permissions:
- Create and manage own Cloud IDE: to create, access, and remove personal Cloud IDE within an application.
- Manage any Cloud IDE: to list and remove any Cloud IDE within an application. This permission doesn’t grant the user access to the contents of the Cloud IDE.
Can I transfer Cloud IDE ownership to someone else?
No. Cloud IDE stores sensitive information such as your Cloud Platform API and SSH keys. Therefore, any IDE created is yours only.
Are there browser requirements for Cloud IDE?
Cloud IDE is powered by the Open Source project Theia. While the community tries its best to ensure compatibility with most modern browsers, it is recommended to use browsers based on Chromium for the best user experience.
Can I use Cloud IDE with an external Git repository?
Yes, you can use any Git repository such as GitHub, Bitbucket, or GitLab. You must install an SSH key in the Acquia Cloud IDE that has permissions to access the external repository.
Can I run a multisite application on Cloud IDE?
Cloud IDE has one preview URL, which means you can only serve one site at a time. When running the acli pull
command, you can select any arbitrary database or files directory to pull from. You can switch sites at any point in time by using the acli pull
command again and pulling a different database and files directory.
Cloud IDE only recognizes the sites/default
directory by default. To serve other sites in other directories, we recommend you to use path-based multisite.
To configure path-based multisite for an example site located under sites/foo
:
- Pull your application in Cloud IDE. Ensure that you pull the database and files directory that correspond to the
foo
site. - Add a
foo
symlink in thedocroot
directory, for example,cd /home/ide/project/docroot && ln -s . foo
, so that Drupal does not try to serve thefoo
path. - Modify
/home/ide/project/docroot/sites/sites.php
to add$sites = ['cloud.foo' => 'foo'];
. The firstfoo
must match the symlink / path to access the multisite, and the secondfoo
must match the name of the site directory on the disk. These are generally same but not always.
How can I tell whether my IDE is running on the latest version?
At any point in time, all IDEs run on the same version of the software. However, Acquia cannot carry through a few updates to existing IDEs. For example, Acquia might not be able to properly apply the updates to .bashrc
if you have have customized it greatly.
Therefore, Acquia continues to recommend customers to view Cloud IDE as a disposable resource that can be destroyed and recreated at will. To leverage the latest and greatest IDE software, ensure that you periodically recreate your IDE. Acquia recommends you to recreate your IDE once per quarter.
Which Cloud Platform products is Cloud IDE compatible with?
Cloud IDE is compatible with all Cloud Platform products and Site Factory.
Why am I getting an Access Denied error when trying to log in to my website?
When pulling your application in Cloud IDE, Acquia automatically sanitizes your database for security purposes. In other words, Acquia obfuscates sensitive user data such as (but not limited to) email addresses and passwords.
This means you will get an Access Denied error (403) when trying to log in to your website at /user/login
. Instead, run the following Drush command from your /home/ide/project
directory to obtain a one-time login URL.
drush uli
https://<UUID>.web.ahdev.cloud/en/user/reset/1/1649572871/<TOKEN>/login
To override the default behavior, run the following command:
acli pull --no-scripts
Where can I find the Drupal watchdog log in Cloud IDE?
The Drupal watchdog log is available under /var/log/drupal/drupal-watchdog.log
. Read our documentation about it for more information.
How can I access Acquia Search from Cloud IDE?
Cloud IDE does not include a dedicated Acquia Search index (core). To allow the Cloud IDE preview site to write to an Acquia Search index, you must implement a code override for the environment. For more information, see Overriding Solr index connection switching.
Can I upload large files in my IDE?
Yes. File uploads are supported up to 256 MB. Acquia does not recommend uploading files larger than 256 MB in the browser. For uploading larger files, you should take a different approach.
Note
You can upload a file directly in the IDE by dragging and dropping the file directly onto the IDE Explorer panel.
How does Cloud IDE integrate with Acquia Pipelines?
If you configure the Pipelines to work with your Git repository, all Git pushes to the repository, or pull requests (PRs) opened from your external provider, will trigger a Pipelines job.
Is Cloud IDE compatible with my custom VCL file?
Yes. If you have a custom Varnish Configuration Language (VCL) file, you can opt-in for Cloud IDE ACLs (Access Control List), which seamlessly pulls your application in Cloud IDE while ensuring the security of your application.
To opt-in for Cloud IDE ACLs, add the following line to your customizable ACL section:
std.ip(req.http.client-ip, "127.0.0.2") !~ acquia_acls_cloudides
Is Cloud IDE compatible with Shield?
Yes. However, you must explicitly add Cloud IDE NAT gateways to the allowlist to synchronize your application. Contact Acquia Support for assistance.
Why can’t I save changes made to settings.php?
After Drupal is installed, the settings.php
file gets write-protected. On the Cloud Platform, this is not an issue as the filesystem is read-only. However, in Cloud IDE, as you can edit files, you might run into this issue.
To make Drupal’s settings.php
writable, run the following command from within the project
directory:
ide:~/project $ chmod 644 docroot/sites/[yoursite]/settings.php
Once your changes are made, run the following command to make the file write-protected again:
ide:~/project $ chmod 444 docroot/sites/[yoursite]/settings.php
Why can’t I delete certain files or directories in the Drupal docroot?
While trying to delete files or directories in the Drupal docroot, you might get the following Permission denied
messages:
ide:~$ rm -Rf project
rm: cannot remove 'project/docroot/sites/default/files': Permission denied
rm: cannot remove 'project/docroot/sites/default/default.settings.php': Permission denied
rm: cannot remove 'project/docroot/sites/default/settings.php': Permission denied
rm: cannot remove 'project/docroot/sites/default/default.services.yml': Permission denied
The above issue is related to Drupal permissions. Before you can delete those files or directories, you must change permissions.
To do so, run the following command:
chmod -R u+w /home/ide/project/docroot/sites/default
You can now delete those files and directories.
Why am I getting a redirect loop when visiting the IDE web preview URL?
You might have a contributed or custom module that causes a redirect loop. Here’s a list of contributed modules that can cause this issue:
Your .htaccess
file might be configured in a way that is incompatible with Cloud IDE. See redirecting visitor requests with the .htaccess file.
How can I set a custom environment variable to use with my application?
If you set a custom environment variable through dotfiles or the terminal, the variable is not available in your Drupal application. Therefore, you must create a new .conf
file under /home/ide/configs/apache2
. The following is an example:
1. Create the variables.conf
file and populate it with one or more SetEnv
lines to declare your custom environment variables:
SetEnv FOO "bar"
- Restart Apache:
ide:~$ acli ide:service-restart apache
- Print the new environment variable in your application:
print $_ENV["FOO"];
Drupal should return bar
.
Why isn’t Varnish available in Cloud IDE?
One of the first things new Acquia customers ask our Support team is how to disable Varnish in non-production Cloud Platform environments, so that they can view their changes immediately. Taking this feedback into account, we’ve decided not to include Varnish in Cloud IDE so it’s easier to develop Drupal without any external caching in the way.
How can I audit the Cloud IDE lifecycle?
It is useful to understand who created or deleted an IDE. To achieve this, use Acquia CLI, as Acquia CLI lets you filter out your Cloud Platform notifications easisly. Ensure that you adjust the --limit
parameter to make it relevant. The rule of thumb is: the more you have Cloud Platform notifications, the more you’ll have to increase the limit.
$ acli api:applications:notification-list myapplication --limit=100 | grep -B2 -A1 IDE
"uuid": "2b328ed0-74be-413d-a3f9-d19c74a96239",
"event": "RemoteIdeCreatedEvent",
"label": "IDE created",
"description": "IDE \"Mary\" created for \"My Application\".",
"created_at": "2021-03-15T13:35:21+00:00",
--
"uuid": "p14300b9-cf78-46b6-bh3a-005d73bc6836",
"event": "RemoteIdeDeletedEvent",
"label": "IDE removed",
"description": "IDE removed from \"My Application\".",
"created_at": "2021-03-12T20:58:32+00:00",
Why can I not create a new IDE?
For a subscription with multiple applications, the Cloud IDE entitlement is shared across all such applications. If you have used all your IDE entitlements, you can delete an active IDE, and create a new one. For viewing the list of active IDEs, see How can I find all active IDEs for a subscription with multiple applications?.
Can I serve pages on custom ports?
No. Cloud IDE is restricted to serving pages over port 80 only. Acquia might support custom ports in the future, such as port 8080, so you can run alternate development servers.
How can I create a Chrome application from an IDE browser tab?
Follow the procedure to Add a shortcut to a website as an app. When prompted to create the shortcut, make sure to check the Open as window checkbox. To locate your application, visit chrome://apps/
in your browser.
Can I install or compile PHP extensions?
Cloud IDE supports the exactly same PHP extensions that are installed on the Cloud Platform. However, compiling or installing PHP extensions is not supported.
For more information about compiling and installing PHP extensions on the Cloud Platform, see this page.
Why is Acquia CLI running a different PHP version than my application?
Acquia CLI is a modern Symfony Console application that is pinned to use the latest PHP version available in Cloud IDE. As such, even when you select a different PHP version to use for your application, it does not affect the PHP version used by Acquia CLI.
Why is my IDE running out memory?
An IDE has certain resource limits, especially for memory. If this memory limit is reached, processes are killed and the IDE might restart.
Note
Certain commands, such as free
and top
, do not accurately report available memory in a Cloud IDE. Instead, use the following commands to view memory usage and the memory limit:
cat /sys/fs/cgroup/memory/memory.usage_in_bytes
cat /sys/fs/cgroup/memory/memory.limit_in_bytes
The IDE memory limit cannot be increased. If a program is frequently running out of memory, you must reduce its memory usage by one of the following methods:
- Check for any known issues related to memory leaks or excessive memory usage.
- Update the program to the latest version. For example, the latest releases of Composer, NPM, and Yarn use much less memory than earlier releases.
- Check if the program has an internal memory limit that is less than the IDE limit. For example, PHP processes have their own memory limit.
- Profile the process by using a debugger to see if memory usage can be reduced. For example, Xdebug can be used to profile the memory usage of PHP scripts.
Does Cloud IDE support Playwright?
Cloud IDE provides the required dependencies to run Playwright with Firefox. However, Cloud IDE does not support running Playwright with any other browsers.
How can I view the count of unused environments?
To view the count of unused environments:
- Sign in to the Cloud Platform user interface and visit your application dashboard.
Go to Actions > Create Cloud IDE.
The system displays a Create Cloud IDE dialog box.
- Under Enter a label for the new IDE, check the warning message to know the count of unused environments.