feat(server): load .env via dotenvy on startup
CI / web (push) Has been cancelled

The binary now reads a .env file itself (dotenvy::dotenv() at the top of main),
so 'cargo run -p server' / the release binary pick up config without relying on
just's 'set dotenv-load'. Missing .env is a no-op.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-06 14:39:24 +02:00
parent e700e1d3cf
commit b49699175d
4 changed files with 7 additions and 0 deletions
Generated
+1
View File
@@ -2077,6 +2077,7 @@ dependencies = [
"clap",
"db",
"domain",
"dotenvy",
"http-body-util",
"memory-serve",
"reqwest",
+1
View File
@@ -28,4 +28,5 @@ argon2 = "0.5"
tower-sessions = "0.14"
tower-sessions-sqlx-store = { version = "0.15", features = ["postgres"] }
rpassword = "7"
dotenvy = "0.15"
memory-serve = "2.1"
+1
View File
@@ -27,6 +27,7 @@ db = { path = "../db" }
domain = { path = "../domain" }
search = { path = "../search" }
rpassword.workspace = true
dotenvy.workspace = true
memory-serve = { workspace = true, optional = true }
[build-dependencies]
+4
View File
@@ -41,6 +41,10 @@ impl From<RoleArg> for Role {
#[tokio::main]
async fn main() -> anyhow::Result<()> {
// Load a .env file (if present) so the binary picks up config when run directly,
// not only via `just` (which uses `set dotenv-load`). A missing .env is fine.
dotenvy::dotenv().ok();
tracing_subscriber::fmt()
.with_env_filter(tracing_subscriber::EnvFilter::from_default_env())
.init();