Created
December 6, 2021 17:42
-
-
Save mrbuk/9e049e725879ba446777936431372762 to your computer and use it in GitHub Desktop.
code-server with mini tools and go, python, rust and node toolstack
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM debian:bullseye-slim | |
# minimal dependecies including python | |
RUN apt-get update; \ | |
apt-get install -y --no-install-recommends \ | |
ca-certificates netbase tzdata \ | |
curl wget \ | |
htop git \ | |
bash zsh fish man \ | |
gawk sed grep \ | |
build-essential make \ | |
python2 python3 python-is-python3\ | |
; \ | |
rm -rf /var/lib/apt/lists/* | |
# ensure /usr/local/bin has precedence | |
ENV PATH /usr/local/bin:$PATH | |
# code-server | |
ENV CODE_SERVER_VERSION 3.12.0 | |
RUN adduser --home /workspace --gecos "" --disabled-password --uid 1000 coder | |
RUN cd /tmp/ && \ | |
wget -q "https://github.com/cdr/code-server/releases/download/v${CODE_SERVER_VERSION}/code-server_${CODE_SERVER_VERSION}_$(dpkg --print-architecture).deb" && \ | |
dpkg -i /tmp/code-server*$(dpkg --print-architecture).deb && rm /tmp/code-server*.deb | |
# google cloud sdk | |
RUN apt-get update && \ | |
apt-get install -y --no-install-recommends \ | |
curl gcc python3-dev python3-pip python3-crcmod \ | |
apt-transport-https lsb-release openssh-client git make gnupg \ | |
; \ | |
rm -rf /var/lib/apt/lists/* | |
COPY --from=google/cloud-sdk:360.0.0-debian_component_based /google-cloud-sdk /google-cloud-sdk | |
ENV CLOUD_SDK_VERSION=360.0.0 | |
ENV PATH=$PATH:/google-cloud-sdk/bin | |
# change user to install dev runtimes as regular user and not root | |
USER 1000 | |
ENV USER coder | |
# go | |
ENV GOLANG_VERSION 1.17.2 | |
ENV PATH /usr/local/go/bin:$PATH | |
ENV GOPATH /workspace/go | |
ENV PATH $GOPATH/bin:$PATH | |
RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" | |
COPY --from=golang:1.17.2-bullseye /usr/local/go /usr/local/ | |
# node | |
ENV NODE_VERSION=16.10.0 | |
COPY --from=node:16.10.0-bullseye-slim /usr/local/bin /usr/local/bin | |
# rust | |
ENV RUSTUP_HOME=/usr/local/rustup \ | |
CARGO_HOME=/usr/local/cargo \ | |
PATH=/usr/local/cargo/bin:$PATH \ | |
RUST_VERSION=1.55.0 | |
COPY --from=rust:1.55.0-slim-bullseye /usr/local/rustup /usr/local/ | |
COPY --from=rust:1.55.0-slim-bullseye /usr/local/cargo /usr/local/ | |
EXPOSE 8080 | |
ENTRYPOINT code-server --bind-addr 0.0.0.0:8080 /workspace |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -eu | |
docker run -d --init \ | |
-p 8123:8080 \ | |
-e TZ='Europe/Berlin' \ | |
-v /data_share/code-server/workspace/:/workspace \ | |
--name code-server \ | |
mrbuk/code-server:0.2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment