summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorDawid Rycerz <dawid@rycerz.xyz>2025-07-14 20:52:55 +0300
committerDawid Rycerz <dawid@rycerz.xyz>2025-07-14 20:52:55 +0300
commiteb0c5d947a2e2755fac4a9b34d9dee6c2987afbb (patch)
tree6c423fe456a3cee24e292ee24b609b08dc6704e4 /src/main.rs
parent1c2873b3059f3e4d6bd02307ec5b22f761ce1c80 (diff)
feat: Add dockerfile and docker-compose
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs26
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();
+}