# ========================================== # Dockerfile для поднятия code-server (VS Code в браузере) # на базе Ubuntu 24.04 с поддержкой Python и HF # ========================================== # Берем за основу чистую Ubuntu 24.04 FROM ubuntu:24.04 # Отключаем интерактивные запросы при установке пакетов (чтобы сборка не зависала в ожидании ввода) ENV DEBIAN_FRONTEND=noninteractive # Обновляем списки пакетов и ставим базовый софт: # curl, sudo, git, wget, компиляторы (build-essential), python3 и pip. # В конце чистим кэш apt, чтобы финальный образ не раздувался. RUN apt-get update && apt-get install -y \ curl \ sudo \ git \ wget \ build-essential \ python3 \ python3-pip \ && rm -rf /var/lib/apt/lists/* # Ставим code-server (VS Code, который работает в браузере) через официальный скрипт установки RUN curl -fsSL https://code-server.dev/install.sh | sh # Выдаем встроенному юзеру 'ubuntu' (UID 1000) права sudo без необходимости вводить пароль RUN echo "ubuntu ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers # Создаем рабочую директорию и назначаем юзера 'ubuntu' владельцем его домашней папки RUN mkdir -p /home/ubuntu/workspace && chown -R ubuntu:ubuntu /home/ubuntu # Переключаемся на непривилегированного пользователя (так безопаснее, чем работать из-под root) USER ubuntu # Задаем рабочую директорию по умолчанию WORKDIR /home/ubuntu/workspace # Открываем порт 7860 (стандартный порт для приложений Hugging Face / Gradio / Streamlit) EXPOSE 7860 # Запускаем code-server: он будет слушать все сетевые интерфейсы на порту 7860 # и требовать ввод пароля при подключении через браузер CMD ["code-server", "--bind-addr", "0.0.0.0:7860", "--auth", "password"]