2025-12-04 09:03:03 -03:00
|
|
|
//! BotUI - General Bots Pure Web UI Server
|
|
|
|
|
//!
|
|
|
|
|
//! This is the entry point for the botui web server.
|
|
|
|
|
//! For desktop/mobile native features, see the `botapp` crate.
|
2025-12-03 18:42:22 -03:00
|
|
|
|
|
|
|
|
use log::info;
|
|
|
|
|
|
2025-12-04 09:03:03 -03:00
|
|
|
mod shared;
|
2025-12-03 18:42:22 -03:00
|
|
|
mod ui_server;
|
|
|
|
|
|
|
|
|
|
#[tokio::main]
|
|
|
|
|
async fn main() -> std::io::Result<()> {
|
|
|
|
|
env_logger::init();
|
|
|
|
|
info!("BotUI starting...");
|
2025-12-04 09:03:03 -03:00
|
|
|
info!("Starting web UI server...");
|
2025-12-03 18:42:22 -03:00
|
|
|
|
|
|
|
|
let app = ui_server::configure_router();
|
|
|
|
|
|
2025-12-08 12:06:56 -03:00
|
|
|
let port: u16 = std::env::var("BOTUI_PORT")
|
|
|
|
|
.ok()
|
|
|
|
|
.and_then(|p| p.parse().ok())
|
|
|
|
|
.unwrap_or(3001);
|
|
|
|
|
let addr = std::net::SocketAddr::from(([0, 0, 0, 0], port));
|
2025-12-03 18:42:22 -03:00
|
|
|
let listener = tokio::net::TcpListener::bind(addr).await?;
|
|
|
|
|
info!("UI server listening on {}", addr);
|
|
|
|
|
|
|
|
|
|
axum::serve(listener, app).await
|
|
|
|
|
}
|