27 lines
752 B
Rust
27 lines
752 B
Rust
use dotenv::dotenv;
|
|
use sqlx::{pool::PoolOptions, SqlitePool};
|
|
use std::env;
|
|
use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
|
|
|
|
#[tokio::main]
|
|
async fn main() {
|
|
dotenv().ok(); // load .env variables
|
|
|
|
// Logging
|
|
tracing_subscriber::registry()
|
|
.with(tracing_subscriber::fmt::layer())
|
|
.init();
|
|
|
|
// DB
|
|
let database_url = env::var("DATABASE_URL").expect("DATABASE_URL must be set");
|
|
let db: SqlitePool = PoolOptions::new().connect(&database_url).await.unwrap();
|
|
|
|
// Axum
|
|
let port = env::var("PORT").expect("PORT must be set");
|
|
let listener = tokio::net::TcpListener::bind(&format!("0.0.0.0:{port}"))
|
|
.await
|
|
.unwrap();
|
|
|
|
stationslauf::start(listener, db).await;
|
|
}
|