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
|
||||
#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
|
||||
SPOOLMAN_HOST=0.0.0.0
|
||||
SPOOLMAN_PORT=7912
|
||||
|
||||
@@ -226,6 +226,10 @@ def get_data_dir() -> Path:
|
||||
Returns:
|
||||
Path: The data directory.
|
||||
"""
|
||||
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)
|
||||
return data_dir
|
||||
@@ -237,7 +241,13 @@ def get_logs_dir() -> Path:
|
||||
Returns:
|
||||
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:
|
||||
@@ -246,8 +256,11 @@ def get_backups_dir() -> Path:
|
||||
Returns:
|
||||
Path: The backups directory.
|
||||
"""
|
||||
data_dir = get_data_dir()
|
||||
backups_dir = data_dir.joinpath("backups")
|
||||
env_backups_dir = os.getenv("SPOOLMAN_DIR_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)
|
||||
return backups_dir
|
||||
|
||||
|
||||
@@ -79,6 +79,10 @@ async def startup() -> None:
|
||||
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...")
|
||||
database.setup_db(database.get_connection_url())
|
||||
|
||||
|
||||
Reference in New Issue
Block a user