Spaces:
Paused
Paused
| # 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"] | |