forked from selkies-project/selkies-gstreamer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yaml
81 lines (71 loc) · 2.65 KB
/
docker-compose.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
version: "3.9"
services:
dist:
image: selkies-gstreamer-py-build
build:
context: .
dockerfile: Dockerfile
args:
PYPI_PACKAGE: selkies-gstreamer
PACKAGE_VERSION: 0.0.0.dev0
web:
image: gst-web
build:
context: ./addons/gst-web
dockerfile: Dockerfile
test:
###
# NOTE: export the UBUNTU_RELEASE env var to change the base image during build and run.
###
image: selkies-gstreamer-example:latest-ubuntu${UBUNTU_RELEASE:-22.04}
entrypoint: ["/tini", "--", "/bin/bash"]
build:
context: .
dockerfile: Dockerfile.example
args:
UBUNTU_RELEASE: ${UBUNTU_RELEASE:-22.04}
# Testing with gstreamer build in-repo:
# 1. (cd addons/gstreamer && docker build --build-arg UBUNTU_RELEASE=${UBUNTU_RELEASE?} -t gstreamer:latest-ubuntu${UBUNTU_RELEASE?} .)
# 2. export GSTREAMER_BASE_IMAGE=gstreamer
# 3. docker-compose build test
GSTREAMER_BASE_IMAGE: ${GSTREAMER_BASE_IMAGE:-ghcr.io/selkies-project/selkies-gstreamer/gstreamer}
GSTREAMER_BASE_IMAGE_RELEASE: ${GSTREAMER_BASE_IMAGE_RELEASE:-main}
PY_BUILD_IMAGE: selkies-gstreamer-py-build:latest
WEB_IMAGE: gst-web:latest
PYPI_PACKAGE: selkies_gstreamer
PACKAGE_VERSION: 0.0.0.dev0
environment:
# Basic authentication
ENABLE_BASIC_AUTH: ${ENABLE_BASIC_AUTH}
BASIC_AUTH_USER: ${BASIC_AUTH_USER}
BASIC_AUTH_PASSWORD: ${BASIC_AUTH_PASSWORD}
# TURN with shared secret or user/pass
TURN_SHARED_SECRET: ${TURN_SHARED_SECRET}
TURN_HOST: ${TURN_HOST}
TURN_PORT: ${TURN_PORT}
TURN_USERNAME: ${TURN_USERNAME}
TURN_PASSWORD: ${TURN_PASSWORD}
# Turn with coTURN web
COTURN_WEB_URI: ${COTURN_WEB_URI}
COTURN_WEB_USERNAME: ${COTURN_WEB_USERNAME}
COTURN_AUTH_HEADER_NAME: ${COTURN_AUTH_HEADER_NAME}
# Additional server-side settings.
WEBRTC_ENABLE_RESIZE: ${WEBRTC_ENABLE_RESIZE}
# DEBUG remote cursors
WEBRTC_DEBUG_CURSORS: ${WEBRTC_DEBUG_CURSORS:-false}
# Start full XFCE4 session, vs just X11 server.
START_XFCE4: ${START_XFCE4:-true}
ports:
- "8080:8080"
volumes:
- type: bind
source: ./src/selkies_gstreamer
# Change python3.8 to python3.10 in 22.04
target: /usr/local/lib/python3.8/dist-packages/selkies_gstreamer
read_only: true
# Configure for interactive session
stdin_open: true
tty: true