use clap::Parser; use markbase_nfs::nfs::run_nfs_server; use std::path::PathBuf; #[derive(Parser)] #[command(name = "markbase-nfs")] #[command(about = "MarkBase NFS Server", long_about = None)] struct Cli { /// User ID (database name) #[arg(short, long)] user: String, /// Database path #[arg(short, long, default_value = "data/users")] data_dir: String, /// NFS server port #[arg(short, long, default_value_t = 11111)] port: u16, } fn main() -> anyhow::Result<()> { let cli = Cli::parse(); let db_path = PathBuf::from(&cli.data_dir).join(format!("{}.sqlite", cli.user)); if !db_path.exists() { eprintln!("Database not found: {}", db_path.display()); eprintln!("Please create database first using markbase-core"); return Err(anyhow::anyhow!("Database not found")); } eprintln!("Starting MarkBase NFS server..."); eprintln!("User: {}", cli.user); eprintln!("Database: {}", db_path.display()); eprintln!("Port: {}", cli.port); run_nfs_server(cli.user, db_path, cli.port) }