From 0d1e67edd2fc2ada6c143c11fd68a0975d1fd05d Mon Sep 17 00:00:00 2001 From: Mats Rauhala Date: Tue, 6 Oct 2026 08:24:08 +0300 Subject: [PATCH] Make .env optional --- src/config.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/config.rs b/src/config.rs index 6b7818f..1ccc1db 100644 --- a/src/config.rs +++ b/src/config.rs @@ -16,12 +16,18 @@ pub enum ConfigError { #[error("Parse error {0}")] InvalidPort(#[from] ParseIntError), #[error("Unknown error: #{0}")] - Unknown(anyhow::Error), + Unknown(#[from] anyhow::Error), } impl Config { pub fn new() -> Result { - dotenvy::dotenv().map_err(|err| ConfigError::Unknown(err.into()))?; + // dotenvy::dotenv().map_err(|err| ConfigError::Unknown(err.into()))?; + match dotenvy::dotenv() { + Ok(_) => Ok(()), + Err(err) => { + if err.not_found() { Ok(()) } else { Err(ConfigError::Unknown(err.into())) } + } + }?; //.map_err(|err| ConfigError::Unknown(err.into()))?; let server_secret = env::var("SERVER_SECRET").map(SecretString::from).map_err(|_| ConfigError::MissingServerSecret)?; let state_dir = env::var("STATE_DIR").map_or_else(|_| PathBuf::from("/tmp/"), PathBuf::from); let port = match env::var("PORT") {