Something went wrong. Try again.
A simple to-do app focused on tasks that can be completed within a specific time span. taskline.tobinio.dev
Something went wrong. Try again.
Rust
at rust-backend
123456789101112131415161718192021222324252627282930313233343536use api::app;use color_eyre::eyre;use std::env;use tracing::{Level, info};
#[tokio::main]async fn main() -> eyre::Result<()> { tracing_subscriber::fmt().with_max_level(Level::INFO).init();
dotenvy::dotenv().ok(); let db_url = env( "API_DATABASE_URL", "sqlite://../.data/storage.sqlite?mode=rwc", );
let web_push_key = env::var("API_WEBPUSH_PRIVATE_KEY").ok();
let auth_api_base = env("API_AUTH_API_BASE", "http://localhost:3000"); let self_api_base = env("API_SELF_API_BASE", "http://localhost:8080");
let app = app(&db_url, None, web_push_key, auth_api_base, self_api_base).await?;
info!("Starting server"); let listener = tokio::net::TcpListener::bind("0.0.0.0:8080".to_string()) .await .expect("failed to bind listener");
axum::serve(listener, app).await?;
Ok(())}
fn env(key: &str, default: &str) -> String { env::var(key).unwrap_or(default.to_string())}