diff --git a/docker/start.py b/docker/start.py index 3b2a318..625cf2f 100644 --- a/docker/start.py +++ b/docker/start.py @@ -24,18 +24,21 @@ sqliteWebPath = '/home/sqlite_web/sqlite_web.py' enableSQLITE = os.path.isfile(sqliteWebPath) and os.environ.get('SQLITE', 'false').lower() == 'true' dbPath = os.path.join(os.sep, 'home', 'py-kms', 'db', 'pykms_database.db') log_level = os.getenv('LOGLEVEL', 'INFO') +log_file = os.environ.get('LOGFILE', 'STDOUT') +listen_ip = os.environ.get('IP', '0.0.0.0') +listen_port = os.environ.get('PORT', '1688') +sqlite_port = os.environ.get('SQLITE_PORT', '8080') def start_kms_client(): if not os.path.isfile(dbPath): # Start a dummy activation to ensure the database file is created - client_cmd = [PYTHON3, '-u', 'pykms_Client.py', os.environ.get('IP', "0.0.0.0"), os.environ.get('PORT', 1688), + client_cmd = [PYTHON3, '-u', 'pykms_Client.py', listen_ip, listen_port, '-m', 'Windows10', '-n', 'DummyClient', '-c', 'ae3a27d1-b73a-4734-9878-70c949815218', - '-V', os.environ.get('LOGLEVEL', 'INFO'), '-F', os.environ.get('LOGFILE', 'STDOUT')] + '-V', log_level, '-F', log_file] if os.environ.get('LOGSIZE', '') != "": client_cmd.append('-S') client_cmd.append(os.environ.get('LOGSIZE')) - loggersrv.info("Starting a dummy activation to ensure the database file is created") loggersrv.debug("client_cmd: %s" % (" ".join(str(x) for x in client_cmd).strip())) @@ -45,7 +48,7 @@ def start_kms_client(): def start_kms(): sqlite_process = None # Build the command to execute - command = [PYTHON3, '-u', 'pykms_Server.py', os.environ.get('IP'), os.environ.get('PORT')] + command = [PYTHON3, '-u', 'pykms_Server.py', listen_ip, listen_port] for (arg, env) in argumentVariableMapping.items(): if env in os.environ and os.environ.get(env) != '': command.append(arg) @@ -55,6 +58,7 @@ def start_kms(): loggersrv.info("Storing database file to %s" % dbPath) command.append('-s') command.append(dbPath) + os.makedirs(os.path.dirname(dbPath), exist_ok=True) loggersrv.debug("server_cmd: %s" % (" ".join(str(x) for x in command).strip())) pykms_process = subprocess.Popen(command) @@ -63,9 +67,8 @@ def start_kms(): if enableSQLITE: time.sleep(5) # The server may take a while to start start_kms_client() - sqlite_cmd = [PYTHON3, '-u', '/home/sqlite_web/sqlite_web.py', '-H', os.environ.get('IP'), '--read-only', '-x', - dbPath, - '-p', os.environ.get('SQLITE_PORT')] + sqlite_cmd = [PYTHON3, '-u', '/home/sqlite_web/sqlite_web.py', '-H', listen_ip, '--read-only', '-x', + dbPath, '-p', sqlite_port] loggersrv.debug("sqlite_cmd: %s" % (" ".join(str(x) for x in sqlite_cmd).strip())) sqlite_process = subprocess.Popen(sqlite_cmd)