|
| 1 | +--- |
| 2 | +display_name: Linode Instance (Linux) |
| 3 | +description: Provision Linode instances as Coder workspaces |
| 4 | +icon: ../../../../.icons/akamai.svg |
| 5 | +verified: false |
| 6 | +tags: [vm, linux, linode] |
| 7 | +--- |
| 8 | + |
| 9 | +# Remote Development on Linode Instances |
| 10 | + |
| 11 | +Provision Linode instances as [Coder workspaces](https://coder.com/docs/workspaces) with this example template. |
| 12 | + |
| 13 | +<!-- TODO: Add screenshot --> |
| 14 | + |
| 15 | +## Prerequisites |
| 16 | + |
| 17 | +To deploy workspaces as Linode instances, you'll need: |
| 18 | + |
| 19 | +- Linode [personal access token (PAT)](https://www.linode.com/docs/products/tools/api/guides/manage-api-tokens/) |
| 20 | + |
| 21 | +### Authentication |
| 22 | + |
| 23 | +This template assumes that the Coder Provisioner is run in an environment that is authenticated with Linode. |
| 24 | + |
| 25 | +Obtain a [Linode Personal Access Token](https://cloud.linode.com/profile/tokens) and set the `linode_token` variable when deploying the template. |
| 26 | +For other ways to authenticate [consult the Terraform provider's docs](https://registry.terraform.io/providers/linode/linode/latest/docs). |
| 27 | + |
| 28 | +## Features |
| 29 | + |
| 30 | +- **Multiple Instance Types**: From Nanode 1GB to 32GB configurations |
| 31 | +- **Comprehensive OS Support**: Ubuntu, Debian, CentOS, Fedora, AlmaLinux, Rocky Linux |
| 32 | +- **Global Regions**: 32 Linode regions across North America, Europe, Asia-Pacific, South America, and Australia |
| 33 | +- **Persistent Storage**: Configurable volumes (10GB-1TB) that persist `$HOME` across workspace restarts |
| 34 | +- **Development Tools**: Pre-configured with VS Code Server |
| 35 | +- **Monitoring**: Built-in CPU, memory, and disk usage monitoring |
| 36 | + |
| 37 | +## Architecture |
| 38 | + |
| 39 | +This template provisions the following resources: |
| 40 | + |
| 41 | +- Linode instance (ephemeral, deleted on stop) |
| 42 | +- Linode volume (persistent, mounted to `/home/coder`) |
| 43 | + |
| 44 | +This means, when the workspace restarts, any tools or files outside of the home directory are not persisted. To pre-bake tools into the workspace (e.g. `python3`), modify the VM image, or use a [startup script](https://registry.terraform.io/providers/coder/coder/latest/docs/resources/script). |
| 45 | + |
| 46 | +> [!NOTE] |
| 47 | +> This template is designed to be a starting point! Edit the Terraform to extend the template to support your use case. |
0 commit comments