#!/usr/bin/env python3 # -*- coding: utf-8 -*- import utils import json import subprocess import os CONTENT = [ "https://www.ubicast.eu/media/downloads/TradeshowDemoKit/medical_education.zip", "https://www.ubicast.eu/media/downloads/TradeshowDemoKit/rich-media-sneak-peek.zip" ] def setup(interactive=True): cmds = list() if os.path.exists('/etc/nginx/sites-enabled/mediaserver-msuser.conf'): # deploy certificate into nginx domains = [] conf_name_items = ["MS_SERVER_NAME", "MONITOR_SERVER_NAME", "CM_SERVER_NAME", "CACHE_SERVER_NAME"] for name in conf_name_items: domain = utils.get_conf(name) if utils.get_conf(name): domains.append(domain) utils.mkcert(domains, ecc=False) with open("/etc/nginx/conf.d/ssl_certificate.conf", "w") as ssl_conf_fh: ssl_conf_fh.writelines([ "ssl_certificate /etc/ssl/envsetup/cert.pem" "ssl_certificate_key /etc/ssl/envsetup/key.pem" ]) subprocess.check_call(["systemctl", "reload", "nginx"]) options = { "ms_url": utils.get_conf('MS_SERVER_NAME'), "ms_apikey": utils.get_conf('MS_API_KEY') } cmd_template = "./publish_zip_by_url.py -w https://{ms_url} -u %s -a {ms_apikey}".format(**options) #https://192.168.43.72/api/v2/search/?search=medical for c in CONTENT: cmd = cmd_template % c cmds.append(cmd) if os.path.exists('/etc/miris/netcapture.json'): with open('/etc/miris/netcapture.json', 'r') as f: c = json.load(f) c['campusmanager_check_ssl'] = False with open('/etc/miris/netcapture.json', 'w') as f: json.dump(c, f) cmds.append('rsync -r mirisconf/ /etc/miris/conf') cmds.append('chgrp -R video /etc/miris/conf') cmds.append('chmod -R 774 /etc/miris/conf') # start netcapture without hw accel if subprocess.getstatusoutput("netcapturectl ls")[0] != 0: print('Pulling netcapture image, please wait') cmds.append('netcapturectl add') utils.run_commands(cmds) cmds = list() # try to enable hw accel if available subprocess.getstatusoutput("apt install -y vainfo") if subprocess.getstatusoutput("vainfo")[0] == 0: # hw acceleration requires boot-time module options so a reboot will be needed c['enable_hw_acceleration'] = True if subprocess.getstatusoutput('dmesg | grep "GuC: Loaded"')[0] != 0: cmds.append('echo "options i915 enable_guc_loading=1 enable_guc_submission=1" > /etc/modprobe.d/netcapture.conf') cmds.append('update-initramfs -u') print('A reboot is required') with open('/etc/miris/netcapture.json', 'w') as f: json.dump(c, f) utils.run_commands(cmds)