DASH-IF-Conformance icon indicating copy to clipboard operation
DASH-IF-Conformance copied to clipboard

Docker Support

Open bdstark opened this issue 3 years ago • 1 comments

Needed to do some validation on-prem in a private network, and spent some time making up a Dockerfile to get it running. Stayed with the installation documentation in terms of Ubuntu/32 bit version which was a bit difficult with its age, the older Jave version, and Oracles change in direction with Java. Throwing it out there in case anybody needs a starting point. Setting up the Apache server as a reverse proxy to origins was a big help due to browser CORS restriction. That configuration was injected as a volume in a docker-compose file. Apologize for the formatting, it is lost in the post.

Dockerfile: `FROM ubuntu:16.04

RUN dpkg --add-architecture i386 RUN apt-get update && apt-get upgrade && apt-get install -y \ apache2 \ apache2-doc \ ant \ git \ lib32gcc1 \ lib32stdc++6 \ libapache2-mod-php \ libcurl4-gnutls-dev:i386 \ libstdc++6:i386 \ php \ php-curl \ php-dev \ php-xdebug \ php-xml \ python2.7 \ python-pip \ python-matplotlib \ software-properties-common && \ add-apt-repository universe && \ apt-get install -y openjdk-8-jdk && \ rm -rf /var/lib/apt/lists/* WORKDIR /var/www/html/ RUN rm -f * && \ git clone --recurse-submodules https://github.com/Dash-Industry-Forum/DASH-IF-Conformance && \ chown -R www-data:www-data /var/www/ && \ echo 'www-data ALL=NOPASSWD: ALL' >> /etc/sudoers RUN /usr/sbin/a2enmod headers && \ /usr/sbin/a2enmod proxy_http

EXPOSE 80/tcp STOPSIGNAL SIGWINCH CMD ["/usr/sbin/apache2ctl", "-DFOREGROUND"]`

docker-compose.yml: `version: '3.8'

services: dashifct: container_name: dashifct image: {private_repo} restart: on-failure ports: - 8030:80 volumes: - ./000-default.conf:/etc/apache2/sites-available/000-default.conf`

Apache: <VirtualHost *:80> ProxyPass "/dash" "http://{dash_origin:port}/dash" ProxyPass "/hls" "http://{hls_origin:port}/hls" RedirectMatch '^/$' '/DASH-IF-Conformance/Conformance-Frontend/' DocumentRoot /var/www/html <Directory /> Order Allow,Deny Allow from all AllowOverride all Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS" Header set Referrer-Policy "no-referrer-when-downgrade" </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>

bdstark avatar Oct 10 '20 00:10 bdstark

@aldafu This might help for #518

dsilhavy avatar Feb 02 '22 11:02 dsilhavy

Implemented in #547 and documente here: https://github.com/Dash-Industry-Forum/DASH-IF-Conformance/wiki/Installation--guide

dsilhavy avatar Sep 14 '22 13:09 dsilhavy