docker-collab / Dockerfile
Ramesh-vani's picture
Update Dockerfile
7506c94 verified
# 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"]