No puede seleccionar más de 25 temas
Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
|
- #!/usr/bin/env bash
- set -euo pipefail
-
- IMAGE_TAR="${1:-yzx-oa-sfu_0.1.0-live_linux-amd64.tar}"
- IMAGE_NAME="${SFU_IMAGE:-yzx-oa-sfu:0.1.0-live}"
- CONTAINER_NAME="${CONTAINER_NAME:-yzx-oa-sfu}"
-
- get_env() {
- local key="$1"
- local default_value="$2"
- local line value
-
- line="$(grep -E "^${key}=" .env | tail -n 1 || true)"
- value="${line#*=}"
- value="${value%$'\r'}"
- value="${value#\'}"
- value="${value%\'}"
- value="${value#\"}"
- value="${value%\"}"
-
- if [ -n "$value" ]; then
- printf "%s" "$value"
- else
- printf "%s" "$default_value"
- fi
- }
-
- if [ ! -f ".env" ]; then
- echo "Missing .env in current directory." >&2
- exit 1
- fi
-
- docker load -i "$IMAGE_TAR"
-
- if docker compose version >/dev/null 2>&1; then
- SFU_IMAGE="$IMAGE_NAME" docker compose -f docker-compose.image.yml up -d
- docker compose -f docker-compose.image.yml ps
- elif command -v docker-compose >/dev/null 2>&1; then
- SFU_IMAGE="$IMAGE_NAME" docker-compose -f docker-compose.image.yml up -d
- docker-compose -f docker-compose.image.yml ps
- else
- PORT="$(get_env PORT 4443)"
- RTC_MIN_PORT="$(get_env MEDIASOUP_RTC_MIN_PORT 40000)"
- RTC_MAX_PORT="$(get_env MEDIASOUP_RTC_MAX_PORT 40100)"
-
- docker rm -f "$CONTAINER_NAME" 2>/dev/null || true
- docker run -d \
- --name "$CONTAINER_NAME" \
- --restart unless-stopped \
- --security-opt seccomp=unconfined \
- --env-file .env \
- -p "${PORT}:${PORT}/tcp" \
- -p "${RTC_MIN_PORT}-${RTC_MAX_PORT}:${RTC_MIN_PORT}-${RTC_MAX_PORT}/udp" \
- -p "${RTC_MIN_PORT}-${RTC_MAX_PORT}:${RTC_MIN_PORT}-${RTC_MAX_PORT}/tcp" \
- "$IMAGE_NAME"
- docker ps --filter "name=${CONTAINER_NAME}"
- fi
|