Add template
This commit is contained in:
60
vs-code-server/main.tf
Normal file
60
vs-code-server/main.tf
Normal 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
38
vs-code-server/readme.md
Normal 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:
|
||||
|
||||
- user\_config:/config/users
|
||||
|
||||
- /path/to/host/projects:/projects
|
||||
|
||||
- coder\_system:/config/coder
|
||||
|
||||
|
||||
|
||||
environment:
|
||||
|
||||
CODER\_ADDRESS: 0.0.0.0:3000
|
||||
|
||||
Reference in New Issue
Block a user