Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 16 additions & 10 deletions tkserv.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#include "thingpool.hh"
#include "sws.hh"
#include "search.hh"
#include <sqlite3.h>

using namespace std;
void addTkUserManagement(SimpleWebSystem& sws, const std::string& mailserver,
Expand Down Expand Up @@ -397,8 +398,13 @@ int main(int argc, char** argv)

argparse::ArgumentParser args("tkserv", "0.0");

args.add_argument("port").help("Port number to use").default_value(8089);
args.add_argument("root").help("Directory containing static assets").default_value("./html/");
args.add_argument("--rnd-admin-password").help("Create admin user if necessary, and set a random password").default_value(string(""));
args.add_argument("--insecure-cookie").help("Use an insecure cookie, for non-https operations").default_value(string(""));
args.add_argument("--smtp-server").help("IP address or address:port of SMTP smart host").default_value("10.0.0.2");
args.add_argument("--sender-email").help("From address of email we send").default_value("opentk@hubertnet.nl");
args.add_argument("--base-url").help("URL of this instance without trailing slash, for use in email").default_value("https://berthub.eu/tkconv");
args.add_argument("--dev").help("Increase SQLite log verbosity").flag();
try {
args.parse_args(argc, argv);
}
Expand All @@ -407,7 +413,12 @@ int main(int argc, char** argv)
std::exit(1);
}


if (args["--dev"] == true) {
sqlite3_config(SQLITE_CONFIG_LOG, +[](void *, int iErrCode, const char *zMsg) {
std::cout << "SQLite: " << zMsg << " (" << iErrCode << ")" << std::endl;
}, nullptr);
}

ThingPool<SQLiteWriter> tp("tk.sqlite3", SQLWFlag::ReadOnly);
tp.setInit([](SQLiteWriter& sqlw) {
sqlw.query("ATTACH DATABASE 'oo.sqlite3' as oo");
Expand Down Expand Up @@ -436,8 +447,7 @@ int main(int argc, char** argv)
sws.d_svr.set_keep_alive_max_count(1);
sws.d_svr.set_keep_alive_timeout(1);
sws.standardFunctions();
addTkUserManagement(sws, "10.0.0.2", "opentk@hubertnet.nl", "https://berthub.eu/tkconv");
// addTkUserManagement(sws, "10.0.0.2", "opentk@hubertnet.nl", "http://127.0.0.1:8089");
addTkUserManagement(sws, args.get<string>("--smtp-server"), args.get<string>("--sender-email"), args.get<string>("--base-url"));


if(args.is_used("--rnd-admin-password")) {
Expand Down Expand Up @@ -2441,13 +2451,9 @@ int main(int argc, char** argv)

sws.d_svr.set_payload_max_length(1024 * 1024); // 1MB

string root = "./html/";
if(argc > 2)
root = argv[2];
string root = args.get<string>("root");
sws.d_svr.set_mount_point("/", root);
int port = 8089;
if(argc > 1)
port = atoi(argv[1]);
int port = args.get<int>("port");

fmt::print("Listening on port {} serving html from {}, using {} threads\n",
port, root, CPPHTTPLIB_THREAD_POOL_COUNT);
Expand Down
Loading