diff --git a/.gitignore b/.gitignore index d3e4539..85bf3aa 100644 --- a/.gitignore +++ b/.gitignore @@ -139,4 +139,4 @@ dmypy.json cython_debug/ #nginx configuration files -.conf \ No newline at end of file +*.conf \ No newline at end of file diff --git a/config.py b/config.py index eb5ffad..1518f52 100644 --- a/config.py +++ b/config.py @@ -1,6 +1,20 @@ +# location deploy_path = 'C:/pixel-streaming' + +# git git_url_session_server = "http://212.220.216.185:3000/EgorSuv/pixel-streaming-session-server.git" git_url_webrtc = "http://212.220.216.185:3000/EgorSuv/pixel-streaming-webrtc.git" +# session server config env_path = '/session_server_config/.env' -titles_path = '/session_server_config/titles.json' \ No newline at end of file +titles_path = '/session_server_config/titles.json' + +# nginx config + +server_domain = 'a1.test.sess.graff.tech' +session_server_ip = "192.168.1.115" +server_postfix = "s1" +session_server_port = 3005 + +session_begin_port = 14000 +session_limit = 7 \ No newline at end of file diff --git a/generate_nginx_config.py b/generate_nginx_config.py new file mode 100644 index 0000000..3d2d8db --- /dev/null +++ b/generate_nginx_config.py @@ -0,0 +1,50 @@ +# generate nginx config +import sys +import config + +# config +server_domain = config.server_domain +session_server_ip = config.session_server_ip +server_postfix = config.server_postfix +session_server_port = config.session_server_port +session_begin_port = config.session_begin_port +session_limit = config.session_limit + +# redirect stdout to file +stdout_default = sys.stdout +output_file_name = 'session-server-' + server_postfix + '.conf' +output_file = open(output_file_name, 'w') +sys.stdout = output_file + +# generate config +print('server {') +print('\t#session server domain') +print('\tserver_name ' + str(server_domain) + ';') + +print('\n\t#session server location') +print('\tlocation /' + server_postfix + '/ {') +print('\t\tproxy_pass http://' + session_server_ip + ':' + str(session_server_port) + '/;') +print('\t\tproxy_http_version 1.1;') +print('\t\tproxy_set_header Upgrade $http_upgrade;') +print("\t\tproxy_set_header Connection 'upgrade';") +print('\t\tproxy_set_header Host $host;') +print('\t\tproxy_cache_bypass $http_upgrade;') +print('\t}\n') + +print('\t#sessions location') + +for i in range(0, session_limit): + print('\tlocation /' + str(server_postfix) + '/' + str(session_begin_port + i) + '/ {') + print('\t\tproxy_pass http://' + str(session_server_ip) + ':' + str(session_begin_port + i) + '/;') + print('\t\tproxy_set_header Upgrade $http_upgrade;') + print("\t\tproxy_set_header Connection 'upgrade';") + print("\t\tproxy_connect_timeout 86400s;") + print("\t\tproxy_send_timeout 86400s;") + print("\t\tproxy_read_timeout 86400s;") + print('\t}') + +print('}') + +# undo redirect to file +sys.stdout = stdout_default +output_file.close() \ No newline at end of file diff --git a/reconfigure_package.py b/reconfigure_package.py index 81d84b6..1e2e0ba 100644 --- a/reconfigure_package.py +++ b/reconfigure_package.py @@ -28,6 +28,6 @@ session_server_titles_destination = deploy_path + '/pixel-streaming-session-serv os.remove(session_server_titles_destination) shutil.copy(session_server_titles_file, session_server_titles_destination) -powershell.run_command('pm2 restart app.js', session_server_root_dir) +powershell.run_command('pm2 restart app.js --no-treekill', session_server_root_dir) print('\nPackage successfully reconfigured.\n') \ No newline at end of file diff --git a/session_server_config/.env b/session_server_config/.env index 939dd58..7657b66 100644 --- a/session_server_config/.env +++ b/session_server_config/.env @@ -1,8 +1,9 @@ -PORT=3005 +PORT=3006 # nginx external domain EXTERNAL_DOMAIN="a1.test.sess.graff.tech/s1/" # coordinator url COORDINATOR_URL="https://a1.test.coord.graff.tech" DATABASE_URL="mongodb://127.0.0.1:27017" DATABASE_NAME="pixel_streaming" -WEBRTC_PORT_BEGIN=14000 \ No newline at end of file +WEBRTC_PORT_BEGIN=14000 +SESSION_LIMIT=7 \ No newline at end of file diff --git a/start_install_package.py b/start_install_package.py index b83011f..334970c 100644 --- a/start_install_package.py +++ b/start_install_package.py @@ -46,8 +46,8 @@ shutil.copy(session_server_titles_file, session_server_titles_destination) powershell.run_command_no_dir('npm i -g pm2') # start session server -powershell.run_command('pm2 start app.js', session_server_root_dir) +powershell.run_command('pm2 start app.js --no-treekill --name session-server', session_server_root_dir) -# add to startup +# add to startup print('\nPackage successfully deployed to: ', deploy_path, '\n') \ No newline at end of file