mirror of
https://github.com/openlibrecommunity/olcrtc.git
synced 2026-05-26 15:13:40 +00:00
Merge pull request #68 from YuriySamorodov/docker-local-20260523
(feat) Local Docker instructions
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,3 +1,6 @@
|
||||
# Local Server Settings
|
||||
.local
|
||||
|
||||
# Prerequisites
|
||||
*.d
|
||||
.DS_Store
|
||||
@@ -143,6 +146,7 @@ web_modules/
|
||||
.env
|
||||
.env.*
|
||||
!.env.example
|
||||
!docs/examples/.env.telemost.server.example
|
||||
|
||||
# parcel-bundler cache (https://parceljs.org/)
|
||||
.cache
|
||||
|
||||
104
docs/docker.md
Normal file
104
docs/docker.md
Normal file
@@ -0,0 +1,104 @@
|
||||
# Локальная настройка Docker
|
||||
|
||||
Здесь описан один из способов запуска сервера olcrtc с локальной конфигурацией Docker.
|
||||
|
||||
## Идея
|
||||
|
||||
- держать изменяемые Docker-файлы в скрытой папке `.local`
|
||||
- хранить конфигурационные файлы вне Git, в папке `.local`
|
||||
- позволять пользователям обновлять репозиторий обычным `git pull`
|
||||
|
||||
## 1. Клонирование репозитория
|
||||
|
||||
```bash
|
||||
git clone https://github.com/openlibrecommunity/olcrtc.git
|
||||
cd olcrtc
|
||||
```
|
||||
|
||||
## 2. Обновление до последней версии
|
||||
|
||||
Чтобы получить новую версию из upstream, выполните команду ниже:
|
||||
|
||||
```bash
|
||||
git pull https://github.com/openlibrecommunity/olcrtc.git -recurse-submodules
|
||||
```
|
||||
|
||||
## 3. Папка для локальных конфигураций
|
||||
|
||||
Создайте директорию `.local` в корне репозитория:
|
||||
|
||||
```bash
|
||||
mkdir -p .local
|
||||
```
|
||||
|
||||
Эта папка должна содержать файлы, которые будут использоваться только на вашей сервере.
|
||||
|
||||
## 4. Скопируйте docker-compose.yml в `.local`
|
||||
|
||||
Скопируйте файл ``docker-compose.yml`` (есть в репозитории), чтобы ваша локальная версия не перезаписывалась при следующем обноволении репозитория через ``git pull``:
|
||||
|
||||
```bash
|
||||
cp docker-compose.server.yml .local/docker-compose.server.yml
|
||||
```
|
||||
|
||||
Если файл `docker-compose.yml` позже изменится, скопируйте его снова этой же командой после `git pull`.
|
||||
|
||||
## 5. Создайте локальный файл окружения
|
||||
|
||||
Создайте `.local/.env` и заполните значения выполнения в соответствии с выбранным типом подключения.
|
||||
|
||||
Пример можно найти в `docs/examples/.env.telemost.server.example`.
|
||||
|
||||
## 6. Запуск OLCRTC
|
||||
|
||||
Запуск контейнеризированного сервера используя ``docker-compose.server.yml`` и локальный ``.env``:
|
||||
|
||||
```bash
|
||||
docker compose -f .local/docker-compose.server.yml --env-file .local/.env up -d
|
||||
```
|
||||
|
||||
Проверка состояния контейнера:
|
||||
|
||||
```bash
|
||||
docker compose -f .local/docker-compose.server.yml --env-file .local/.env ps
|
||||
```
|
||||
|
||||
Просмотр логов контейнера:
|
||||
|
||||
```bash
|
||||
docker compose -f .local/docker-compose.server.yml --env-file .local/.env logs -f
|
||||
docker logs olcrtc-server
|
||||
```
|
||||
|
||||
## 7. Обновление контейнера
|
||||
|
||||
Запустить команду ниже для получения новой версии репозитория из облака:
|
||||
|
||||
```bash
|
||||
git pull https://github.com/openlibrecommunity/olcrtc.git
|
||||
```
|
||||
|
||||
После каждого обновления сравните новый и старый файл:
|
||||
|
||||
```bash
|
||||
diff -wy .local/docker-compose.yml docker-compose.server.yml
|
||||
```
|
||||
|
||||
Если есть отличия скопируйте файл из корня в папку ``.local``:
|
||||
|
||||
```bash
|
||||
cp docker-compose.server.yml .local/docker-compose.server.yml
|
||||
```
|
||||
|
||||
Затем перезапустите контейнер командами ниже:
|
||||
|
||||
```bash
|
||||
docker compose -f .local/docker-compose.server.yml down
|
||||
docker compose -f .local/docker-compose.server.yml --env-file .local/.env up -d
|
||||
```
|
||||
|
||||
## Примечания
|
||||
|
||||
- Храните все локальные Docker-файлы внутри отдельной папки `.local`.
|
||||
- Не добавляйте `.local` в репозиторий (она должна быть в файле ``.gitignore``)
|
||||
- Держите общую документацию в `docs/`, а специфичные настройки в `.local`.
|
||||
37
docs/examples/.env.telemost.server.example
Normal file
37
docs/examples/.env.telemost.server.example
Normal file
@@ -0,0 +1,37 @@
|
||||
OLCRTC_MODE=srv
|
||||
OLCRTC_CARRIER=telemost
|
||||
OLCRTC_TRANSPORT=vp8channel
|
||||
|
||||
# Telemost-specific session values.
|
||||
OLCRTC_ROOM_ID=12345678901234
|
||||
OLCRTC_CLIENT_ID=default
|
||||
OLCRTC_KEY=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
|
||||
OLCRTC_KEY_FILE=/var/lib/olcrtc/key.hex
|
||||
|
||||
# Network and runtime defaults used by the server compose.
|
||||
OLCRTC_DNS=8.8.8.8:53
|
||||
OLCRTC_SOCKS_PROXY=
|
||||
OLCRTC_SOCKS_PROXY_PORT=1080
|
||||
OLCRTC_DEBUG=false
|
||||
|
||||
# Video-channel settings accepted by docker-compose.server.yml.
|
||||
OLCRTC_VIDEO_W=0
|
||||
OLCRTC_VIDEO_H=0
|
||||
OLCRTC_VIDEO_FPS=0
|
||||
OLCRTC_VIDEO_BITRATE=
|
||||
OLCRTC_VIDEO_HW=none
|
||||
OLCRTC_VIDEO_CODEC=qrcode
|
||||
OLCRTC_VIDEO_QR_SIZE=0
|
||||
OLCRTC_VIDEO_QR_RECOVERY=low
|
||||
OLCRTC_VIDEO_TILE_MODULE=0
|
||||
OLCRTC_VIDEO_TILE_RS=0
|
||||
|
||||
# VP8 transport settings.
|
||||
OLCRTC_VP8_FPS=60
|
||||
OLCRTC_VP8_BATCH=64
|
||||
|
||||
# SEI transport settings.
|
||||
OLCRTC_SEI_FPS=0
|
||||
OLCRTC_SEI_BATCH=0
|
||||
OLCRTC_SEI_FRAG=0
|
||||
OLCRTC_SEI_ACK=0
|
||||
Reference in New Issue
Block a user