From 68dfe8a5688f2b4b31486a596a4558d2a29b7725 Mon Sep 17 00:00:00 2001 From: Jokler Date: Mon, 5 Oct 2026 21:14:24 +0200 Subject: Add SECRET_KEY_FILE env var --- src/main.rs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index c5de543..0e38a05 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,6 +3,9 @@ extern crate diesel; #[macro_use] extern crate diesel_migrations; +use std::fs::File; +use std::io::Read; + use actix::prelude::*; use actix_web::middleware::{errhandlers::ErrorHandlers, Logger}; @@ -59,7 +62,19 @@ async fn main() -> std::io::Result<()> { SyncArbiter::start(4, move || PassHashExecutor(Hasher::default())); HttpServer::new(move || { - let secret: String = std::env::var("SECRET_KEY").expect("SECRET_KEY env var should be set"); + let secret = if let Ok(path) = std::env::var("SECRET_KEY_FILE") { + let mut file = File::open(path).expect("SECRET_KEY_FILE openable"); + let mut content = String::new(); + + file.read_to_string(&mut content) + .expect("SECRET_KEY_FILE content readable"); + content.trim(); + + content + } else { + std::env::var("SECRET_KEY").expect("SECRET_KEY env var should be set") + }; + let domain: String = std::env::var("DOMAIN").unwrap_or_else(|_| "localhost".to_string()); let secure_cookies = &domain != "localhost"; -- cgit v1.3.1