diff --git a/docker-compose.yml b/docker-compose.yml index 62b9621..e4caf43 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,4 +17,4 @@ services: - TZ=America/Denver - UVICORN_LOG_LEVEL=info - ZPOOL_BIN=/host/zpool - - LD_LIBRARY_PATH=/host/lib + - ZFS_HOST_LIB=/host/lib diff --git a/services/zfs.py b/services/zfs.py index 55394e3..b2bc657 100644 --- a/services/zfs.py +++ b/services/zfs.py @@ -15,10 +15,16 @@ async def get_zfs_pool_map() -> dict[str, str]: """ pool_map = {} try: + env = os.environ.copy() + host_lib = os.environ.get("ZFS_HOST_LIB") + if host_lib: + env["LD_LIBRARY_PATH"] = host_lib + proc = await asyncio.create_subprocess_exec( ZPOOL_BIN, "status", "-P", stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE, + env=env, ) stdout, _ = await proc.communicate() if proc.returncode != 0: