Spaces:
Paused
Paused
File size: 4,847 Bytes
f144e5d 8efd4a1 f144e5d bbfd20c 8efd4a1 f144e5d 23d8e99 f144e5d 8efd4a1 23d8e99 8efd4a1 bbfd20c 8efd4a1 bbfd20c 6e129d1 bbfd20c 6e129d1 bbfd20c 7506c94 8efd4a1 4e938e9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | # 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"]
|