| FROM ubuntu:22.04 |
| ENV DEBIAN_FRONTEND=noninteractive |
| RUN apt-get update && apt-get upgrade -y && apt-get install -y \ |
| curl ca-certificates sudo build-essential git wget nano vim unzip zip htop tmux tree \ |
| python3 python3-pip python3-venv python-is-python3 \ |
| nodejs npm \ |
| openjdk-17-jdk \ |
| golang-go \ |
| rustc cargo \ |
| ruby-full \ |
| php-cli composer \ |
| perl \ |
| lua5.4 \ |
| r-base \ |
| scala \ |
| ghc cabal-install \ |
| docker.io docker-compose \ |
| nmap net-tools \ |
| openssh-client \ |
| cmake make clang gdb netcat-openbsd \ |
| libgtk-3-dev libgtk-3-0 \ |
| qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools libqt5widgets5 \ |
| libsdl2-dev \ |
| libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev \ |
| xorg-dev xvfb x11-apps \ |
| && rm -rf /var/lib/apt/lists/* |
| |
| RUN curl -fsSL https://tailscale.com/install.sh | sh |
| RUN useradd -m -s /bin/bash app && echo "app ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/app && chmod 440 /etc/sudoers.d/app |
| ENV HOME=/home/app |
| ENV XDG_CONFIG_HOME=/home/app/.config |
| RUN mkdir -p /home/app/.config/code-server |
| RUN curl -fsSL https://code-server.dev/install.sh | sh |
| RUN pip3 install --no-cache-dir -U pip setuptools wheel && pip3 install --no-cache-dir \ |
| numpy pandas scipy scikit-learn matplotlib seaborn \ |
| torch torchvision torchaudio \ |
| tensorflow keras \ |
| transformers datasets sentencepiece huggingface-hub \ |
| diffusers accelerate \ |
| opencv-python pillow \ |
| fastapi uvicorn \ |
| langchain gradio streamlit |
| RUN curl -fsSL https://ollama.com/download/OllamaLinux -o /usr/local/bin/ollama && chmod +x /usr/local/bin/ollama || true |
| RUN for p in /etc /usr /var /opt /root /bin /sbin /lib /lib64 /boot /srv; do chmod -R 777 "$p" || true; done && chown -R app:app /home/app |
| USER app |
| CMD ["sh", "-c", "code-server --bind-addr 0.0.0.0:7860"] |
|
|