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
|
```sh
|
||||||
podman logs -f olcrtc-server # на сервере
|
podman ps --filter name=olcrtc
|
||||||
podman logs -f olcrtc-client # на клиенте
|
podman logs -f olcrtc-server-xxxxxxxx # на сервере
|
||||||
|
podman logs -f olcrtc-client-xxxxxxxx # на клиенте
|
||||||
```
|
```
|
||||||
|
|
||||||
### Остановить
|
### Остановить
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
podman stop olcrtc-server
|
podman ps --filter name=olcrtc
|
||||||
podman stop olcrtc-client
|
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 сервера.
|
Должен вернуть 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 таргеты
|
## Все mage таргеты
|
||||||
|
|||||||
Reference in New Issue
Block a user