···6767 }
68686969 /// Spawns a `docker compose` process and returns a stream of raw bytes merging both stdout and stderr
7070- #[wrap_err("Failed to spawn docker compose process")]
7170 pub(super) fn cli<'a>(
7271 &self,
7372 name: &'a str,
+8-2
packages/node/src/main.rs
···11//! The main entry point for the Luminary Node, which serves as the backend for the Luminary Panel.
2233-use std::sync::Arc;
33+use std::{fs::OpenOptions, sync::Arc};
4455use eyre::{Context, Result};
66use log::debug;
···12121313use crate::{configuration::LuminaryConfiguration, core::LuminaryEngine};
14141515-const DATABASE: &str = "data/luminary.db";
1515+const DATABASE: &str = "./data/luminary.db";
16161717mod api;
1818mod configuration;
···57575858/// Sets up the SQLite database, running any pending migrations.
5959async fn setup_database() -> Result<SqlitePool> {
6060+ OpenOptions::new()
6161+ .write(true)
6262+ .create(true)
6363+ .open(DATABASE)
6464+ .wrap_err_with(|| format!("Invalid permissions to open database file."))?;
6565+6066 // Connect to the database
6167 let options = SqliteConnectOptions::default()
6268 .create_if_missing(true)