diff --git a/server/.env.example b/server/.env.example index 72a2fbc..e7bc2ae 100644 --- a/server/.env.example +++ b/server/.env.example @@ -1,3 +1,6 @@ +PORT= +BIND_ADDR= + DB_PASSWORD= DB_USER= DB_HOST= \ No newline at end of file diff --git a/server/Cargo.lock b/server/Cargo.lock index 4c4d4be..fedbae6 100644 --- a/server/Cargo.lock +++ b/server/Cargo.lock @@ -415,6 +415,12 @@ dependencies = [ "crypto-common", ] +[[package]] +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + [[package]] name = "encoding_rs" version = "0.8.34" @@ -741,6 +747,7 @@ version = "0.1.0" dependencies = [ "actix-web", "colored", + "dotenvy", ] [[package]] diff --git a/server/Cargo.toml b/server/Cargo.toml index 48ac010..32a6ed8 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -7,3 +7,4 @@ license = "GPL-3.0-only" [dependencies] actix-web = "4.5.1" colored = "2.1.0" +dotenvy = "0.15.7" diff --git a/server/src/main.rs b/server/src/main.rs index 66002c1..b6fadc9 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -5,6 +5,8 @@ use std::env; use actix_web::{App, get, HttpResponse, HttpServer, Responder}; +use crate::util::warn_println; + mod util; #[actix_web::main] @@ -15,6 +17,11 @@ async fn main() -> std::io::Result<()> { let mut port = 8000; let mut bind_addr = String::from("127.0.0.1"); + // Load .env + if let Err(e) = dotenvy::dotenv() { + warn_println(format!("Failed to load dotenv: {}", e)) + }; + // If env variable for port or bind_addr is present use that instead of default. if let Ok(env_port) = env::var("PORT") { if let Ok(env_port) = env_port.parse::() {