Files
olcrtc/docs/docker.md
2026-05-25 05:00:53 +03:00

4.5 KiB
Raw Blame History

License Golang

Локальная настройка Docker

Здесь описан один из способов запуска сервера olcrtc с локальной конфигурацией Docker.

Идея

  • держать изменяемые Docker-файлы в скрытой папке .local
  • хранить конфигурационные файлы вне Git, в папке .local
  • позволять пользователям обновлять репозиторий обычным git pull

Шаг 1: Клонирование репозитория

git clone https://github.com/openlibrecommunity/olcrtc.git
cd olcrtc

Шаг 2: Обновление до последней версии

Чтобы получить новую версию из upstream:

git pull https://github.com/openlibrecommunity/olcrtc.git --recurse-submodules

Шаг 3: Папка для локальных конфигураций

Создайте директорию .local в корне репозитория:

mkdir -p .local

Эта папка должна содержать файлы, которые будут использоваться только на вашем сервере.


Шаг 4: Скопируйте docker-compose.yml в .local

Скопируйте файл docker-compose.server.yml, чтобы ваша локальная версия не перезаписывалась при следующем обновлении репозитория через git pull:

cp docker-compose.server.yml .local/docker-compose.server.yml

Если файл docker-compose.server.yml позже изменится, скопируйте его снова этой же командой после git pull.


Шаг 5: Создайте локальный файл окружения

Создайте .local/.env и заполните значения в соответствии с выбранным типом подключения.

Пример можно найти в docs/examples/.env.telemost.server.example.


Шаг 6: Запуск OLCRTC

Запуск контейнеризированного сервера используя docker-compose.server.yml и локальный .env:

docker compose -f .local/docker-compose.server.yml --env-file .local/.env up -d

Проверка состояния контейнера:

docker compose -f .local/docker-compose.server.yml --env-file .local/.env ps

Просмотр логов контейнера:

docker compose -f .local/docker-compose.server.yml --env-file .local/.env logs -f
docker logs olcrtc-server

Шаг 7: Обновление контейнера

Получите новую версию репозитория:

git pull https://github.com/openlibrecommunity/olcrtc.git

После каждого обновления сравните новый и старый файл:

diff -wy .local/docker-compose.server.yml docker-compose.server.yml

Если есть отличия, скопируйте файл из корня в папку .local:

cp docker-compose.server.yml .local/docker-compose.server.yml

Затем перезапустите контейнер:

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.

Используешь скрипты вместо Docker? -> Быстрый старт

Хочешь собрать руками без контейнеров? -> Мануальная сборка

Все настройки и матрица совместимости -> settings.md