# FAQ

## WebVS CodeiOSAccountPro Subscription

### Which languages and frameworks are supported? [Permalink for this section](/content/docs/faq#which-languages-and-frameworks-are-supported/index.html)

[VM Sandboxes](/content/docs/learn/vm-sandboxes/overview/index.html) and [Repositories](/content/docs/learn/repositories/overview/index.html) work with anything that can run in Docker. They provide the best experience for JavaScript (including TypeScript), front-end and full-stack. We provide official templates (with built-in LSP/IntelliSense) for Rust, Go, Python, PHP, Ruby on Rails, Elixir, Node, Deno, and many more (more templates coming soon).

[Sandboxes](/content/docs/learn/browser-sandboxes/overview/index.html) are more limited. They support JavaScript/TypeScript projects.

[Create a Sandbox from a template (opens in a new tab)](/content/new/index.html), or read more about the [difference between Browser & VM Sandboxes](/content/docs/learn/vm-sandboxes/overview#difference-between-vm-sandboxes--sandboxes/index.html).

### What operating systems and devices are supported? [Permalink for this section](/content/docs/faq#what-operating-systems-and-devices-are-supported/index.html)

CodeSandbox is designed for Desktop/Laptop operating systems, browsers and display resolutions.

Our editor may work on other operating systems and mobile devices. While we will take onboard feedback from users on these platforms, we do not officially support them or recommend them for the optimum CodeSandbox experience.

### How can I make a Sandbox private? [Permalink for this section](/content/docs/faq#how-can-i-make-a-sandbox-private/index.html)

There are several ways to set a Sandbox as private. One universal way (that works both for VM & Browser Sandboxes) is to right-click a Sandbox from the dashboard and select _Make Sandbox private_.

You can also change the privacy settings from the editor. Click the _Share_ button on the top right and change the privacy drop-down at the top.

### When should I mark my Sandbox as "protected"? [Permalink for this section](/content/docs/faq#when-should-i-mark-my-sandbox-as-protected/index.html)

Nobody outside your workspace can edit your Sandboxes; they can only fork it. However, in cases where you want to ensure that even workspace members cannot edit the Sandbox (which could be the case for finished projects), you can mark it as "protected" so it is not accidentally edited.

### I'm getting a 502 error "It looks like the dev server has not started yet", why? [Permalink for this section](/content/docs/faq#im-getting-a-502-error-it-looks-like-the-dev-server-has-not-started-yet-why/index.html)

VM Sandbox [previews](/content/docs/learn/vm-sandboxes/preview/index.html) are handled by a task that runs a dev server inside a CodeSandbox VM. Error `502` occurs when that task stops for some reason (some possible reasons being: task was stopped manually; application ran out of memory; the VM is not running). We automatically [hibernate VMs](/content/docs/learn/environment/vm#memory-snapshotting/index.html) (including the preview) after 5 minutes of inactivity for Free users and 30 minutes of inactivity for Pro users, but when someone attempts to access either the code or the preview, we quickly resume the dev server (usually in under 2 seconds) — so "inactivity" is not a cause for the `502` error.

To troubleshoot this error, follow these steps:

- Open the VM Sandbox on the CodeSandbox editor (if you only have access to the preview, forward these instructions to the VM Sandbox author).
- Confirm that the [dev server task](/content/docs/learn/vm-sandboxes/devtools#previews/index.html) is running; start/restart it as needed.
- Confirm that the preview tab on the right side of the editor doesn't show error `137` (which indicates that the VM Sandbox ran out of memory).

If the problem persists after going through the checks above, please [submit a bug report (opens in a new tab)](/content/support#form/index.html)).

### My VM Sandbox is running out of memory; what can I do? [Permalink for this section](/content/docs/faq#my-vm-sandbox-is-running-out-of-memory-what-can-i-do/index.html)

You can increase the specs of the VM running your Sandbox to get more memory. Follow these steps:

1. Click the CodeSandbox icon at the top left of the editor.
2. Click "Virtual Machine".
3. Under the "VM Specs" dropdown, pick a VM tier and then click "Apply" (if this option doesn't display, please ask a workspace admin to make this change).

💡

Legacy CodeSandbox Pro plans cannot change VM specs; first, they must be [converted (opens in a new tab)](/content/upgrade/index.html) to our new "usage-based billing" Pro plan.

### I'm getting a CORS error when triggering a request to a VM Sandbox URL, why? [Permalink for this section](/content/docs/faq#im-getting-a-cors-error-when-triggering-a-request-to-a-vm-sandbox-url-why/index.html)

The most common cause of this is your VM Sandbox's privacy settings. Even when your VM Sandbox is private, we still need a preview token to access the preview URLs. Currently, we do not support private VM Sandboxes with public previews. Changing the VM Sandbox privacy to 'Unlisted' often fixes this issue.

### Why are my start scripts not having an effect? [Permalink for this section](/content/docs/faq#why-are-my-start-scripts-not-having-an-effect/index.html)

For performance reasons, we ignore any specified scripts in Browser Sandboxes and use a default script instead. If you need to control the scripts, then we recommend using a [VM Sandbox](/content/docs/learn/vm-sandboxes/overview/index.html).

### I'm getting a 422 error when importing from GitHub, why? [Permalink for this section](/content/docs/faq#im-getting-a-422-error-when-importing-from-github-why/index.html)

There are a few possible reasons a repo might throw that error on import. The most common are: the lack of a `package.json` file, or the project using more than 500 modules (files).

If you think it's something else, or you're unable to solve this yourself, then [get in touch using our support form (opens in a new tab)](/content/support#form/index.html) and provide a link to the repo you're importing and we can look into this for you.

### Can I change the Node version used in a VM Sandbox? [Permalink for this section](/content/docs/faq#can-i-change-the-node-version-used-in-a-vm-sandbox/index.html)

Yes, we have instructions on the [VM configuration (opens in a new tab)](/content/docs/learn/environment/vm#configuring-nodejs-version/index.html) page that explain how to change the Node version. All recent server Sandboxes run in a VM Sandbox.

### How can I change the editor's theme? [Permalink for this section](/content/docs/faq#how-can-i-change-the-editors-theme/index.html)

To change the theme, click on the CodeSandbox icon at the top left of the editor, then go to Editor > Color Theme, and select a theme from the Themes dropdown. You can also do it from the [command palette (opens in a new tab)](/content/docs/learn/repositories/commandpalette/index.html) by picking the option "Preferences: Color Theme".

### Do Sandboxes have any limitations? [Permalink for this section](/content/docs/faq#do-sandboxes-have-any-limitations/index.html)

We currently provide [Browser Sandboxes](/content/docs/learn/browser-sandboxes/overview/index.html) and [VM Sandboxes](/content/docs/learn/vm-sandboxes/overview/index.html). Sandboxes have the following limitations:

- Can only run front-end JavaScript or TypeScript projects (servers not supported).
- Imported Sandboxes must contain a `package.json` file.
- Lower file upload sizes, which are handled per account (as explained on the [File Upload page](/content/docs/learn/vm-sandboxes/upload#upload-limits/index.html)).
- Cannot use more than 500 modules (files). Note that `node_modules` and dependencies do not count toward this limit.

VM Sandboxes are part of our evolved CodeSandbox experience, so we highly advise you to use them to avoid encountering these limitations.

### I'm getting a 'Request Entity too Large' error, what should I do? [Permalink for this section](/content/docs/faq#im-getting-a-request-entity-too-large-error-what-should-i-do/index.html)

If you encounter this error when importing or committing, check your Sandbox or repo for large binary files and remove them.

### Which CodeSandbox domains should I whitelist on my firewall to ensure CodeSandbox loads correctly? [Permalink for this section](/content/docs/faq#which-codesandbox-domains-should-i-whitelist-on-my-firewall-to-ensure-codesandbox-loads-correctly/index.html)

If you suspect that your VM/Browser Sandboxes aren't starting due to your firewall rules, try whitelisting the following domains:

- `codesandbox.io`
- `*.csb.app`
- `worker.codesandbox.io`

### Can I use a database on CodeSandbox? [Permalink for this section](/content/docs/faq#can-i-use-a-database-on-codesandbox/index.html)

Yes, you can use any database that has a Docker image available with a VM Sandbox. Some popular databases with Docker images include MySQL, PostgreSQL, MongoDB, and Redis.

### Do I need to install Docker on my local machine to use it in CodeSandbox? [Permalink for this section](/content/docs/faq#do-i-need-to-install-docker-on-my-local-machine-to-use-it-in-codesandbox/index.html)

No, you don't need to install Docker on your local machine. CodeSandbox has [built-in support for Docker (opens in a new tab)](/content/blog/introducing-docker-support-in-codesandbox/index.html), so you can use it directly in the online development environment.

### How can I access the database once it's running in a Docker container? [Permalink for this section](/content/docs/faq#how-can-i-access-the-database-once-its-running-in-a-docker-container/index.html)

You can access the database using the appropriate driver for your language or framework. Typically, you'll need to provide the hostname, port number, username, and password to connect to the database. If you want to connect locally to the database, you can use our VS Code integration to open the VM Sandbox inside VS Code, and then forward the port of the database to localhost.

### Can I use multiple databases in the same CodeSandbox project? [Permalink for this section](/content/docs/faq#can-i-use-multiple-databases-in-the-same-codesandbox-project/index.html)

Yes, you can use multiple databases in the same project by running multiple Docker containers with different port numbers.

### Can I use Docker Compose in CodeSandbox? [Permalink for this section](/content/docs/faq#can-i-use-docker-compose-in-codesandbox/index.html)

Yes, you can use Docker Compose in CodeSandbox to orchestrate multiple containers and define the relationships between them. However, you'll need to create a Docker Compose file and run the `docker-compose` command in the terminal to start the containers. We share more about this [in our Docker tutorial (opens in a new tab)](/content/docs/tutorial/getting-started-with-docker#4-create-docker-compose-file/index.html).

### Is it safe to use a database in CodeSandbox with Docker support? [Permalink for this section](/content/docs/faq#is-it-safe-to-use-a-database-in-codesandbox-with-docker-support/index.html)

Yes, it's safe to use a database in CodeSandbox with Docker support, as long as you follow best practices for security and keep your database credentials private. Docker provides a secure and isolated environment for running containers, so your database is protected from external threats. We also prevent any connections to your VM Sandbox without sign in if it is private.

### How can I troubleshoot issues with my database in CodeSandbox with Docker support? [Permalink for this section](/content/docs/faq#how-can-i-troubleshoot-issues-with-my-database-in-codesandbox-with-docker-support/index.html)

If you're having issues with your database, you can check the container logs to see if there are any error messages. You can also run commands like `docker ps` and `docker logs` in the terminal to get more information about the container. Additionally, you can ask for help on the CodeSandbox community forums or consult the documentation of the specific database you're using.

### Can I push/pull from a GitLab, Azure DevOps, or BitBucket repository? [Permalink for this section](/content/docs/faq#can-i-pushpull-from-a-gitlab-azure-devops-or-bitbucket-repository/index.html)

Yes. While our Repositories only have built-in push and sync capabilities for GitHub, you can connect to a remote repository from any other git provider.

To do that, use our terminal to `git remote add` the remote repository and then add your credentials for it. You can also add the authentication details to the CodeSandbox microVM using [environment variables (opens in a new tab)](/content/docs/learn/environment/secrets/index.html).
