|
|
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/* |
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
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"] |