{"id":1870,"date":"2023-03-18T23:12:51","date_gmt":"2023-03-18T14:12:51","guid":{"rendered":"https:\/\/oboki.net\/workspace\/?p=1870"},"modified":"2023-07-25T08:07:06","modified_gmt":"2023-07-24T23:07:06","slug":"code-server-self-hosting-vscode-web","status":"publish","type":"post","link":"https:\/\/oboki.net\/workspace\/tools\/vscode\/code-server-self-hosting-vscode-web\/","title":{"rendered":"code-server (\uc124\uce58\ud615 VSCode \uc6f9\ubc84\uc804)"},"content":{"rendered":"<h1>code-server<\/h1>\n<p><code>vscode.dev<\/code> \uac19\uc774 \uc6f9\ubc84\uc804 vscode \ub97c \uc9c1\uc811 \uad6c\uc131\ud560 \uc218 \uc788\uac8c \ud558\ub294 \uc624\ud508\uc18c\uc2a4(?) \ud504\ub85c\uc81d\ud2b8\uac00 \uc788\uc5b4 \uc0ac\ub0b4 <code>jupyterhub<\/code> \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \uac1c\uc778\ubcc4 \ub178\ud2b8\ubd81 \ud658\uacbd\uc5d0 \uc124\uc815\ud574\ubd24\ub294\ub370 \ub3d9\ub8cc\ub4e4 \uc0ac\uc774\uc5d0\uc11c \ubc18\uc751\uc774 \uad1c\ucc2e\uace0 \uc9c1\uc811 \uc368\ubd10\ub3c4 \uc0ac\uc6a9\uc131\uc774 \uc81c\ubc95 \uc88b\uc544\uc11c \ud648\uc11c\ubc84\uc5d0 \ubd99\uc5ec \uc368\ubcfc\uae4c \ud55c\ub2e4.<\/p>\n<p><a href=\"https:\/\/github.com\/coder\/code-server\">https:\/\/github.com\/coder\/code-server<\/a><\/p>\n<p>\ucee8\ud14c\uc774\ub108\ub85c \uc2e4\ud589\ud560 \uc218\ub3c4 \uc788\uaca0\uc9c0\ub9cc \ud648\uc11c\ubc84 \ud638\uc2a4\ud2b8\ub97c \uc678\ubd80\uc5d0\uc11c \ubc14\ub85c \uc81c\uc5b4(?)\ud558\uace0 \uc2f6\uc740 \uc6a9\ub3c4\ub85c \uc4f0\uace0\uc2f6\uc5b4 \uc77c\ub2e8\uc740 \ubc14\uc774\ub108\ub9ac\ub97c \uadf8\ub300\ub85c \ubc1b\uc544 \ub124\uc774\ud2f0\ube0c \ud504\ub85c\uc138\uc2a4\ub85c \uc2e4\ud589\ud560 \uc608\uc815.<\/p>\n<pre><code class=\"language-bash\">VERSION=4.11.0\nPREFIX=$HOME\/usr\/local\/code-server\nDIST_ARTIFACT=code-server-$VERSION-linux-amd64\nDOWNLOAD=https:\/\/github.com\/coder\/code-server\/releases\/download\n\nmkdir -p $PREFIX &amp;&amp; cd $PREFIX &amp;&amp; \\\ncurl -L $DOWNLOAD\/v$VERSION\/$DIST_ARTIFACT.tar.gz | tar -xz -C . &amp;&amp; \\\nln -s $DIST_ARTIFACT\/* .<\/code><\/pre>\n<p>\ub2e4\uc74c\uacfc \uac19\uc740 \uba85\ub839\uc73c\ub85c \uc774\uc5b4\uc11c \uc2e4\ud589\ud558\uba74,<\/p>\n<pre><code class=\"language-bash\">nohup bin\/code-server \\\n    --disable-telemetry \\\n    --bind-addr 0.0.0.0:8080 &gt;&gt; code-server.log 2&gt;&amp;1 &amp;<\/code><\/pre>\n<p>8080 \ud3ec\ud2b8\ub85c \uc6f9\uc11c\ube44\uc2a4 \uc811\uadfc\uc774 \uac00\ub2a5\ud558\uace0, <code>$HOME\/.config\/code-server\/config.yaml<\/code> \ud30c\uc77c\uc5d0 \uc801\ud78c \ucd08\uae30 \ube44\ubc00\ubc88\ud638\ub97c \uc774\uc6a9\ud574 \ub85c\uadf8\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/oboki.net\/workspace\/wp-content\/uploads\/2023\/07\/image-1690211716025.png\" alt=\"file\" \/><\/p>\n<p>\uc9dc\uc794.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/oboki.net\/workspace\/wp-content\/uploads\/2023\/07\/image-1690211794462.png\" alt=\"file\" \/><\/p>\n<p>\ub098\uc911\uc5d0\ub294 \ucee8\ud14c\uc774\ub108\ub85c \uc2e4\ud589\ud574 \ud638\uc2a4\ud2b8\uc5d0\ub294 <code>remote-ssh<\/code> extension \uc744 \ud1b5\ud574\uc11c \uc811\uadfc\ud558\uac70\ub098, <code>oauth2-proxy<\/code> \ub97c \ubd99\uc5ec\uc11c \uc4f0\ub294\uac8c \ubcf4\uc548\uc0c1 \uc88b\uc744 \uac83 \uac19\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>code-server vscode.dev \uac19\uc774 \uc6f9\ubc84\uc804 vscode \ub97c \uc9c1\uc811 \uad6c\uc131\ud560 \uc218 \uc788\uac8c \ud558\ub294 \uc624\ud508\uc18c\uc2a4(?) \ud504\ub85c\uc81d\ud2b8\uac00 \uc788\uc5b4 \uc0ac\ub0b4 jupyterhub \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \uac1c\uc778\ubcc4 \ub178\ud2b8\ubd81 \ud658\uacbd\uc5d0 \uc124\uc815\ud574\ubd24\ub294\ub370 \ub3d9\ub8cc\ub4e4 \uc0ac\uc774\uc5d0\uc11c \ubc18\uc751\uc774 \uad1c\ucc2e\uace0 \uc9c1\uc811 \uc368\ubd10\ub3c4 \uc0ac\uc6a9\uc131\uc774 \uc81c\ubc95 \uc88b\uc544\uc11c \ud648\uc11c\ubc84\uc5d0 \ubd99\uc5ec \uc368\ubcfc\uae4c \ud55c\ub2e4. https:\/\/github.com\/coder\/code-server \ucee8\ud14c\uc774\ub108\ub85c \uc2e4\ud589\ud560 \uc218\ub3c4 \uc788\uaca0\uc9c0\ub9cc \ud648\uc11c\ubc84 \ud638\uc2a4\ud2b8\ub97c \uc678\ubd80\uc5d0\uc11c \ubc14\ub85c \uc81c\uc5b4(?)\ud558\uace0 \uc2f6\uc740 \uc6a9\ub3c4\ub85c \uc4f0\uace0\uc2f6\uc5b4 \uc77c\ub2e8\uc740 \ubc14\uc774\ub108\ub9ac\ub97c \uadf8\ub300\ub85c \ubc1b\uc544 \ub124\uc774\ud2f0\ube0c \ud504\ub85c\uc138\uc2a4\ub85c \uc2e4\ud589\ud560 \uc608\uc815. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[204],"tags":[],"class_list":["post-1870","post","type-post","status-publish","format-standard","hentry","category-vscode"],"_links":{"self":[{"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/posts\/1870","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/comments?post=1870"}],"version-history":[{"count":0,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/posts\/1870\/revisions"}],"wp:attachment":[{"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/media?parent=1870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/categories?post=1870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/tags?post=1870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}