Files
pixel-streaming-session-ser…/start_install_package.py
T
2023-02-03 13:29:50 +05:00

51 lines
2.0 KiB
Python

import config
import lib.powershell as powershell
import shutil
import os
# config
deploy_path = config.deploy_path
git_url_session_server = config.git_url_session_server
git_url_webrtc = config.git_url_webrtc
env_path = config.env_path
titles_path = config.titles_path
if os.path.isdir(deploy_path):
print('Package already installed in: ', deploy_path)
exit(1)
# clone required repositories
powershell.run_command_no_dir('mkdir ' + deploy_path)
powershell.run_command('git clone ' + git_url_session_server, deploy_path)
powershell.run_command('git clone ' + git_url_webrtc, deploy_path)
# clone submodules
session_server_library = deploy_path + '/pixel-streaming-session-server/lib'
powershell.run_command('git submodule init', session_server_library)
powershell.run_command('git submodule update', session_server_library)
# install node_modules
session_server_root_dir = deploy_path + '/pixel-streaming-session-server'
powershell.run_command('npm install', session_server_root_dir)
powershell.run_command('npm install', deploy_path + '/pixel-streaming-webrtc/WebServers/SignallingWebServer')
# copy session server config to destination directory
current_directory_name = os.path.dirname(os.path.abspath(__file__))
session_server_config_file = (current_directory_name + env_path).replace('\\', '/')
session_server_config_destination = deploy_path + '/pixel-streaming-session-server/.env'
shutil.copy(session_server_config_file, session_server_config_destination)
# copy session server titles config to destination directory
session_server_titles_file = (current_directory_name + titles_path).replace('\\', '/')
session_server_titles_destination = deploy_path + '/pixel-streaming-session-server/titles.json'
shutil.copy(session_server_titles_file, session_server_titles_destination)
# install pm2 for application management
powershell.run_command_no_dir('npm i -g pm2')
# start session server
powershell.run_command('pm2 start app.js', session_server_root_dir)
print('\nPackage successfully deployed to: ', deploy_path, '\n')