root pass fix
frdel committed
Dec 3, 2024 at 14:38 UTC
deae13d3834c7031a18cd30d5ee593f804b1b09a
5 files changed
+12
-10
docker/run/fs/exe/run_A0.sh
+2
-2
@@ -28,8 +28,8 @@ function clone_repo() {
28
# setup and preload A0
29
setup_venv
30
clone_repo
31
-python /a0/prepare.py
32
-python /a0/preload.py
31
+python /a0/prepare.py --dockerized=true
32
+python /a0/preload.py --dockerized=true
33
34
# Loop to restart the Python script when it finishes
35
while true; do
preload.py
+2
-1
@@ -1,6 +1,7 @@
1
-from python.helpers import whisper
1
+from python.helpers import runtime, whisper
2
3
print("Running preload...")
4
+runtime.initialize()
5
6
# preload transcription model
7
whisper.preload()
\ No newline at end of file
prepare.py
+1
-2
@@ -1,14 +1,13 @@
1
-import subprocess
1
from python.helpers import dotenv, runtime, settings
2
import string
3
import random
4
5
print("Preparing environment...")
6
+runtime.initialize()
7
8
# generate random root password if not set (for SSH)
9
root_pass = dotenv.get_dotenv_value(dotenv.KEY_ROOT_PASSWORD)
10
if not root_pass:
11
root_pass = ''.join(random.choices(string.ascii_letters + string.digits, k=32))
12
- dotenv.save_dotenv_value(dotenv.KEY_ROOT_PASSWORD, root_pass)
12
print("Changing root password...")
13
settings.set_root_password(root_pass)
\ No newline at end of file
python/helpers/runtime.py
+2
@@ -10,6 +10,8 @@ dockerman = None
10
11
def initialize():
12
global args
13
+ if args:
14
+ return
15
parser.add_argument("--port", type=int, default=None, help="Web UI port")
16
parser.add_argument("--host", type=str, default=None, help="Web UI host")
17
parser.add_argument(
python/helpers/settings.py
+5
-5
@@ -1,18 +1,16 @@
1
-import asyncio
1
import json
2
import os
3
import re
4
import subprocess
6
-from typing import Any, Literal, Optional, TypedDict
5
+from typing import Any, Literal, TypedDict
6
7
import models
9
-from python.helpers import rfc_exchange, runtime, whisper
8
+from python.helpers import runtime, whisper
9
from . import files, dotenv
10
from models import get_model, ModelProvider, ModelType
11
from langchain_core.language_models.chat_models import BaseChatModel
12
from langchain_core.embeddings import Embeddings
13
15
-
14
class Settings(TypedDict):
15
chat_model_provider: str
16
chat_model_name: str
@@ -693,7 +691,7 @@ def _write_sensitive_settings(settings: Settings):
691
if settings["root_password"]:
692
dotenv.save_dotenv_value(dotenv.KEY_ROOT_PASSWORD, settings["root_password"])
693
if settings["root_password"]:
696
- dotenv.save_dotenv_value(dotenv.KEY_ROOT_PASSWORD, settings["root_password"])
694
+ set_root_password(settings["root_password"])
695
696
697
def _get_default_settings() -> Settings:
@@ -777,6 +775,8 @@ def set_root_password(password: str):
775
if not runtime.is_dockerized():
776
raise Exception("root password can only be set in dockerized environments")
777
subprocess.run(f"echo 'root:{password}' | chpasswd", shell=True, check=True)
778
+ dotenv.save_dotenv_value(dotenv.KEY_ROOT_PASSWORD, password)
779
+
780
781
782
def get_runtime_config(set: Settings):