File size: 1,613 Bytes
d424021
 
 
 
 
 
 
 
 
 
 
 
7765685
 
 
 
 
 
 
 
d424021
 
7765685
d637e50
7765685
d637e50
7765685
d424021
 
 
 
 
7cf9e79
d424021
 
 
 
 
 
 
 
 
 
 
7765685
 
 
 
d424021
 
bf869e9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
FROM ubuntu:20.04

ENV DEBIAN_FRONTEND=noninteractive \
    TZ=Etc/UTC

RUN apt-get update && apt-get install -y \
    curl \
    ca-certificates \
    sudo \
    git \
    bzip2 \
    libx11-6 \
    python3 \
    python3-pip \
    build-essential \
    vim \
    wget \
    unzip \
    jq \
    tree \
    && rm -rf /var/lib/apt/lists/*

# Install Node.js and npm
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \
    apt-get install -y nodejs && \
    npm install -g yarn

ARG CODE_RELEASE
RUN curl -s https://api.github.com/repos/gitpod-io/openvscode-server/releases/latest | \
    grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}' | \
    { read CODE_RELEASE; \
      mkdir -p /app/openvscode-server && \
      curl -o /tmp/openvscode-server.tar.gz -L "https://github.com/gitpod-io/openvscode-server/releases/download/${CODE_RELEASE}/${CODE_RELEASE}-linux-x64.tar.gz" && \
      tar xf /tmp/openvscode-server.tar.gz -C /app/openvscode-server/ --strip-components=1; } \
    && rm -f /tmp/openvscode-server.tar.gz

# Create a non-root user
RUN useradd -m user && echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-user
USER user

ENV HOME=/home/user
RUN mkdir -p $HOME/.config $HOME/app
WORKDIR $HOME/app

# Install VS Code extensions as user
RUN /app/openvscode-server/bin/openvscode-server --install-extension ms-python.python \
    && /app/openvscode-server/bin/openvscode-server --install-extension ms-vscode.vscode-typescript-tslint-plugin

EXPOSE 7860

CMD ["/app/openvscode-server/bin/openvscode-server", "--host", "0.0.0.0", "--port", "7860", "--without-connection-token"]