From 912ac1eced6ae7762fdae0298137e69ff1566151 Mon Sep 17 00:00:00 2001 From: Syping Date: Mon, 26 Feb 2024 12:01:23 +0100 Subject: [PATCH] add systemd service file --- CMakeLists.txt | 9 +++++++++ README.md | 3 ++- src/systemd/dtranslatebot.service.in | 13 +++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 src/systemd/dtranslatebot.service.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 3e17be0..c6f84ac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,6 +77,15 @@ if (WIN32) ) endif() +# dtranslatebot systemd Service +if (UNIX AND NOT APPLE) + option(WITH_SYSTEMD "Build with systemd Support" OFF) + if (WITH_SYSTEMD) + configure_file(src/systemd/dtranslatebot.service.in "${dtranslatebot_BINARY_DIR}/systemd/dtranslatebot.service" @ONLY) + install(FILES "${dtranslatebot_BINARY_DIR}/systemd/dtranslatebot.service" DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/systemd/system") + endif() +endif() + # dtranslatebot Target + Installs add_executable(dtranslatebot ${DTRANSLATEBOT_HEADERS} ${DTRANSLATEBOT_SOURCES} ${DTRANSLATEBOT_RESOURCES}) target_compile_definitions(dtranslatebot PRIVATE diff --git a/README.md b/README.md index de6ccdc..c84ce50 100644 --- a/README.md +++ b/README.md @@ -23,4 +23,5 @@ sudo cmake --install dtranslatebot-build ``` ##### Optional CMake flags -`-DWITH_BOOST=TRUE` +`-DWITH_BOOST=TRUE` +`-DWITH_SYSTEMD=TRUE` diff --git a/src/systemd/dtranslatebot.service.in b/src/systemd/dtranslatebot.service.in new file mode 100644 index 0000000..8828423 --- /dev/null +++ b/src/systemd/dtranslatebot.service.in @@ -0,0 +1,13 @@ +[Unit] +Description=Discord Translation Bot +After=network.target + +[Service] +User=dtranslatebot +Group=dtranslatebot +WorkingDirectory="@CMAKE_INSTALL_FULL_RUNSTATEDIR@/dtranslatebot" +ExecStart="@CMAKE_INSTALL_FULL_BINDIR@/dtranslatebot" "@CMAKE_INSTALL_FULL_SYSCONFDIR@/dtranslatebot.json" +Restart=on-failure + +[Install] +WantedBy=multi-user.target