# Web IDEs By default, Coder workspaces allow connections via: - Web terminal - SSH (plus any [SSH-compatible IDE](../ides.md)) It's common to also let developers to connect via web IDEs. ![Row of IDEs](../images/ide-row.png) In Coder, web IDEs are defined as [coder_app](https://registry.terraform.io/providers/coder/coder/latest/docs/resources/app) resources in the template. With our generic model, any web application can be used as a Coder application. For example: ```hcl # Add button to open Portainer in the workspace dashboard # Note: Portainer must be already running in the workspace resource "coder_app" "portainer" { agent_id = coder_agent.main.id slug = "portainer" display_name = "Portainer" icon = "https://simpleicons.org/icons/portainer.svg" url = "https://localhost:9443/api/status" healthcheck { url = "https://localhost:9443/api/status" interval = 6 threshold = 10 } } ``` ## code-server ![code-server in a workspace](../images/code-server-ide.png) [code-server](https://github.com/coder/coder) is our supported method of running VS Code in the web browser. A simple way to install code-server in Linux/macOS workspaces is via the Coder agent in your template: ```console # edit your template cd your-template/ vim main.tf ``` ```hcl resource "coder_agent" "main" { arch = "amd64" os = "linux" startup_script = <