Compare commits
64 Commits
remote_set
...
67ec78b44e
Author | SHA1 | Date | |
---|---|---|---|
67ec78b44e | |||
0d926c760b | |||
23b5979b43 | |||
5859a66110 | |||
54106dc484 | |||
f7545b7ce6 | |||
ae0c70f1d2 | |||
34322b44f2 | |||
62f3bc7e25 | |||
29fbb35699 | |||
d13f9848b9 | |||
b451f1794c | |||
b7cb95cacb | |||
af4f411222 | |||
52951c909a | |||
2401458db3 | |||
91451e2fd5 | |||
3fa7f9e930 | |||
8ffa30b17d | |||
ca3a126691 | |||
79061ab73e | |||
c2c08401cc | |||
d39c11cb89 | |||
232cb23bf9 | |||
f3f1ef7b87 | |||
42ac20d0a5 | |||
ede5d30aab | |||
6ea492244a | |||
f8fda83d3e | |||
981993197b | |||
51e31ed336 | |||
bbd2680e24 | |||
c9d0988954 | |||
3e2e267b63 | |||
e35f58ed06 | |||
7ffd6b8638 | |||
c1995fb9b6 | |||
c3213609a2 | |||
dc18e19d2d | |||
a8d5d30860 | |||
f801da71f0 | |||
81e972fe38 | |||
d36559a730 | |||
9d77dbd852 | |||
6313799d56 | |||
a8e15141e7 | |||
e504002bd2 | |||
b3441aa8a9 | |||
742807c77f | |||
d8ff0b67f3 | |||
4bef286f43 | |||
e6a53c0f90 | |||
4e90038674 | |||
36aab6d41a | |||
4116f9fc1d | |||
66ed1f76d9 | |||
3c7b1b29c1 | |||
994324d812 | |||
e3fbe0d281 | |||
8a6433406d | |||
434e66c95e | |||
d66f34936b | |||
6105b70fbf | |||
51db14c505 |
@ -37,7 +37,6 @@ services:
|
|||||||
- ${NEXTCLOUD_ROOT}/redis:/data
|
- ${NEXTCLOUD_ROOT}/redis:/data
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- /etc/timezone:/etc/timezone:ro
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
|
||||||
|
|
||||||
nextcloud-app:
|
nextcloud-app:
|
||||||
depends_on:
|
depends_on:
|
||||||
@ -147,5 +146,3 @@ services:
|
|||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- /etc/timezone:/etc/timezone:ro
|
- /etc/timezone:/etc/timezone:ro
|
||||||
- ./collabora/loolwsd.xml:/etc/loolwsd/loolwsd.xml
|
- ./collabora/loolwsd.xml:/etc/loolwsd/loolwsd.xml
|
||||||
|
|
||||||
|
|
||||||
|
5
osp/README.md
Normal file
5
osp/README.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
https://openstreamingplatform.com/
|
||||||
|
|
||||||
|
Open Streaming Platform (OSP) is an open-source, RTMP streamer software front-end for Arut's Nginx-RTMP Module. OSP was designed as a self-hosted alternative to services such as Twitch.tv, Ustream.tv, Mixer, and Youtube Live.
|
||||||
|
|
||||||
|
This service is based on an older software version beta6d and not on the current version 0.8.8 because an docker image ist not available for it right now.
|
60
osp/docker-compose.yml
Normal file
60
osp/docker-compose.yml
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
version: '3.5'
|
||||||
|
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
external:
|
||||||
|
name: traefik_default
|
||||||
|
|
||||||
|
services:
|
||||||
|
osp-app:
|
||||||
|
depends_on:
|
||||||
|
- osp-db
|
||||||
|
- osp-redis
|
||||||
|
container_name: osp-app
|
||||||
|
env_file: live.env
|
||||||
|
image: deamos/openstreamingplatform:latest
|
||||||
|
labels:
|
||||||
|
# Watchtower
|
||||||
|
- "com.centurylinklabs.watchtower.enable=true"
|
||||||
|
# Routes
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.osp.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.osp.rule=Host(`osp.${DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.osp.tls=true"
|
||||||
|
- "traefik.http.routers.osp.tls.certresolver=myresolver"
|
||||||
|
- "traefik.http.services.osp.loadbalancer.server.port=80"
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ${OSP_ROOT}/data:/var/www
|
||||||
|
|
||||||
|
osp-db:
|
||||||
|
image: mariadb:10
|
||||||
|
container_name: osp-db
|
||||||
|
restart: unless-stopped
|
||||||
|
env_file: live.env
|
||||||
|
labels:
|
||||||
|
# Watchtower
|
||||||
|
- "com.centurylinklabs.watchtower.enable=true"
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- ${OSP_ROOT}/db:/var/lib/mysq
|
||||||
|
|
||||||
|
osp-redis:
|
||||||
|
image: redis:6-alpine
|
||||||
|
container_name: osp-redis
|
||||||
|
command: redis-server --requirepass ${REDIS_HOST_PASSWORD}
|
||||||
|
labels:
|
||||||
|
- "com.centurylinklabs.watchtower.enable=true"
|
||||||
|
networks:
|
||||||
|
- default
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- ${OSP_ROOT}/redis:/data
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
|
22
osp/live.env.tpl
Normal file
22
osp/live.env.tpl
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# MariaDB settings
|
||||||
|
MYSQL_ROOT_PASSWORD=password_db_root
|
||||||
|
MYSQL_DATABASE=osp
|
||||||
|
MYSQL_USER=osp
|
||||||
|
MYSQL_PASSWORD=password_db
|
||||||
|
MYSQL_HOST=osp-db
|
||||||
|
|
||||||
|
# Redis
|
||||||
|
REDIS_HOST=osp-redis
|
||||||
|
REDIS_HOST_PASSWORD=password_redis
|
||||||
|
|
||||||
|
# osp
|
||||||
|
OSP_ROOT=/home/compute/services/osp
|
||||||
|
DB_URL=mysql+pymysql://osp:password_db@osp-db/osp?charset=utf8mb4 # Change these according to above set parameters following this schema mysql+pymysql://username:password@localhost/osp?charset=utf8mb4
|
||||||
|
FLASK_SECRET=very_secret_key_change_me
|
||||||
|
FLASK_SALT=very_secret_salt_key_change_me
|
||||||
|
REDIS_PASSWORD=password_redis
|
||||||
|
OSP_ALLOWREGISTRATION=False
|
||||||
|
OSP_REQUIREVERIFICATION=False
|
||||||
|
|
||||||
|
# Traefik
|
||||||
|
DOMAIN=domain.com
|
@ -6,7 +6,7 @@ networks:
|
|||||||
socket_proxy:
|
socket_proxy:
|
||||||
external:
|
external:
|
||||||
name: socket_proxy
|
name: socket_proxy
|
||||||
|
|
||||||
|
|
||||||
services:
|
services:
|
||||||
# Only accept needed incoming docker API calls
|
# Only accept needed incoming docker API calls
|
||||||
@ -103,7 +103,7 @@ services:
|
|||||||
- "--log.level=DEBUG"
|
- "--log.level=DEBUG"
|
||||||
# API and Dashboard
|
# API and Dashboard
|
||||||
#- "--api.insecure=true"
|
#- "--api.insecure=true"
|
||||||
- "--api=true"
|
- "--api=true"
|
||||||
- "--api.dashboard=true"
|
- "--api.dashboard=true"
|
||||||
# Docker as provider
|
# Docker as provider
|
||||||
- "--providers.docker=true"
|
- "--providers.docker=true"
|
||||||
@ -141,6 +141,7 @@ services:
|
|||||||
- "traefik.http.routers.http_catchall.rule=HostRegexp(`{any:.+}`)"
|
- "traefik.http.routers.http_catchall.rule=HostRegexp(`{any:.+}`)"
|
||||||
- "traefik.http.routers.http_catchall.entrypoints=web"
|
- "traefik.http.routers.http_catchall.entrypoints=web"
|
||||||
- "traefik.http.routers.http_catchall.middlewares=https-redirect"
|
- "traefik.http.routers.http_catchall.middlewares=https-redirect"
|
||||||
|
|
||||||
ports:
|
ports:
|
||||||
# The HTTP port
|
# The HTTP port
|
||||||
- "80:80"
|
- "80:80"
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
This is now routed via traefik.
|
This is now routed via traefik.
|
||||||
Still checking performance if working it is.
|
Still checking performance if there is no package loss.
|
||||||
|
@ -26,7 +26,7 @@ services:
|
|||||||
- "traefik.tcp.routers.teamspeak-tcp.entrypoints=ts-tcp"
|
- "traefik.tcp.routers.teamspeak-tcp.entrypoints=ts-tcp"
|
||||||
- "traefik.tcp.routers.teamspeak-tcp.service=teamspeak-tcp"
|
- "traefik.tcp.routers.teamspeak-tcp.service=teamspeak-tcp"
|
||||||
- "traefik.tcp.routers.teamspeak-tcp.rule=HostSNI(`ts3.${DOMAIN}`)"
|
- "traefik.tcp.routers.teamspeak-tcp.rule=HostSNI(`ts3.${DOMAIN}`)"
|
||||||
- "traefik.tcp.services.teamspeak-tcp.loadbalancer.server.port=30033"
|
- "traefik.tcp.services.teamspeak-tcp.loadbalancer.server.port=30033"
|
||||||
# udp
|
# udp
|
||||||
- "traefik.udp.routers.teamspeak-udp.entrypoints=ts-udp"
|
- "traefik.udp.routers.teamspeak-udp.entrypoints=ts-udp"
|
||||||
- "traefik.udp.routers.teamspeak-udp.service=teamspeak-udp"
|
- "traefik.udp.routers.teamspeak-udp.service=teamspeak-udp"
|
||||||
@ -40,4 +40,4 @@ services:
|
|||||||
container_name: ts3-db
|
container_name: ts3-db
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- ./db:/var/lib/mysql
|
- ./db:/var/lib/mysql
|
Reference in New Issue
Block a user