Added env vars to override all storage dirs
This commit is contained in:
12
.env.example
12
.env.example
@@ -19,6 +19,18 @@
|
|||||||
# Default if not set: TRUE
|
# Default if not set: TRUE
|
||||||
#SPOOLMAN_AUTOMATIC_BACKUP=TRUE
|
#SPOOLMAN_AUTOMATIC_BACKUP=TRUE
|
||||||
|
|
||||||
|
# Data directory, where the SQLite database is stored
|
||||||
|
# Default if not set: /home/<user>/.local/share/spoolman
|
||||||
|
#SPOOLMAN_DIR_DATA=/home/pi/spoolman_data
|
||||||
|
|
||||||
|
# Backup directory, where the SQLite database backups are stored
|
||||||
|
# Default if not set: /home/<user>/.local/share/spoolman/backups
|
||||||
|
#SPOOLMAN_DIR_BACKUPS=/home/pi/spoolman_data/backups
|
||||||
|
|
||||||
|
# Log directory
|
||||||
|
# Default if not set: /home/<user>/.local/share/spoolman
|
||||||
|
#SPOOLMAN_DIR_LOGS=/home/pi/spoolman_data
|
||||||
|
|
||||||
# Host and port to listen on
|
# Host and port to listen on
|
||||||
SPOOLMAN_HOST=0.0.0.0
|
SPOOLMAN_HOST=0.0.0.0
|
||||||
SPOOLMAN_PORT=7912
|
SPOOLMAN_PORT=7912
|
||||||
|
|||||||
@@ -226,7 +226,11 @@ def get_data_dir() -> Path:
|
|||||||
Returns:
|
Returns:
|
||||||
Path: The data directory.
|
Path: The data directory.
|
||||||
"""
|
"""
|
||||||
data_dir = Path(user_data_dir("spoolman"))
|
env_data_dir = os.getenv("SPOOLMAN_DIR_DATA")
|
||||||
|
if env_data_dir is not None:
|
||||||
|
data_dir = Path(env_data_dir)
|
||||||
|
else:
|
||||||
|
data_dir = Path(user_data_dir("spoolman"))
|
||||||
data_dir.mkdir(parents=True, exist_ok=True)
|
data_dir.mkdir(parents=True, exist_ok=True)
|
||||||
return data_dir
|
return data_dir
|
||||||
|
|
||||||
@@ -237,7 +241,13 @@ def get_logs_dir() -> Path:
|
|||||||
Returns:
|
Returns:
|
||||||
Path: The logs directory.
|
Path: The logs directory.
|
||||||
"""
|
"""
|
||||||
return get_data_dir()
|
env_logs_dir = os.getenv("SPOOLMAN_DIR_LOGS")
|
||||||
|
if env_logs_dir is not None:
|
||||||
|
logs_dir = Path(env_logs_dir)
|
||||||
|
else:
|
||||||
|
logs_dir = get_data_dir()
|
||||||
|
logs_dir.mkdir(parents=True, exist_ok=True)
|
||||||
|
return logs_dir
|
||||||
|
|
||||||
|
|
||||||
def get_backups_dir() -> Path:
|
def get_backups_dir() -> Path:
|
||||||
@@ -246,8 +256,11 @@ def get_backups_dir() -> Path:
|
|||||||
Returns:
|
Returns:
|
||||||
Path: The backups directory.
|
Path: The backups directory.
|
||||||
"""
|
"""
|
||||||
data_dir = get_data_dir()
|
env_backups_dir = os.getenv("SPOOLMAN_DIR_BACKUPS")
|
||||||
backups_dir = data_dir.joinpath("backups")
|
if env_backups_dir is not None:
|
||||||
|
backups_dir = Path(env_backups_dir)
|
||||||
|
else:
|
||||||
|
backups_dir = get_data_dir().joinpath("backups")
|
||||||
backups_dir.mkdir(parents=True, exist_ok=True)
|
backups_dir.mkdir(parents=True, exist_ok=True)
|
||||||
return backups_dir
|
return backups_dir
|
||||||
|
|
||||||
|
|||||||
@@ -79,6 +79,10 @@ async def startup() -> None:
|
|||||||
env.get_build_date(),
|
env.get_build_date(),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
logger.info("Using data directory: %s", env.get_data_dir().resolve())
|
||||||
|
logger.info("Using logs directory: %s", env.get_logs_dir().resolve())
|
||||||
|
logger.info("Using backups directory: %s", env.get_backups_dir().resolve())
|
||||||
|
|
||||||
logger.info("Setting up database...")
|
logger.info("Setting up database...")
|
||||||
database.setup_db(database.get_connection_url())
|
database.setup_db(database.get_connection_url())
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user