ibis/src/main.rs

43 lines
1.3 KiB
Rust
Raw Normal View History

2024-01-03 16:06:52 +00:00
#[cfg(feature = "ssr")]
2024-01-03 12:29:25 +00:00
#[tokio::main]
2024-01-09 11:41:44 +00:00
pub async fn main() -> ibis_lib::backend::error::MyResult<()> {
2024-02-07 15:54:43 +00:00
use config::Config;
use ibis_lib::backend::config::IbisConfig;
2024-01-03 12:29:25 +00:00
use log::LevelFilter;
2024-02-07 15:54:43 +00:00
if std::env::args().collect::<Vec<_>>().get(1) == Some(&"--print-config".to_string()) {
println!("{}", doku::to_toml::<IbisConfig>());
std::process::exit(0);
}
2024-01-03 12:29:25 +00:00
env_logger::builder()
.filter_level(LevelFilter::Warn)
.filter_module("activitypub_federation", LevelFilter::Info)
.filter_module("ibis", LevelFilter::Info)
.init();
2024-02-07 15:54:43 +00:00
let config = Config::builder()
.add_source(config::File::with_name("config/config.toml"))
2024-02-08 16:04:56 +00:00
// Cant use _ as separator due to https://github.com/mehcode/config-rs/issues/391
.add_source(config::Environment::with_prefix("IBIS").separator("__"))
2024-02-07 15:54:43 +00:00
.build()
.unwrap();
let ibis_config: IbisConfig = config.try_deserialize().unwrap();
ibis_lib::backend::start(ibis_config).await?;
2024-01-03 12:29:25 +00:00
Ok(())
2024-01-03 16:06:52 +00:00
}
#[cfg(not(feature = "ssr"))]
2024-01-09 11:41:44 +00:00
fn main() {
use ibis_lib::frontend::app::App;
use leptos::mount_to_body;
use leptos::view;
_ = console_log::init_with_level(log::Level::Debug);
console_error_panic_hook::set_once();
mount_to_body(|| {
view! { <App/> }
});
}