mirror of
https://github.com/openlibrecommunity/olcrtc.git
synced 2026-06-01 22:18:52 +02:00
docs: add update/restart instructions to fast and manual guides
This commit is contained in:
+59
-5
@@ -311,20 +311,74 @@ curl https://icanhazip.com
|
||||
### Логи
|
||||
|
||||
```sh
|
||||
podman logs -f olcrtc-server # на сервере
|
||||
podman logs -f olcrtc-client # на клиенте
|
||||
podman ps --filter name=olcrtc
|
||||
podman logs -f olcrtc-server-xxxxxxxx # на сервере
|
||||
podman logs -f olcrtc-client-xxxxxxxx # на клиенте
|
||||
```
|
||||
|
||||
### Остановить
|
||||
|
||||
```sh
|
||||
podman stop olcrtc-server
|
||||
podman stop olcrtc-client
|
||||
podman ps --filter name=olcrtc
|
||||
podman stop olcrtc-server-xxxxxxxx
|
||||
podman stop olcrtc-client-xxxxxxxx
|
||||
```
|
||||
|
||||
### Перезапустить (просто запусти скрипт снова)
|
||||
|
||||
Скрипт сам останавливает старый контейнер перед стартом нового.
|
||||
Скрипты создают новый контейнер с уникальным именем. Если нужно заменить старый инстанс, сначала останови его через `podman stop`, затем запусти скрипт заново.
|
||||
|
||||
---
|
||||
|
||||
## Обновить уже запущенный инстанс
|
||||
|
||||
Уже запущенный контейнер сам не обновляется: внутри него остаётся бинарник, который был собран на момент запуска. Чтобы перейти на актуальный код из репозитория, останови старый контейнер и запусти скрипт заново.
|
||||
|
||||
### 1. Обновить локальную копию репозитория
|
||||
|
||||
```sh
|
||||
cd olcrtc
|
||||
git pull --recurse-submodules
|
||||
```
|
||||
|
||||
Это обновляет локальные скрипты `script/srv.sh` и `script/cnc.sh`. Сами скрипты при запуске всё равно клонируют актуальный `master` и собирают бинарник заново.
|
||||
|
||||
### 2. Остановить старый контейнер
|
||||
|
||||
Посмотреть запущенные инстансы:
|
||||
|
||||
```sh
|
||||
podman ps --filter name=olcrtc
|
||||
```
|
||||
|
||||
Остановить нужный сервер или клиент:
|
||||
|
||||
```sh
|
||||
podman stop olcrtc-server-xxxxxxxx
|
||||
podman stop olcrtc-client-xxxxxxxx
|
||||
```
|
||||
|
||||
Если нужно остановить все olcrtc-контейнеры на машине:
|
||||
|
||||
```sh
|
||||
podman stop $(podman ps -q --filter name=olcrtc)
|
||||
```
|
||||
|
||||
### 3. Запустить заново
|
||||
|
||||
Сервер:
|
||||
|
||||
```sh
|
||||
./script/srv.sh --no-cache
|
||||
```
|
||||
|
||||
Клиент:
|
||||
|
||||
```sh
|
||||
./script/cnc.sh --no-cache
|
||||
```
|
||||
|
||||
`--no-cache` не обязателен, но полезен после обновления: Go-модули и build-cache будут очищены, и бинарник точно соберётся с нуля. При повторном запуске укажи те же `auth`, `transport`, `room ID` и ключ, что были у старого инстанса. Серверный ключ хранится в `~/.olcrtc_key`, поэтому `srv.sh` переиспользует его автоматически.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -327,6 +327,98 @@ curl --socks5-hostname 127.0.0.1:8808 https://icanhazip.com
|
||||
Должен вернуть IP сервера.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Обновить бинарник и уже запущенный инстанс
|
||||
|
||||
Запущенный процесс сам не обновляется: он продолжает работать со старым бинарником, даже если репозиторий уже обновлён. Нужно скачать свежий код, пересобрать бинарник и перезапустить процесс или systemd-сервис.
|
||||
|
||||
### 1. Обновить репозиторий
|
||||
|
||||
```sh
|
||||
cd olcrtc
|
||||
git pull --recurse-submodules
|
||||
```
|
||||
|
||||
Если работаешь не с `master`, сначала переключись на нужную ветку:
|
||||
|
||||
```sh
|
||||
git switch dev
|
||||
git pull --recurse-submodules
|
||||
```
|
||||
|
||||
### 2. Пересобрать бинарник
|
||||
|
||||
```sh
|
||||
mage build
|
||||
```
|
||||
|
||||
Для текущей Linux-машины результат обычно будет здесь:
|
||||
|
||||
```sh
|
||||
build/olcrtc-linux-amd64
|
||||
```
|
||||
|
||||
Для другой архитектуры смотри имя файла в `build/` или собирай все платформы сразу:
|
||||
|
||||
```sh
|
||||
mage cross
|
||||
ls build/
|
||||
```
|
||||
|
||||
### 3. Остановить старый процесс
|
||||
|
||||
Если запускал вручную в терминале - останови его через `Ctrl+C`.
|
||||
|
||||
Если процесс запущен в фоне, найди его:
|
||||
|
||||
```sh
|
||||
pgrep -af olcrtc
|
||||
```
|
||||
|
||||
И останови нужный PID:
|
||||
|
||||
```sh
|
||||
kill <pid>
|
||||
```
|
||||
|
||||
Если olcrtc запущен через systemd, останавливать руками не нужно - достаточно рестарта сервиса после обновления бинарника.
|
||||
|
||||
### 4. Заменить бинарник, если он лежит вне `build/`
|
||||
|
||||
Если запускаешь прямо из `build/`, этот шаг не нужен.
|
||||
|
||||
Если копировал бинарник в системный путь, обнови копию:
|
||||
|
||||
```sh
|
||||
sudo install -m 0755 build/olcrtc-linux-amd64 /usr/local/bin/olcrtc
|
||||
```
|
||||
|
||||
Путь и имя файла могут отличаться, если машина не `linux/amd64`.
|
||||
|
||||
### 5. Запустить заново с тем же конфигом
|
||||
|
||||
Сервер:
|
||||
|
||||
```sh
|
||||
./build/olcrtc-linux-amd64 server.yaml
|
||||
```
|
||||
|
||||
Клиент:
|
||||
|
||||
```sh
|
||||
./build/olcrtc-linux-amd64 client.yaml
|
||||
```
|
||||
|
||||
Если используешь systemd:
|
||||
|
||||
```sh
|
||||
sudo systemctl restart olcrtc-server
|
||||
sudo systemctl restart olcrtc-client
|
||||
```
|
||||
|
||||
Имена сервисов зависят от того, как ты их создавал. Конфиги менять не нужно, если `auth`, `transport`, `room ID`, ключ и SOCKS5-порт остаются прежними.
|
||||
|
||||
---
|
||||
|
||||
## Все mage таргеты
|
||||
|
||||
Reference in New Issue
Block a user