diff options
| author | Jesper Jensen <jesper@jnsn.dev> | 2026-02-19 21:30:45 +0100 |
|---|---|---|
| committer | Jesper Jensen <jesper@jnsn.dev> | 2026-02-19 21:46:21 +0100 |
| commit | f2ff8883b298e23119729b75f5b908abeddde095 (patch) | |
| tree | 325e10c5ae079366db4fb70e9bef1140f50f9baa /src/main.c | |
| parent | b0e992e99bf0f6bcb3602f6f4fd4874cc510cfaa (diff) | |
Prepare for server deployment
Diffstat (limited to 'src/main.c')
| -rw-r--r-- | src/main.c | 24 |
1 files changed, 22 insertions, 2 deletions
@@ -1,7 +1,15 @@ #include "web.h" +#include <signal.h> #include <stdio.h> #include <stdlib.h> +#include <unistd.h> + +static volatile sig_atomic_t shutdown_requested = 0; + +static void signal_shutdown(int sig) { + shutdown_requested = 1; +} int main(int argc, char ** argv) { if (argc != 2) { @@ -17,15 +25,27 @@ int main(int argc, char ** argv) { return 1; } + const char *local = getenv("SQLITE_PATH"); + if(local == NULL) { + local = "/var/lib/borgflag/data.db"; + } + struct App app = { - .dbname = "borgflag.db" + .dbname = local, }; struct Server server; server.app = &app; + signal(SIGTERM, signal_shutdown); + signal(SIGINT, signal_shutdown); + prepare_database(&app); web_begin(&server, atoi(argv[1]), admin_user, admin_pass); - getchar(); + + while (!shutdown_requested) { + pause(); + } + web_join(&server); } |
