Add server host/port config

This commit is contained in:
2026-07-14 20:10:04 -04:00
parent d5eba9620c
commit d66871f2f5

View File

@@ -1,3 +1,4 @@
use std::net::{IpAddr, Ipv4Addr, SocketAddr};
use std::path::PathBuf; use std::path::PathBuf;
use serde::Deserialize; use serde::Deserialize;
@@ -146,6 +147,14 @@ impl KeyValStoreConfig {
#[derive(Debug, Clone, Deserialize)] #[derive(Debug, Clone, Deserialize)]
pub struct ServerConfig { pub struct ServerConfig {
pub public_path: PathBuf, pub public_path: PathBuf,
pub host: IpAddr,
pub port: u16,
}
impl ServerConfig {
pub fn serve_addr(&self) -> SocketAddr {
SocketAddr::new(self.host, self.port)
}
} }
#[derive(Debug, Clone, Deserialize)] #[derive(Debug, Clone, Deserialize)]
@@ -164,7 +173,16 @@ pub fn load_config() -> Result<Config, config::ConfigError> {
let pkg_name = env!("CARGO_PKG_NAME"); let pkg_name = env!("CARGO_PKG_NAME");
config::Config::builder() config::Config::builder()
.set_default("server.port", 8080)? .set_default(
"server.port",
dioxus::cli_config::server_port().unwrap_or(8080),
)?
.set_default(
"server.host",
dioxus::cli_config::server_ip()
.unwrap_or(IpAddr::V4(Ipv4Addr::UNSPECIFIED))
.to_string(),
)?
.set_default("auth.open_signup", false)? .set_default("auth.open_signup", false)?
.set_default("auth.cookies_secure", DEFAULT_COOKIES_SECURE)? .set_default("auth.cookies_secure", DEFAULT_COOKIES_SECURE)?
.set_default("server.public_path", default_public_dir())? .set_default("server.public_path", default_public_dir())?