# Ubuntu base image FROM ubuntu:latest # Set working directory WORKDIR /root # Install system dependencies RUN apt update && apt install -y \ curl wget git unzip tar build-essential software-properties-common \ python3 python3-pip python3-venv \ openjdk-17-jdk \ && apt clean && rm -rf /var/lib/apt/lists/* # Install NVM RUN curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash # Set NVM environment variables ENV NVM_DIR="/root/.nvm" ENV PATH="$NVM_DIR/versions/node/v22.13.1/bin:$PATH" # Install Node.js using NVM RUN bash -c 'source $NVM_DIR/nvm.sh && nvm install --lts && nvm use --lts' # Ensure Node.js is available in future sessions RUN echo 'export NVM_DIR="/root/.nvm"' >> /root/.bashrc && \ echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"' >> /root/.bashrc && \ echo 'export PATH="$NVM_DIR/versions/node/$(nvm current)/bin:$PATH"' >> /root/.bashrc # Verify Node.js installation RUN node -v && npm -v # Install Go RUN wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz && \ tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz && \ rm go1.22.0.linux-amd64.tar.gz ENV PATH="/usr/local/go/bin:$PATH" # Install Rust RUN curl https://sh.rustup.rs -sSf | sh -s -- -y ENV PATH="/root/.cargo/bin:$PATH" # Install Ruby RUN apt install -y ruby-full # Install PHP RUN apt install -y php-cli # Install Lua RUN apt install -y lua5.4 # Install Perl RUN apt install -y perl # Install Swift RUN wget https://download.swift.org/swift-5.10-release/ubuntu2204/swift-5.10-RELEASE/swift-5.10-RELEASE-ubuntu22.04.tar.gz && \ tar -xzf swift-5.10-RELEASE-ubuntu22.04.tar.gz -C /usr/local/ && \ rm swift-5.10-RELEASE-ubuntu22.04.tar.gz ENV PATH="/usr/local/swift-5.10-RELEASE-ubuntu22.04/usr/bin:$PATH" # Install Haskell RUN apt install -y haskell-platform # Install Kotlin RUN curl -s https://get.sdkman.io | bash && \ source "$HOME/.sdkman/bin/sdkman-init.sh" && \ sdk install kotlin # Install Scala RUN wget https://downloads.lightbend.com/scala/2.13.12/scala-2.13.12.tgz && \ tar -xzf scala-2.13.12.tgz -C /usr/local/ && \ rm scala-2.13.12.tgz ENV PATH="/usr/local/scala-2.13.12/bin:$PATH" # Install Julia RUN wget https://julialang-s3.julialang.org/bin/linux/x64/1.10/julia-1.10.2-linux-x86_64.tar.gz && \ tar -xzf julia-1.10.2-linux-x86_64.tar.gz -C /usr/local/ && \ rm julia-1.10.2-linux-x86_64.tar.gz ENV PATH="/usr/local/julia-1.10.2/bin:$PATH" # Install Dart RUN wget https://storage.googleapis.com/dart-archive/channels/stable/release/latest/sdk/dartsdk-linux-x64-release.zip && \ unzip dartsdk-linux-x64-release.zip -d /usr/local/ && \ rm dartsdk-linux-x64-release.zip ENV PATH="/usr/local/dart-sdk/bin:$PATH" # Install TCL RUN apt install -y tcl # Install Racket RUN wget https://mirror.racket-lang.org/installers/8.9/racket-8.9-x86_64-linux.sh && \ chmod +x racket-8.9-x86_64-linux.sh && \ ./racket-8.9-x86_64-linux.sh --in-place --dest /usr/local/racket && \ rm racket-8.9-x86_64-linux.sh ENV PATH="/usr/local/racket/bin:$PATH" # Install Nim RUN curl https://nim-lang.org/choosenim/init.sh -sSf | sh -s -- -y ENV PATH="/root/.nimble/bin:$PATH" # Install Vala RUN apt install -y valac # Install Zig RUN wget https://ziglang.org/download/0.12.0/zig-linux-x86_64-0.12.0.tar.xz && \ tar -xf zig-linux-x86_64-0.12.0.tar.xz -C /usr/local/ && \ rm zig-linux-x86_64-0.12.0.tar.xz ENV PATH="/usr/local/zig-linux-x86_64-0.12.0:$PATH" # Install Erlang RUN apt install -y erlang # Install Elixir RUN wget https://github.com/elixir-lang/elixir/releases/download/v1.16.1/Precompiled.zip && \ unzip Precompiled.zip -d /usr/local/elixir && \ rm Precompiled.zip ENV PATH="/usr/local/elixir/bin:$PATH" # Install Dart RUN wget https://storage.googleapis.com/dart-archive/channels/stable/release/latest/sdk/dartsdk-linux-x64-release.zip && \ unzip dartsdk-linux-x64-release.zip -d /usr/local/ && \ rm dartsdk-linux-x64-release.zip ENV PATH="/usr/local/dart-sdk/bin:$PATH" # Install Fish Shell RUN apt install -y fish # Install Chapel RUN wget https://github.com/chapel-lang/chapel/releases/download/1.33.0/chapel-1.33.0-x86_64-linux.tar.gz && \ tar -xzf chapel-1.33.0-x86_64-linux.tar.gz -C /usr/local/ && \ rm chapel-1.33.0-x86_64-linux.tar.gz ENV PATH="/usr/local/chapel-1.33.0/bin:$PATH" # Install Free Pascal Compiler (FPC) RUN apt install -y fpc # Install D (Dlang) RUN wget https://downloads.dlang.org/releases/2.x/2.105.0/dmd.2.105.0.linux.tar.xz && \ tar -xJf dmd.2.105.0.linux.tar.xz -C /usr/local/ && \ rm dmd.2.105.0.linux.tar.xz ENV PATH="/usr/local/dmd2/linux/bin64:$PATH" # Clean up APT cache RUN apt clean && rm -rf /var/lib/apt/lists/* # Expose port for HTTP server EXPOSE 7860 # Run Python HTTP server on port 7860 CMD ["python3", "-m", "http.server", "7860"]