From 1fbdd1cfcbcebef3f92f460cc0570986688779bd Mon Sep 17 00:00:00 2001 From: Dan Hatton Date: Wed, 21 Jan 2026 15:19:12 +0000 Subject: [PATCH 1/2] allow sqlite connector rather than postgres --- src/murfey/server/murfey_db.py | 2 ++ src/murfey/util/config.py | 1 + 2 files changed, 3 insertions(+) diff --git a/src/murfey/server/murfey_db.py b/src/murfey/server/murfey_db.py index 2d0d52cf7..b02bfd503 100644 --- a/src/murfey/server/murfey_db.py +++ b/src/murfey/server/murfey_db.py @@ -17,6 +17,8 @@ def url(security_config: Security | None = None) -> str: creds = yaml.safe_load(stream) f = Fernet(security_config.crypto_key.encode("ascii")) p = f.decrypt(creds["password"].encode("ascii")) + if security_config.db == "sqlite": + return f"sqlite:///{creds['database']}" return f"postgresql+psycopg2://{creds['username']}:{p.decode()}@{creds['host']}:{creds['port']}/{creds['database']}" diff --git a/src/murfey/util/config.py b/src/murfey/util/config.py index 6280bb7e0..c0d62beb7 100644 --- a/src/murfey/util/config.py +++ b/src/murfey/util/config.py @@ -228,6 +228,7 @@ class Security(BaseModel): # Murfey database settings murfey_db_credentials: Path crypto_key: str + db: str = "postgres" sqlalchemy_pooling: bool = True # ISPyB settings From f919b3bdaa5d001341fbdb97732373544958d7fa Mon Sep 17 00:00:00 2001 From: Dan Hatton Date: Wed, 21 Jan 2026 15:23:21 +0000 Subject: [PATCH 2/2] no need to decrypt password if sqlite --- src/murfey/server/murfey_db.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/murfey/server/murfey_db.py b/src/murfey/server/murfey_db.py index b02bfd503..2afdb8544 100644 --- a/src/murfey/server/murfey_db.py +++ b/src/murfey/server/murfey_db.py @@ -15,10 +15,10 @@ def url(security_config: Security | None = None) -> str: security_config = security_config or get_security_config() with open(security_config.murfey_db_credentials, "r") as stream: creds = yaml.safe_load(stream) - f = Fernet(security_config.crypto_key.encode("ascii")) - p = f.decrypt(creds["password"].encode("ascii")) if security_config.db == "sqlite": return f"sqlite:///{creds['database']}" + f = Fernet(security_config.crypto_key.encode("ascii")) + p = f.decrypt(creds["password"].encode("ascii")) return f"postgresql+psycopg2://{creds['username']}:{p.decode()}@{creds['host']}:{creds['port']}/{creds['database']}"