+7
fly.toml
+7
fly.toml
···
8
8
9
9
[build]
10
10
11
+
[env]
12
+
DATABASE_URL = '/data/sessions.db'
13
+
11
14
[http_service]
12
15
internal_port = 8080
13
16
force_https = true
···
15
18
auto_start_machines = true
16
19
min_machines_running = 0
17
20
processes = ['app']
21
+
22
+
[[mounts]]
23
+
source = 'app_data'
24
+
destination = '/data'
18
25
19
26
[[vm]]
20
27
memory = '512mb'
+4
server/.env.example
+4
server/.env.example
···
11
11
# Port the server will listen on (defaults to 3000 if not set)
12
12
PORT=3000
13
13
14
+
# Database Configuration
15
+
# SQLite database file path (defaults to ./sessions.db if not set)
16
+
DATABASE_URL=./sessions.db
17
+
14
18
# OAuth Configuration
15
19
# These values will be used if environment variables are not set
16
20
+7
-1
server/src/server.gleam
+7
-1
server/src/server.gleam
···
79
79
let assert Ok(priv_directory) = wisp.priv_directory("server")
80
80
let static_directory = priv_directory <> "/static"
81
81
82
+
// Get database URL from environment or default to ./sessions.db
83
+
let database_url = case envoy.get("DATABASE_URL") {
84
+
Ok(url) -> url
85
+
Error(_) -> "./sessions.db"
86
+
}
87
+
82
88
// Initialize database
83
-
use db <- sqlight.with_connection("./sessions.db")
89
+
use db <- sqlight.with_connection(database_url)
84
90
let assert Ok(_) = session.init_db(db)
85
91
86
92
// Get host from environment or default to 127.0.0.1