ServerName p7s1.panoo.tv
ServerAdmin webmaster@panoo
DocumentRoot /panoo/www/htdocs/
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
Options FollowSymLinks
AllowOverride None
Require all granted
# Enable rewriting for Vue Router
RewriteEngine On
# Handle client-side routing - if file/directory doesn't exist, serve index.html
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /docs/index.html [L]
Alias "/ypics" "/panoo/ypics"
ProxyRequests Off
ProxyVia On
ProxyPass "/index.html" "!"
ProxyPass "/favicon.ico" "!"
ProxyPass "/common" "!"
ProxyPass "/update" "!"
ProxyPass "/assets" "!"
ProxyPass "/webrtc" "!"
ProxyPass "/ypics" "!"
ProxyPass "/.well-known" "!"
# disable swagger docs
ProxyPass /docs/ "!"
# the panoo relay instance
# the websocket
ProxyPass /api/relay/v16/relay-ws ws://relay:1920/api/v16/relay-ws retry=10
# everything else
ProxyPass /api/relay/v16/ http://relay:1920/api/v16/ retry=10
# old, deprecated, DEPRECATED!!!
ProxyPass /relay/v16/websocket/ ws://relay:1920/api/v16/websocket/ retry=10
# static files
ProxyPass /relay/static/ http://relay:1920/static/ retry=10
#
# this should be the only config
ProxyPass /relay/ http://relay:1920/relay/ retry=10
# the panoo central endpoints
ProxyPass /central/ http://panoo:8088/central/ retry=10
ProxyPass /v12/ http://panoo:8088/v12/ retry=10
ProxyPass /v16/ http://panoo:8088/v16/ retry=10
# Panoo Live
ProxyPass /webrtc-ws ws://host.docker.internal:9001/webrtc-ws retry=10
ProxyPass /panoo-live/ http://host.docker.internal:9000/live/ retry=10
ProxyPass /live/ http://host.docker.internal:9000/live/ retry=10
# Panoo Calendar / Scheduler
ProxyPass /calendar/ http://scheduler:7889/calendar/ retry=10
ProxyPass /api/calendar/v1/ http://scheduler:7889/api/ retry=10
# Hanko & Dime
ProxyPass /auth/ http://dime:7989/auth/ retry=10
ProxyPass /hanko/ http://hanko:8000/ retry=10
ProxyPass /secret-deploy/ http://deploy-webhook:3000/ retry=10
# ================================================================
# FlypSite API
# ================================================================
ProxyPass /playout/ http://live.flyp.tv/ retry=10
ProxyPass /file/ http://flypapi:5577/file/ retry=10
ProxyPass /v2/ http://flypapi:5577/v2/ retry=10
ProxyPass /v1/ http://flypapi:5577/v1/ retry=10
ProxyPass /f/ http://flypapi:5577/f/ retry=10
ProxyPassReverse /f/ http://flypapi:5577/f/
# ================================================================
# this match is used to redirect the root path to the index page
# weird construct, but without, it would add a / at the end of the URL
# ================================================================
ProxyPassMatch "^(/)$" "http://dime:7989/auth$1index"
# ================================================================
# Everything else is proxied to the FlypHQ instance
# ================================================================
ProxyPass / http://flyphq:80/ retry=10
ServerName p7s1.panoo.tv
ServerAdmin webmaster@panoo
DocumentRoot /panoo/www/htdocs/
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
DocumentRoot /panoo/www/htdocs/
ScriptAlias "/cgi/" "/panoo/www/cgi/"
AddHandler cgi-script .cgi .pl .sh
Options +ExecCGI
Require all granted
DocumentRoot /panoo/www/htdocs/
Use Services
Use Proxy
#
SSLEngine on
# enable HTTP/2, if available
Protocols h2 http/1.1
# HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)
Header always set Strict-Transport-Security "max-age=63072000"
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder off
SSLSessionTickets off
# SSLCertificateFile /panoo/www/cert/fullchain.pem
# SSLCertificateKeyFile /panoo/www/cert/privkey.pem
SSLCertificateFile /etc/letsencrypt/live/p7s1.panoo.tv/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/p7s1.panoo.tv/privkey.pem
DocumentRoot /panoo/www/htdocs/
Use Services
Use Proxy
SSLEngine on
# enable HTTP/2, if available
Protocols h2 http/1.1
# HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)
Header always set Strict-Transport-Security "max-age=63072000"
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder off
SSLSessionTickets off
SSLCertificateFile /panoo/ca/certs/p7s1.panoo.tv.chain.pem
SSLCertificateKeyFile /panoo/ca/private/p7s1.panoo.tv.key.pem