Menu

메모용 개발 블로그

전체보기 > OS > Linux >

code-server 구축 (Docker)

2023-03-28 16:52:55

서론

VSCode는 Electron을 기반으로 제작된 에디터이다.

그래서 웹 기반 기술에 근간을 두고 있으므로 이를 로컬 환경이 아닌 웹으로 접근하여 사용할 수 있도록 올리고자 한 것이 code-server이다.

잘만 운용한다면 여러 환경에서 성능 좋은 pc의 성능을 사용하면서 동일한 환경에서 개발을 진행할 수도 있을 것 이다.

본론

구축 방법

깔끔한 서버의 상태를 유지하기 위해서 docker를 통해서 구축을 할 것이며, 관리의 용이함을 위해서 docker-compose를 활용한다.

사용할 이미지는 https://hub.docker.com/r/linuxserver/code-server 해당 이미지를 사용할 것 이다.

구축 과정

구축을 할 경로로 이동한다. 이 글에서는 /srv/code-server에서 작업한다.

sudo mkdir -r /srv/code-server
cd /srv/code-server
sudo vim compose.yaml

compose.yaml파일의 내용이다.

services:
  c1:
    image: lscr.io/linuxserver/code-server:latest
    container_name: code-server1
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Seoul
      - PASSWORD=비밀번호 #optional
      - HASHED_PASSWORD= #optional
      - SUDO_PASSWORD=비밀번호 #optional
      - SUDO_PASSWORD_HASH= #optional
      - PROXY_DOMAIN=외부_도메인 #optional
      - DEFAULT_WORKSPACE=/config/workspace #optional
    volumes:
      - ./config:/config
    ports:
      - 8443:8443
    restart: unless-stopped

대충 참고하여 수정후 저장

sudo docker compose up -d

이후 컨테이너를 올린 후 사용하면 된다.

Nginx 리버스 프록시 설정

만약 이를 Nginx를 통해서 리버스 프록시하여 제공할 것이라면 다음과 같은 헤더 수정이 필요합니다.

아래 내용을 location 블럭 하위에 넣어주세요.

proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Accept-Encoding gzip;

웹 소켓을 사용하기 위해서 필요하므로 꼭 하여야 합니다.

image-20230328233221956

이후 미리 정해둔 비밀번호를 입력하고 접속하면 사용가능하다.

image-20230328233306911

끝.