Files
olcrtc/docs/docker.md
T
2026-05-24 05:09:55 +04:00

105 lines
3.9 KiB
Markdown

# Локальная настройка 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`.