66 lines
2.2 KiB
Docker
66 lines
2.2 KiB
Docker
FROM codercom/code-server:4.92.2-debian
|
|
|
|
# ======================
|
|
# Pre-install a custom JDK for this platform and redirect CodeQL to it
|
|
|
|
USER root
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# Install packages
|
|
RUN apt-get update && apt-get install --no-install-recommends --assume-yes \
|
|
ca-certificates \
|
|
curl \
|
|
default-jdk \
|
|
git \
|
|
libcurl4-openssl-dev \
|
|
libssl-dev \
|
|
python3 \
|
|
python3-dev \
|
|
unzip
|
|
|
|
# Build argument for CodeQL version, defaulting to the latest release
|
|
ARG CODEQL_VERSION=latest
|
|
|
|
# If the version is 'latest', get the latest release version from GitHub, unzip
|
|
# the bundle into /opt, and delete the archive
|
|
RUN if [ "$CODEQL_VERSION" = "latest" ]; then \
|
|
CODEQL_VERSION=$(curl -s https://api.github.com/repos/github/codeql-cli-binaries/releases/latest | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/'); \
|
|
fi && \
|
|
echo "Using CodeQL version $CODEQL_VERSION" && \
|
|
curl -L "https://github.com/github/codeql-cli-binaries/releases/download/$CODEQL_VERSION/codeql-linux64.zip" -o /tmp/codeql.zip && \
|
|
unzip /tmp/codeql.zip -d /opt && \
|
|
rm /tmp/codeql.zip && \
|
|
chmod -R +x /opt/codeql
|
|
|
|
# ======================
|
|
# Install code-server
|
|
USER coder
|
|
|
|
# Set environment variables
|
|
ENV PASSWORD mrva
|
|
|
|
# Install VS Code extensions as user root -- globally
|
|
RUN code-server --install-extension ms-python.python \
|
|
&& code-server --install-extension esbenp.prettier-vscode \
|
|
&& code-server --install-extension GitHub.vscode-codeql
|
|
|
|
# Expose the port that Code Server runs on
|
|
EXPOSE 9080
|
|
|
|
# Point CodeQL to the java binary for this platform
|
|
ENV CODEQL_JAVA_HOME=/usr
|
|
|
|
# Add
|
|
# codeQl.cli.executablePath
|
|
# to user settings.
|
|
# This is in addition to the environment variable CODEQL_JAVA_HOME which has no
|
|
# effect on the plugin
|
|
COPY ./settings.json /home/coder/.local/share/code-server/User/
|
|
|
|
# Start Code Server
|
|
ENTRYPOINT ["dumb-init", "code-server", "--bind-addr", "0.0.0.0:9080", "."]
|
|
|
|
# Run as the coder user
|
|
USER coder
|