Skip to main content

Один клик — удалённый GPU-сервер с Ollama + VS Code Remote

Project description

# Gpu-setup — один клик до удалённого GPU-сервера с Ollama и VS Code Remote

Автоматическая настройка SSH, установка [Ollama](https://ollama.com/), загрузка LLM-моделей и открытие VS Code Remote на удалённом GPU-сервере — всё одной командой.

---

## Возможности

- **Генерация SSH-ключей** (ed25519 / RSA) и автоматическое копирование публичного ключа на сервер.
- **Настройка `~/.ssh/config`** с алиасом для удобного подключения.
- **Установка Ollama** (через официальный скрипт) с запуском сервиса.
- **Загрузка моделей** (например, `llama3.2`, `gemma2`) с живым выводом прогресса.
- **Автоматический запуск VS Code Remote** (если установлен `code` CLI).
- **Режим `--dry-run`** для безопасного просмотра плана действий.
- **Красивый вывод** с помощью `rich`.

---

## Предварительные требования

- Python 3.8+ (рекомендуется 3.10)
- Удалённый сервер с Linux (Ubuntu/Debian/CentOS) и предустановленным Python
- Доступ по SSH с паролем (для первого копирования ключа)
- На локальной машине:
  - `ssh-keygen` (обычно уже есть)
  - `ssh` клиент
  - (опционально) `code` для VS Code Remote (если планируете открывать редактор)

---

## Установка

```bash
# Клонируем репозиторий
git clone https://github.com/your-username/gpu-setup.git
cd gpu-setup

# Устанавливаем в виртуальное окружение (рекомендуется)
python -m venv venv
source venv/bin/activate   # или venv\Scripts\activate на Windows

# Устанавливаем зависимости
pip install -r requirements.txt

# Устанавливаем пакет в режиме разработки (опционально)
pip install -e .

После этого команда gpu-setup будет доступна в терминале.


Использование

Общий синтаксис:

gpu-setup [команда] [опции]

Доступные команды

Команда Описание
setup Полная настройка: SSH, Ollama, модель, VS Code
ssh Только настройка SSH-ключей и алиаса
ollama-install Установка Ollama на сервер
model-pull Загрузка указанной модели (после установки Ollama)
vscode Открытие VS Code Remote (если code установлен)
plan Показать план действий без выполнения (dry-run)

Подробное описание команд

gpu-setup setup

Выполняет все шаги: генерация ключа, копирование, настройка SSH-конфига, установка Ollama, загрузка модели, открытие VS Code.

Опции:

  • --ip (обязательный) — IP сервера
  • --user (обязательный) — имя пользователя
  • --password (обязательный для первого подключения) — пароль (можно ввести интерактивно)
  • --model — модель для скачивания (например llama3.2)
  • --install-ollama / --no-install — устанавливать Ollama (по умолчанию --install-ollama)
  • --no-vscode — не открывать VS Code (по умолчанию открывает)
  • --dry-run — только показать план
  • --key-type — тип ключа: ed25519 (по умолчанию) или rsa

gpu-setup ssh

Только настройка SSH-доступа по ключу.

Опции:

  • --ip (обязательный)
  • --user (обязательный)
  • --password (обязательный для первого копирования)
  • --dry-run
  • --key-type

gpu-setup ollama-install

Устанавливает Ollama на сервер (требуется пароль для sudo).

Опции:

  • --ip (обязательный)
  • --user (обязательный)
  • --password (обязательный, т.к. нужен sudo)
  • --dry-run

gpu-setup model-pull MODEL

Скачивает указанную модель через Ollama. Если сервис Ollama не запущен, пытается запустить его автоматически.

Аргументы:

  • MODEL — имя модели (например llama3.2)

Опции:

  • --ip (обязательный)
  • --user (обязательный)
  • --password (необязателен, если SSH уже настроен; нужен только для запуска сервиса)
  • --dry-run

gpu-setup vscode

Открывает текущую сессию в VS Code Remote.

Опции:

  • --ip (обязательный)
  • --user (обязательный)
  • --password (не требуется, если ключ настроен)
  • --dry-run

gpu-setup plan

Показывает, какие шаги будут выполнены при вызове setup с указанными параметрами.

Опции:

  • --ip (обязательный)
  • --user (обязательный)
  • --model
  • --install-ollama / --no-install
  • --no-vscode

Примеры использования

1. Полная настройка (самый частый вариант)

gpu-setup setup --ip 195.208.16.2 --user user --password sWDoAVym --model llama3.2

2. Только SSH-ключи + config

gpu-setup ssh --ip 195.208.16.2 --user user --password sWDoAVym

3. Только установить Ollama

gpu-setup ollama-install --ip 195.208.16.2 --user user --password sWDoAVym

4. Только скачать модель (пароль уже не нужен, если SSH настроен)

gpu-setup model-pull llama3.2 --ip 195.208.16.2 --user user

5. Только открыть VS Code Remote

gpu-setup vscode --ip 195.208.16.2 --user user

6. Посмотреть план перед запуском

gpu-setup plan --ip 195.208.16.2 --user user --model llama3.2

Dry-run

Любая команда поддерживает флаг --dry-run.
В этом режиме ничего не изменяется, а только выводится, что было бы сделано.

gpu-setup setup --ip 195.208.16.2 --user user --dry-run

Устранение неполадок

  • ssh: Could not resolve hostname — проверьте IP и доступность сервера.
  • Ошибка при копировании ключа — убедитесь, что пароль верный и на сервере разрешена аутентификация по паролю (PasswordAuthentication yes в /etc/ssh/sshd_config).
  • Ollama не устанавливается — возможно, требуется вручную разрешить sudo без пароля или передать пароль в опции.
  • VS Code не открывается — установите CLI-команду code (в VS Code: Shift+Ctrl+PInstall 'code' command in PATH).

Лицензия

MIT License. См. файл LICENSE.


Вклад

PR и issues приветствуются!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gpu_server_setup-0.4.0.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gpu_server_setup-0.4.0-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file gpu_server_setup-0.4.0.tar.gz.

File metadata

  • Download URL: gpu_server_setup-0.4.0.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for gpu_server_setup-0.4.0.tar.gz
Algorithm Hash digest
SHA256 1fe84e79a656081e5cd54dd1344961d28bb1e47b3ee0690fd8469d017f9fb608
MD5 2ed5734e2fe4e7949121f65ee7d5ed99
BLAKE2b-256 b3b706560389f73338438eb06880b1b8cd74afa846fc62509593a083faf3da97

See more details on using hashes here.

File details

Details for the file gpu_server_setup-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for gpu_server_setup-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f4183986a4d58e3507b8f2eb8a9ee1a3776f3e3769d567266bb77e1ff18ecd46
MD5 eb122c994ed20003e7564650b1d5926b
BLAKE2b-256 0411522c6ed0ab4e0e1588dfc3eb4e6c95f078666225a304950c31d86507b3d4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page