diff options
| author | Dawid Rycerz <dawid@rycerz.xyz> | 2025-07-14 20:52:55 +0300 |
|---|---|---|
| committer | Dawid Rycerz <dawid@rycerz.xyz> | 2025-07-14 20:52:55 +0300 |
| commit | eb0c5d947a2e2755fac4a9b34d9dee6c2987afbb (patch) | |
| tree | 6c423fe456a3cee24e292ee24b609b08dc6704e4 /src/main.rs | |
| parent | 1c2873b3059f3e4d6bd02307ec5b22f761ce1c80 (diff) | |
feat: Add dockerfile and docker-compose
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..a387657 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,26 @@ +use silmataivas::app_with_state; +use sqlx::SqlitePool; +use std::env; +use std::net::SocketAddr; +use std::sync::Arc; +use tokio::fs; + +#[tokio::main] +async fn main() { + // Set up database path + let db_path = + env::var("DATABASE_URL").unwrap_or_else(|_| "sqlite://./data/silmataivas.db".to_string()); + // Ensure data directory exists + let _ = fs::create_dir_all("./data").await; + // Connect to SQLite + let pool = SqlitePool::connect(&db_path) + .await + .expect("Failed to connect to DB"); + let app = app_with_state(Arc::new(pool)); + let addr = SocketAddr::from(([0, 0, 0, 0], 4000)); + let listener = tokio::net::TcpListener::bind(addr) + .await + .expect("Failed to bind address"); + println!("Listening on {}", listener.local_addr().unwrap()); + axum::serve(listener, app).await.unwrap(); +} |
