ARG RELEASE |
ARG LAUNCHPAD_BUILD_ARCH |
LABEL org.opencontainers.image.ref.name=ubuntu |
LABEL org.opencontainers.image.version=22.04 |
ADD file:d5da92199726e42da09a6f75a778befb607fe3f79e4afaf7ef5188329b26b386 in / |
CMD ["/bin/bash"] |
RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends git sudo libatomic1 wget ca-certificates && rm -rf /var/lib/apt/lists/* # buildkit |
WORKDIR /home/ |
ARG RELEASE_TAG=openvscode-server-v1.88.1 |
ARG RELEASE_ORG=gitpod-io |
ARG OPENVSCODE_SERVER_ROOT=/home/.openvscode-server |
RUN |3 RELEASE_TAG=openvscode-server-v1.88.1 RELEASE_ORG=gitpod-io OPENVSCODE_SERVER_ROOT=/home/.openvscode-server /bin/sh -c if [ -z "${RELEASE_TAG}" ]; then echo "The RELEASE_TAG build arg must be set." >&2 && exit 1; fi && arch=$(uname -m) && if [ "${arch}" = "x86_64" ]; then arch="x64"; elif [ "${arch}" = "aarch64" ]; then arch="arm64"; elif [ "${arch}" = "armv7l" ]; then arch="armhf"; fi && wget https://github.com/${RELEASE_ORG}/openvscode-server/releases/download/${RELEASE_TAG}/${RELEASE_TAG}-linux-${arch}.tar.gz && tar -xzf ${RELEASE_TAG}-linux-${arch}.tar.gz && mv -f ${RELEASE_TAG}-linux-${arch} ${OPENVSCODE_SERVER_ROOT} && cp ${OPENVSCODE_SERVER_ROOT}/bin/remote-cli/openvscode-server ${OPENVSCODE_SERVER_ROOT}/bin/remote-cli/code && rm -f ${RELEASE_TAG}-linux-${arch}.tar.gz # buildkit |
ARG USERNAME=openvscode-server |
ARG USER_UID=1000 |
ARG USER_GID=1000 |
RUN |6 RELEASE_TAG=openvscode-server-v1.88.1 RELEASE_ORG=gitpod-io OPENVSCODE_SERVER_ROOT=/home/.openvscode-server USERNAME=openvscode-server USER_UID=1000 USER_GID=1000 /bin/sh -c groupadd --gid $USER_GID $USERNAME && useradd --uid $USER_UID --gid $USERNAME -m -s /bin/bash $USERNAME && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME && chmod 0440 /etc/sudoers.d/$USERNAME # buildkit |
RUN |6 RELEASE_TAG=openvscode-server-v1.88.1 RELEASE_ORG=gitpod-io OPENVSCODE_SERVER_ROOT=/home/.openvscode-server USERNAME=openvscode-server USER_UID=1000 USER_GID=1000 /bin/sh -c chmod g+rw /home && mkdir -p /home/workspace && chown -R $USERNAME:$USERNAME /home/workspace && chown -R $USERNAME:$USERNAME ${OPENVSCODE_SERVER_ROOT} # buildkit |
USER openvscode-server |
WORKDIR /home/workspace/ |
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 HOME=/home/workspace EDITOR=code VISUAL=code GIT_EDITOR=code --wait OPENVSCODE_SERVER_ROOT=/home/.openvscode-server OPENVSCODE=/home/.openvscode-server/bin/openvscode-server |
SHELL [/bin/bash -c] |
RUN |6 RELEASE_TAG=openvscode-server-v1.88.1 RELEASE_ORG=gitpod-io OPENVSCODE_SERVER_ROOT=/home/.openvscode-server USERNAME=openvscode-server USER_UID=1000 USER_GID=1000 /bin/bash -c exts=( llvm-vs-code-extensions.vscode-clangd waderyan.gitblame mhutchie.git-graph webfreak.debug ms-python.python njpwerner.autodocstring ms-python.black-formatter charliermarsh.ruff ms-vscode.makefile-tools ms-python.pylint ) && for ext in "${exts[@]}"; do ${OPENVSCODE} --install-extension "${ext}"; done && sudo rm -rf ${tdir} # buildkit |
COPY ./user_settings.json /home/workspace/.openvscode-server/data/Machine/settings.json # buildkit |
EXPOSE map[3000/tcp:{}] |
USER root |
RUN |6 RELEASE_TAG=openvscode-server-v1.88.1 RELEASE_ORG=gitpod-io OPENVSCODE_SERVER_ROOT=/home/.openvscode-server USERNAME=openvscode-server USER_UID=1000 USER_GID=1000 /bin/bash -c apt-get update && apt-get install -y --no-install-recommends build-essential clangd-12 cmake ninja-build bear python3 python3-pip gdb # buildkit |
RUN |6 RELEASE_TAG=openvscode-server-v1.88.1 RELEASE_ORG=gitpod-io OPENVSCODE_SERVER_ROOT=/home/.openvscode-server USERNAME=openvscode-server USER_UID=1000 USER_GID=1000 /bin/bash -c ln -s /usr/bin/clangd-12 /usr/bin/clangd # buildkit |
ENTRYPOINT ["/bin/sh" "-c" "exec ${OPENVSCODE} --host 0.0.0.0 --without-connection-token"] |