Merge pull request #68 from YuriySamorodov/docker-local-20260523

(feat) Local Docker instructions
This commit is contained in:
zarazaex
2026-05-24 04:54:14 +03:00
committed by GitHub
4 changed files with 147 additions and 0 deletions

4
.gitignore vendored
View File

@@ -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
View 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`.

View 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

View File

@@ -37,6 +37,8 @@ Community ui client: [alananisimov/olcbox](https://github.com/alananisimov/olcbo
[More info](docs/about.md)
[Docker setup](docs/docker.md)
[Client URI format](docs/uri.md)
[Client subscription format](docs/sub.md)