gpu-server-setup 0.4.7__tar.gz → 0.4.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- gpu_server_setup-0.4.9/PKG-INFO +221 -0
- gpu_server_setup-0.4.9/README.md +205 -0
- gpu_server_setup-0.4.9/gpu_server_setup.egg-info/PKG-INFO +221 -0
- gpu_server_setup-0.4.9/gpu_setup/cli.py +243 -0
- {gpu_server_setup-0.4.7 → gpu_server_setup-0.4.9}/gpu_setup/core.py +259 -125
- {gpu_server_setup-0.4.7 → gpu_server_setup-0.4.9}/pyproject.toml +1 -1
- gpu_server_setup-0.4.7/PKG-INFO +0 -234
- gpu_server_setup-0.4.7/README.md +0 -218
- gpu_server_setup-0.4.7/gpu_server_setup.egg-info/PKG-INFO +0 -234
- gpu_server_setup-0.4.7/gpu_setup/cli.py +0 -138
- {gpu_server_setup-0.4.7 → gpu_server_setup-0.4.9}/LICENSE +0 -0
- {gpu_server_setup-0.4.7 → gpu_server_setup-0.4.9}/gpu_server_setup.egg-info/SOURCES.txt +0 -0
- {gpu_server_setup-0.4.7 → gpu_server_setup-0.4.9}/gpu_server_setup.egg-info/dependency_links.txt +0 -0
- {gpu_server_setup-0.4.7 → gpu_server_setup-0.4.9}/gpu_server_setup.egg-info/entry_points.txt +0 -0
- {gpu_server_setup-0.4.7 → gpu_server_setup-0.4.9}/gpu_server_setup.egg-info/requires.txt +0 -0
- {gpu_server_setup-0.4.7 → gpu_server_setup-0.4.9}/gpu_server_setup.egg-info/top_level.txt +0 -0
- {gpu_server_setup-0.4.7 → gpu_server_setup-0.4.9}/gpu_setup/__init__.py +0 -0
- {gpu_server_setup-0.4.7 → gpu_server_setup-0.4.9}/gpu_setup/__version__.py +0 -0
- {gpu_server_setup-0.4.7 → gpu_server_setup-0.4.9}/gpu_setup/config.py +0 -0
- {gpu_server_setup-0.4.7 → gpu_server_setup-0.4.9}/gpu_setup/rich_console.py +0 -0
- {gpu_server_setup-0.4.7 → gpu_server_setup-0.4.9}/gpu_setup/utils.py +0 -0
- {gpu_server_setup-0.4.7 → gpu_server_setup-0.4.9}/setup.cfg +0 -0
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: gpu-server-setup
|
|
3
|
+
Version: 0.4.9
|
|
4
|
+
Summary: Один клик — удалённый GPU-сервер с Ollama + VS Code Remote
|
|
5
|
+
Author: The Fool
|
|
6
|
+
License: MIT
|
|
7
|
+
Requires-Python: >=3.9
|
|
8
|
+
Description-Content-Type: text/markdown
|
|
9
|
+
License-File: LICENSE
|
|
10
|
+
Requires-Dist: typer[all]>=0.12
|
|
11
|
+
Requires-Dist: rich>=13.7
|
|
12
|
+
Requires-Dist: paramiko>=3.4
|
|
13
|
+
Requires-Dist: pydantic-settings>=2.5
|
|
14
|
+
Requires-Dist: tomli>=2.0; python_version >= "3.9"
|
|
15
|
+
Dynamic: license-file
|
|
16
|
+
|
|
17
|
+
```markdown
|
|
18
|
+
# Gpu-setup — один клик до удалённого GPU-сервера с Ollama и VS Code Remote
|
|
19
|
+
|
|
20
|
+
Автоматическая настройка SSH, установка [Ollama](https://ollama.com/), загрузка LLM-моделей и открытие VS Code Remote на удалённом GPU-сервере — всё одной командой.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Возможности
|
|
25
|
+
|
|
26
|
+
- Генерация SSH-ключей (ed25519 / RSA) **или** использование готового `.pem`-ключа от провайдера
|
|
27
|
+
- Автоматическое копирование публичного ключа (если используется свой ключ)
|
|
28
|
+
- Настройка `~/.ssh/config` с удобным алиасом
|
|
29
|
+
- Установка Ollama и запуск сервиса
|
|
30
|
+
- Загрузка моделей с живым выводом прогресса
|
|
31
|
+
- Автоматическое открытие VS Code Remote
|
|
32
|
+
- Полноценный Colab-режим: Jupyter Notebook + SSH-туннель на локальный порт + venv с torch
|
|
33
|
+
- Режим `--dry-run` для просмотра плана
|
|
34
|
+
- Красивый вывод с помощью `rich`
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Поддержка ключей
|
|
39
|
+
|
|
40
|
+
Скрипт поддерживает **два способа** аутентификации:
|
|
41
|
+
|
|
42
|
+
### 1. Обычный режим (генерация своего ключа)
|
|
43
|
+
Используется по умолчанию. Скрипт сам генерирует ключ и копирует его на сервер.
|
|
44
|
+
|
|
45
|
+
### 2. Режим `.pem`-ключа (для большинства облачных провайдеров)
|
|
46
|
+
Когда у вас уже есть скачанный приватный ключ (например `keyname-ubuntu.pem`).
|
|
47
|
+
|
|
48
|
+
В этом случае:
|
|
49
|
+
- Генерация своего ключа пропускается
|
|
50
|
+
- Автоматически выполняется `chmod 600` на `.pem`-файл
|
|
51
|
+
- Публичный ключ на сервер **не копируется** (он уже добавлен провайдером)
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Предварительные требования
|
|
56
|
+
|
|
57
|
+
- Python 3.8+
|
|
58
|
+
- SSH-клиент и `ssh-keygen`
|
|
59
|
+
- (опционально) `code` CLI для VS Code Remote
|
|
60
|
+
- Для `.pem`-ключа: файл должен быть скачан и доступен на локальной машине
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Установка
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
pip install gpu-server-setup
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
После установки команда `gpu-server-setup` будет доступна в терминале.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Использование
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
gpu-server-setup [команда] [опции]
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Доступные команды
|
|
81
|
+
|
|
82
|
+
| Команда | Описание |
|
|
83
|
+
|-------------------|-----------------------------------------------|
|
|
84
|
+
| `setup` | Полная настройка (SSH + Ollama + модель + VS Code) |
|
|
85
|
+
| `ssh` | Только настройка SSH-доступа |
|
|
86
|
+
| `ollama-install` | Установка Ollama |
|
|
87
|
+
| `model-pull` | Загрузка модели |
|
|
88
|
+
| `vscode` | Открытие VS Code
|
|
89
|
+
colab |
|
|
90
|
+
| `colab` | upyter Notebook + локальный туннель
|
|
91
|
+
Remote |
|
|
92
|
+
| `plan` | Показать план действий |
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Подробное описание команд
|
|
97
|
+
|
|
98
|
+
### `gpu-setup setup` (основная команда)
|
|
99
|
+
|
|
100
|
+
**Опции:**
|
|
101
|
+
|
|
102
|
+
- `--ip` (обязательно)
|
|
103
|
+
- `--user` (обязательно)
|
|
104
|
+
- `--password` — пароль для sudo (если требуется)
|
|
105
|
+
- `--model` — модель для скачивания (например `llama3.2`)
|
|
106
|
+
- `--pem-key`, `--key-file` — путь к `.pem`-ключу от провайдера
|
|
107
|
+
- `--install-ollama` / `--no-install`
|
|
108
|
+
- `--no-vscode`
|
|
109
|
+
- `--dry-run`
|
|
110
|
+
- `--key-type` (ed25519 по умолчанию)
|
|
111
|
+
|
|
112
|
+
### `gpu-setup ssh`
|
|
113
|
+
|
|
114
|
+
Только настройка SSH по ключу.
|
|
115
|
+
|
|
116
|
+
**Опции:**
|
|
117
|
+
- `--ip`, `--user`
|
|
118
|
+
- `--password`
|
|
119
|
+
- `--pem-key`
|
|
120
|
+
- `--dry-run`
|
|
121
|
+
- `--key-type`
|
|
122
|
+
|
|
123
|
+
### `gpu-setup ollama-install`
|
|
124
|
+
|
|
125
|
+
Установка Ollama.
|
|
126
|
+
|
|
127
|
+
**Опции:**
|
|
128
|
+
- `--ip`, `--user`
|
|
129
|
+
- `--password` (если sudo требует пароль)
|
|
130
|
+
- `--pem-key`
|
|
131
|
+
- `--dry-run`
|
|
132
|
+
|
|
133
|
+
### `gpu-setup model-pull <MODEL>`
|
|
134
|
+
|
|
135
|
+
Скачивание модели.
|
|
136
|
+
|
|
137
|
+
**Пример:**
|
|
138
|
+
```bash
|
|
139
|
+
gpu-server-setup model-pull llama3.2 --ip 123.45.67.89 --user ubuntu --pem-key ~/key.pem
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Опции:**
|
|
143
|
+
- `--ip`, `--user`
|
|
144
|
+
- `--password`
|
|
145
|
+
- `--pem-key`
|
|
146
|
+
- `--dry-run`
|
|
147
|
+
|
|
148
|
+
### `gpu-setup plan`
|
|
149
|
+
|
|
150
|
+
Показывает план без выполнения.
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Примеры использования
|
|
155
|
+
|
|
156
|
+
### 1. Полная настройка со своим ключом (классический способ)
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
gpu-server-setup setup --ip 123.45.67.89 --user ubuntu --password "pass" --model llama3.2
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### 2. Полная настройка с `.pem`-ключом (самый удобный для облака)
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
gpu-server-setup setup --ip 111.11.111.111 --user ubuntu --pem-key ~/Downloads/keyname-ubuntu.pem --model llama3.2
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### 3. Только SSH с `.pem`-ключом
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
gpu-server-setup ssh --ip 111.11.111.111 --user ubuntu --pem-key ~/Downloads/keyname-ubuntu.pem
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### 4. Установка Ollama с `.pem`-ключом
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
gpu-server-setup ollama-install --ip 111.11.111.111 --user ubuntu --pem-key ~/Downloads/keyname-ubuntu.pem
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### 5. Скачивание модели (после настройки SSH)
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
gpu-server-setup model-pull gemma2:27b --ip 111.11.111.111 --user ubuntu --pem-key ~/Downloads/keyname-ubuntu.pem
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### 6. Настройка colab
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
gpu-server-setup colab --ip 123.45.67.89 --user ubuntu --pem-key ~/key.pem (или --password) --port 9999
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### 7. Просмотр плана
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
gpu-server-setup plan --ip 111.11.111.111 --user ubuntu --pem-key ~/Downloads/keyname-ubuntu.pem --model llama3.2
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Dry-run
|
|
201
|
+
|
|
202
|
+
Все команды поддерживают `--dry-run`:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
gpu-server-setup setup --ip IP --user user --pem-key key.pem --dry-run
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## Устранение неполадок
|
|
211
|
+
|
|
212
|
+
- **Ошибка при подключении** — проверьте правильность пути к `.pem`-файлу и права (`chmod 600`).
|
|
213
|
+
- **Ollama не устанавливается** — передайте `--password`, если sudo требует пароль.
|
|
214
|
+
- **VS Code не открывается** — установите `code` CLI в PATH.
|
|
215
|
+
- **"Permission denied" для ключа** — убедитесь, что выполнено `chmod 600 путь_к_ключу.pem`.
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Лицензия
|
|
220
|
+
|
|
221
|
+
MIT License.
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
```markdown
|
|
2
|
+
# Gpu-setup — один клик до удалённого GPU-сервера с Ollama и VS Code Remote
|
|
3
|
+
|
|
4
|
+
Автоматическая настройка SSH, установка [Ollama](https://ollama.com/), загрузка LLM-моделей и открытие VS Code Remote на удалённом GPU-сервере — всё одной командой.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Возможности
|
|
9
|
+
|
|
10
|
+
- Генерация SSH-ключей (ed25519 / RSA) **или** использование готового `.pem`-ключа от провайдера
|
|
11
|
+
- Автоматическое копирование публичного ключа (если используется свой ключ)
|
|
12
|
+
- Настройка `~/.ssh/config` с удобным алиасом
|
|
13
|
+
- Установка Ollama и запуск сервиса
|
|
14
|
+
- Загрузка моделей с живым выводом прогресса
|
|
15
|
+
- Автоматическое открытие VS Code Remote
|
|
16
|
+
- Полноценный Colab-режим: Jupyter Notebook + SSH-туннель на локальный порт + venv с torch
|
|
17
|
+
- Режим `--dry-run` для просмотра плана
|
|
18
|
+
- Красивый вывод с помощью `rich`
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Поддержка ключей
|
|
23
|
+
|
|
24
|
+
Скрипт поддерживает **два способа** аутентификации:
|
|
25
|
+
|
|
26
|
+
### 1. Обычный режим (генерация своего ключа)
|
|
27
|
+
Используется по умолчанию. Скрипт сам генерирует ключ и копирует его на сервер.
|
|
28
|
+
|
|
29
|
+
### 2. Режим `.pem`-ключа (для большинства облачных провайдеров)
|
|
30
|
+
Когда у вас уже есть скачанный приватный ключ (например `keyname-ubuntu.pem`).
|
|
31
|
+
|
|
32
|
+
В этом случае:
|
|
33
|
+
- Генерация своего ключа пропускается
|
|
34
|
+
- Автоматически выполняется `chmod 600` на `.pem`-файл
|
|
35
|
+
- Публичный ключ на сервер **не копируется** (он уже добавлен провайдером)
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Предварительные требования
|
|
40
|
+
|
|
41
|
+
- Python 3.8+
|
|
42
|
+
- SSH-клиент и `ssh-keygen`
|
|
43
|
+
- (опционально) `code` CLI для VS Code Remote
|
|
44
|
+
- Для `.pem`-ключа: файл должен быть скачан и доступен на локальной машине
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Установка
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
pip install gpu-server-setup
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
После установки команда `gpu-server-setup` будет доступна в терминале.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Использование
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
gpu-server-setup [команда] [опции]
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Доступные команды
|
|
65
|
+
|
|
66
|
+
| Команда | Описание |
|
|
67
|
+
|-------------------|-----------------------------------------------|
|
|
68
|
+
| `setup` | Полная настройка (SSH + Ollama + модель + VS Code) |
|
|
69
|
+
| `ssh` | Только настройка SSH-доступа |
|
|
70
|
+
| `ollama-install` | Установка Ollama |
|
|
71
|
+
| `model-pull` | Загрузка модели |
|
|
72
|
+
| `vscode` | Открытие VS Code
|
|
73
|
+
colab |
|
|
74
|
+
| `colab` | upyter Notebook + локальный туннель
|
|
75
|
+
Remote |
|
|
76
|
+
| `plan` | Показать план действий |
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Подробное описание команд
|
|
81
|
+
|
|
82
|
+
### `gpu-setup setup` (основная команда)
|
|
83
|
+
|
|
84
|
+
**Опции:**
|
|
85
|
+
|
|
86
|
+
- `--ip` (обязательно)
|
|
87
|
+
- `--user` (обязательно)
|
|
88
|
+
- `--password` — пароль для sudo (если требуется)
|
|
89
|
+
- `--model` — модель для скачивания (например `llama3.2`)
|
|
90
|
+
- `--pem-key`, `--key-file` — путь к `.pem`-ключу от провайдера
|
|
91
|
+
- `--install-ollama` / `--no-install`
|
|
92
|
+
- `--no-vscode`
|
|
93
|
+
- `--dry-run`
|
|
94
|
+
- `--key-type` (ed25519 по умолчанию)
|
|
95
|
+
|
|
96
|
+
### `gpu-setup ssh`
|
|
97
|
+
|
|
98
|
+
Только настройка SSH по ключу.
|
|
99
|
+
|
|
100
|
+
**Опции:**
|
|
101
|
+
- `--ip`, `--user`
|
|
102
|
+
- `--password`
|
|
103
|
+
- `--pem-key`
|
|
104
|
+
- `--dry-run`
|
|
105
|
+
- `--key-type`
|
|
106
|
+
|
|
107
|
+
### `gpu-setup ollama-install`
|
|
108
|
+
|
|
109
|
+
Установка Ollama.
|
|
110
|
+
|
|
111
|
+
**Опции:**
|
|
112
|
+
- `--ip`, `--user`
|
|
113
|
+
- `--password` (если sudo требует пароль)
|
|
114
|
+
- `--pem-key`
|
|
115
|
+
- `--dry-run`
|
|
116
|
+
|
|
117
|
+
### `gpu-setup model-pull <MODEL>`
|
|
118
|
+
|
|
119
|
+
Скачивание модели.
|
|
120
|
+
|
|
121
|
+
**Пример:**
|
|
122
|
+
```bash
|
|
123
|
+
gpu-server-setup model-pull llama3.2 --ip 123.45.67.89 --user ubuntu --pem-key ~/key.pem
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**Опции:**
|
|
127
|
+
- `--ip`, `--user`
|
|
128
|
+
- `--password`
|
|
129
|
+
- `--pem-key`
|
|
130
|
+
- `--dry-run`
|
|
131
|
+
|
|
132
|
+
### `gpu-setup plan`
|
|
133
|
+
|
|
134
|
+
Показывает план без выполнения.
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Примеры использования
|
|
139
|
+
|
|
140
|
+
### 1. Полная настройка со своим ключом (классический способ)
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
gpu-server-setup setup --ip 123.45.67.89 --user ubuntu --password "pass" --model llama3.2
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### 2. Полная настройка с `.pem`-ключом (самый удобный для облака)
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
gpu-server-setup setup --ip 111.11.111.111 --user ubuntu --pem-key ~/Downloads/keyname-ubuntu.pem --model llama3.2
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### 3. Только SSH с `.pem`-ключом
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
gpu-server-setup ssh --ip 111.11.111.111 --user ubuntu --pem-key ~/Downloads/keyname-ubuntu.pem
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### 4. Установка Ollama с `.pem`-ключом
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
gpu-server-setup ollama-install --ip 111.11.111.111 --user ubuntu --pem-key ~/Downloads/keyname-ubuntu.pem
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
### 5. Скачивание модели (после настройки SSH)
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
gpu-server-setup model-pull gemma2:27b --ip 111.11.111.111 --user ubuntu --pem-key ~/Downloads/keyname-ubuntu.pem
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### 6. Настройка colab
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
gpu-server-setup colab --ip 123.45.67.89 --user ubuntu --pem-key ~/key.pem (или --password) --port 9999
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### 7. Просмотр плана
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
gpu-server-setup plan --ip 111.11.111.111 --user ubuntu --pem-key ~/Downloads/keyname-ubuntu.pem --model llama3.2
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Dry-run
|
|
185
|
+
|
|
186
|
+
Все команды поддерживают `--dry-run`:
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
gpu-server-setup setup --ip IP --user user --pem-key key.pem --dry-run
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Устранение неполадок
|
|
195
|
+
|
|
196
|
+
- **Ошибка при подключении** — проверьте правильность пути к `.pem`-файлу и права (`chmod 600`).
|
|
197
|
+
- **Ollama не устанавливается** — передайте `--password`, если sudo требует пароль.
|
|
198
|
+
- **VS Code не открывается** — установите `code` CLI в PATH.
|
|
199
|
+
- **"Permission denied" для ключа** — убедитесь, что выполнено `chmod 600 путь_к_ключу.pem`.
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## Лицензия
|
|
204
|
+
|
|
205
|
+
MIT License.
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: gpu-server-setup
|
|
3
|
+
Version: 0.4.9
|
|
4
|
+
Summary: Один клик — удалённый GPU-сервер с Ollama + VS Code Remote
|
|
5
|
+
Author: The Fool
|
|
6
|
+
License: MIT
|
|
7
|
+
Requires-Python: >=3.9
|
|
8
|
+
Description-Content-Type: text/markdown
|
|
9
|
+
License-File: LICENSE
|
|
10
|
+
Requires-Dist: typer[all]>=0.12
|
|
11
|
+
Requires-Dist: rich>=13.7
|
|
12
|
+
Requires-Dist: paramiko>=3.4
|
|
13
|
+
Requires-Dist: pydantic-settings>=2.5
|
|
14
|
+
Requires-Dist: tomli>=2.0; python_version >= "3.9"
|
|
15
|
+
Dynamic: license-file
|
|
16
|
+
|
|
17
|
+
```markdown
|
|
18
|
+
# Gpu-setup — один клик до удалённого GPU-сервера с Ollama и VS Code Remote
|
|
19
|
+
|
|
20
|
+
Автоматическая настройка SSH, установка [Ollama](https://ollama.com/), загрузка LLM-моделей и открытие VS Code Remote на удалённом GPU-сервере — всё одной командой.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Возможности
|
|
25
|
+
|
|
26
|
+
- Генерация SSH-ключей (ed25519 / RSA) **или** использование готового `.pem`-ключа от провайдера
|
|
27
|
+
- Автоматическое копирование публичного ключа (если используется свой ключ)
|
|
28
|
+
- Настройка `~/.ssh/config` с удобным алиасом
|
|
29
|
+
- Установка Ollama и запуск сервиса
|
|
30
|
+
- Загрузка моделей с живым выводом прогресса
|
|
31
|
+
- Автоматическое открытие VS Code Remote
|
|
32
|
+
- Полноценный Colab-режим: Jupyter Notebook + SSH-туннель на локальный порт + venv с torch
|
|
33
|
+
- Режим `--dry-run` для просмотра плана
|
|
34
|
+
- Красивый вывод с помощью `rich`
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Поддержка ключей
|
|
39
|
+
|
|
40
|
+
Скрипт поддерживает **два способа** аутентификации:
|
|
41
|
+
|
|
42
|
+
### 1. Обычный режим (генерация своего ключа)
|
|
43
|
+
Используется по умолчанию. Скрипт сам генерирует ключ и копирует его на сервер.
|
|
44
|
+
|
|
45
|
+
### 2. Режим `.pem`-ключа (для большинства облачных провайдеров)
|
|
46
|
+
Когда у вас уже есть скачанный приватный ключ (например `keyname-ubuntu.pem`).
|
|
47
|
+
|
|
48
|
+
В этом случае:
|
|
49
|
+
- Генерация своего ключа пропускается
|
|
50
|
+
- Автоматически выполняется `chmod 600` на `.pem`-файл
|
|
51
|
+
- Публичный ключ на сервер **не копируется** (он уже добавлен провайдером)
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Предварительные требования
|
|
56
|
+
|
|
57
|
+
- Python 3.8+
|
|
58
|
+
- SSH-клиент и `ssh-keygen`
|
|
59
|
+
- (опционально) `code` CLI для VS Code Remote
|
|
60
|
+
- Для `.pem`-ключа: файл должен быть скачан и доступен на локальной машине
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Установка
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
pip install gpu-server-setup
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
После установки команда `gpu-server-setup` будет доступна в терминале.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Использование
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
gpu-server-setup [команда] [опции]
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Доступные команды
|
|
81
|
+
|
|
82
|
+
| Команда | Описание |
|
|
83
|
+
|-------------------|-----------------------------------------------|
|
|
84
|
+
| `setup` | Полная настройка (SSH + Ollama + модель + VS Code) |
|
|
85
|
+
| `ssh` | Только настройка SSH-доступа |
|
|
86
|
+
| `ollama-install` | Установка Ollama |
|
|
87
|
+
| `model-pull` | Загрузка модели |
|
|
88
|
+
| `vscode` | Открытие VS Code
|
|
89
|
+
colab |
|
|
90
|
+
| `colab` | upyter Notebook + локальный туннель
|
|
91
|
+
Remote |
|
|
92
|
+
| `plan` | Показать план действий |
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Подробное описание команд
|
|
97
|
+
|
|
98
|
+
### `gpu-setup setup` (основная команда)
|
|
99
|
+
|
|
100
|
+
**Опции:**
|
|
101
|
+
|
|
102
|
+
- `--ip` (обязательно)
|
|
103
|
+
- `--user` (обязательно)
|
|
104
|
+
- `--password` — пароль для sudo (если требуется)
|
|
105
|
+
- `--model` — модель для скачивания (например `llama3.2`)
|
|
106
|
+
- `--pem-key`, `--key-file` — путь к `.pem`-ключу от провайдера
|
|
107
|
+
- `--install-ollama` / `--no-install`
|
|
108
|
+
- `--no-vscode`
|
|
109
|
+
- `--dry-run`
|
|
110
|
+
- `--key-type` (ed25519 по умолчанию)
|
|
111
|
+
|
|
112
|
+
### `gpu-setup ssh`
|
|
113
|
+
|
|
114
|
+
Только настройка SSH по ключу.
|
|
115
|
+
|
|
116
|
+
**Опции:**
|
|
117
|
+
- `--ip`, `--user`
|
|
118
|
+
- `--password`
|
|
119
|
+
- `--pem-key`
|
|
120
|
+
- `--dry-run`
|
|
121
|
+
- `--key-type`
|
|
122
|
+
|
|
123
|
+
### `gpu-setup ollama-install`
|
|
124
|
+
|
|
125
|
+
Установка Ollama.
|
|
126
|
+
|
|
127
|
+
**Опции:**
|
|
128
|
+
- `--ip`, `--user`
|
|
129
|
+
- `--password` (если sudo требует пароль)
|
|
130
|
+
- `--pem-key`
|
|
131
|
+
- `--dry-run`
|
|
132
|
+
|
|
133
|
+
### `gpu-setup model-pull <MODEL>`
|
|
134
|
+
|
|
135
|
+
Скачивание модели.
|
|
136
|
+
|
|
137
|
+
**Пример:**
|
|
138
|
+
```bash
|
|
139
|
+
gpu-server-setup model-pull llama3.2 --ip 123.45.67.89 --user ubuntu --pem-key ~/key.pem
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Опции:**
|
|
143
|
+
- `--ip`, `--user`
|
|
144
|
+
- `--password`
|
|
145
|
+
- `--pem-key`
|
|
146
|
+
- `--dry-run`
|
|
147
|
+
|
|
148
|
+
### `gpu-setup plan`
|
|
149
|
+
|
|
150
|
+
Показывает план без выполнения.
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Примеры использования
|
|
155
|
+
|
|
156
|
+
### 1. Полная настройка со своим ключом (классический способ)
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
gpu-server-setup setup --ip 123.45.67.89 --user ubuntu --password "pass" --model llama3.2
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### 2. Полная настройка с `.pem`-ключом (самый удобный для облака)
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
gpu-server-setup setup --ip 111.11.111.111 --user ubuntu --pem-key ~/Downloads/keyname-ubuntu.pem --model llama3.2
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### 3. Только SSH с `.pem`-ключом
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
gpu-server-setup ssh --ip 111.11.111.111 --user ubuntu --pem-key ~/Downloads/keyname-ubuntu.pem
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### 4. Установка Ollama с `.pem`-ключом
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
gpu-server-setup ollama-install --ip 111.11.111.111 --user ubuntu --pem-key ~/Downloads/keyname-ubuntu.pem
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### 5. Скачивание модели (после настройки SSH)
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
gpu-server-setup model-pull gemma2:27b --ip 111.11.111.111 --user ubuntu --pem-key ~/Downloads/keyname-ubuntu.pem
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### 6. Настройка colab
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
gpu-server-setup colab --ip 123.45.67.89 --user ubuntu --pem-key ~/key.pem (или --password) --port 9999
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### 7. Просмотр плана
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
gpu-server-setup plan --ip 111.11.111.111 --user ubuntu --pem-key ~/Downloads/keyname-ubuntu.pem --model llama3.2
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Dry-run
|
|
201
|
+
|
|
202
|
+
Все команды поддерживают `--dry-run`:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
gpu-server-setup setup --ip IP --user user --pem-key key.pem --dry-run
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## Устранение неполадок
|
|
211
|
+
|
|
212
|
+
- **Ошибка при подключении** — проверьте правильность пути к `.pem`-файлу и права (`chmod 600`).
|
|
213
|
+
- **Ollama не устанавливается** — передайте `--password`, если sudo требует пароль.
|
|
214
|
+
- **VS Code не открывается** — установите `code` CLI в PATH.
|
|
215
|
+
- **"Permission denied" для ключа** — убедитесь, что выполнено `chmod 600 путь_к_ключу.pem`.
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Лицензия
|
|
220
|
+
|
|
221
|
+
MIT License.
|