Add template

This commit is contained in:
ChenKaiLiuG
2025-11-16 23:51:25 +08:00
committed by GitHub
parent 65e5f0f686
commit 49843b5cbb
2 changed files with 98 additions and 0 deletions

60
vs-code-server/main.tf Normal file
View File

@@ -0,0 +1,60 @@
# main.tf (無 Docker provider 版,單容器 VSCode)
terraform {
required_providers {
coder = {
source = "coder/coder"
}
}
}
provider "coder" {}
# 基本 workspace 資料
data "coder_workspace" "me" {}
# 取得使用者名稱
data "coder_workspace_owner" "me" {}
# 自動建立使用者 config 目錄與預設設定(使用 dir無 shell
resource "coder_agent" "main" {
os = "linux"
arch = "amd64"
dir = "/projects/${data.coder_workspace_owner.me.name}"
# 預設 VSCode 設定檔
env = {
CODE_SERVER_CONFIG = <<EOF
{
"workbench.colorTheme": "Default Dark+"
}
EOF
}
# 登出自動存檔
shutdown_script = <<EOF
#!/bin/bash
code-server --sync-settings || true
echo "Saved for ${data.coder_workspace_owner.me.name}"
EOF
}
# 磁碟監控(使用 coder_metadata 資源)
resource "coder_metadata" "disk_usage" {
resource_id = coder_agent.main.id
item {
key = "disk"
value = "10GB"
}
}
# VSCode Web App連到 Coder server 的 code-server
resource "coder_app" "code-server" {
agent_id = coder_agent.main.id
slug = "vscode"
display_name = "VSCode Web"
url = "http://localhost:6800/?folder=/projects/${data.coder_workspace_owner.me.name}"
icon = "/icon/code.svg"
subdomain = true
}

38
vs-code-server/readme.md Normal file
View File

@@ -0,0 +1,38 @@
\# Coder VSCode Template
\## 功能
\- 單容器架構
\- 使用者程式碼 → 宿主實體目錄 `/path/to/host/projects`
\- 使用者設定 / cache → Docker volume `/config/users`
\- 登出自動儲存
\- 支援 GitHub Copilot
\- 支援 WebSocket + 子域名
\## 對應 docker-compose.yml 要求
```yaml
volumes:
&nbsp; - user\_config:/config/users
&nbsp; - /path/to/host/projects:/projects
&nbsp; - coder\_system:/config/coder
environment:
&nbsp; CODER\_ADDRESS: 0.0.0.0:3000