Skip to content

Instantly share code, notes, and snippets.

View bpmct's full-sized avatar
🥝

Ben Potter bpmct

🥝
View GitHub Profile
@bpmct
bpmct / deploy-code-server.md
Last active March 3, 2021 07:23
deploy-code-server.md

deploy-code-server

A collection of one-click buttons and tutorials for deploying code-server to various cloud hosting platforms. The fastest way to get a code-server environment! ☁️

Platform Type Cheapest Plan Deploy
DigitalOcean VM Test
Vultr VM $10 credit Test
Railway App Platform Test
Heroku App Platform Test
@bpmct
bpmct / k3s.md
Last active June 18, 2021 06:15

Installing Coder on k3s

  1. Create an Ubuntu 20.10 machine with the minimum system requirements for Coder, and as many running workspaces as you need.
  2. Install kubectl and helm
  3. Change the SSH port to 5522 and restart SSH: guide
  4. Set up a k3s cluster with Calico, following this guide: https://docs.projectcalico.org/getting-started/kubernetes/k3s/quickstart
  5. If you run into an error installing Calico OR installing Coder with helm, set kubeconfig var ~/.bashrc: k3s-io/k3s#1126 (comment)
  6. Edit /etc/cni/net.d/10-calico.conflist and set allow_ip_forwarding to true.
  7. [To be safe] Set allow_ip_forwarding to true in the ConfigMap as well: kubectl edit cm cni-config -n calico-system
  8. Install Coder as normal: https://coder.com/docs/setup/installation

Keybase proof

I hereby claim:

  • I am bpmct on github.
  • I am bpmct (https://keybase.io/bpmct) on keybase.
  • I have a public key ASAkss1PtU-XsRxjQ42MQy7aAywetYLAmboTvTJIXpHBOAo

To claim this, I am signing this object:

Shared indexes with Coder

TLDR: Shared indexes work with Coder + JetBrains Projector. To quickly prototype your project with shared indexes, you can generate them and host them as a dev URL on your workspace, for other workspaces to try.

After testing, you'll need to upload the contents of /home/coder/indexes/generate-output to a file server and use that as the index location, or include them in the Coder image's filesystem. Dev URLs are used simply as a test. You'll need to regenerate the metadata with cdn-layout-tool with the proper destination as well.

Generating a shared index in a Coder workspace:

Sourced from this tutorial: https://www.jetbrains.com/help/go/shared-indexes.html#configure-index-update

{
"uuid": "999",
"page": {
"id": 999,
"data": {
"appState": "[\"~#iR\",[\"^ \",\"n\",\"appTemplate\",\"v\",[\"^ \",\"isFetching\",false,\"plugins\",[\"~#iOM\",[\"moduleContainer\",[\"^0\",[\"^ \",\"n\",\"pluginTemplate\",\"v\",[\"^ \",\"id\",\"moduleContainer\",\"type\",\"widget\",\"subtype\",\"ModuleContainerWidget\",\"resourceName\",\"\",\"resourceDisplayName\",null,\"template\",[\"^3\",[\"heightType\",\"fixed\",\"spinWhenChildrenAreFetching\",true,\"showBorder\",true,\"showDropShadow\",true,\"isGlobalWidgetContainer\",true,\"style\",[\"^3\",[]],\"backgroundColor\",\"white\",\"title\",\"\",\"overflowType\",\"hidden\",\"disabled\",\"\"]],\"style\",[\"^3\",[]],\"position2\",[\"^0\",[\"^ \",\"n\",\"position2\",\"v\",[\"^ \",\"container\",\"\",\"rowGroup\",\"body\",\"subcontainer\",\"\",\"row\",0,\"col\",0,\"height\",1.2,\"width\",7,\"tabNum\",0]]],\"mobilePosition2\",[\"^0\",[\"^ \",\"n\",\"position2\",\"v\",[\"^ \",\"^;\",\"\",\"^<\",\"body\",\"^=\",\"\",\"row\",0,\"col\",0,\"^>\",12,\"^?\",
https://7c15-107-77-230-58.ngrok.io
https://bafd-107-77-230-58.ngrok.io
@bpmct
bpmct / j
Created December 24, 2021 20:47
https://835d-107-77-230-58.ngrok.io/