make file for deployment
This commit is contained in:
parent
ca87adfe0f
commit
2f04653df4
3 changed files with 25 additions and 7 deletions
6
Makefile
Normal file
6
Makefile
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
deploy:
|
||||||
|
cargo build --release
|
||||||
|
sudo cp target/release/server-dash-api /var/lib/server-dash-api/server-dash-api
|
||||||
|
sudo chown server-dash-api:server-dash-api /var/lib/server-dash-api/server-dash-api
|
||||||
|
sudo chmod 755 /var/lib/server-dash-api/server-dash-api
|
||||||
|
sudo systemctl restart server-dash-api
|
||||||
22
flake.nix
22
flake.nix
|
|
@ -38,10 +38,9 @@
|
||||||
linux-pam
|
linux-pam
|
||||||
libclang
|
libclang
|
||||||
glibc.dev
|
glibc.dev
|
||||||
|
gnumake
|
||||||
];
|
];
|
||||||
in
|
package = pkgs.rustPlatform.buildRustPackage {
|
||||||
{
|
|
||||||
packages.default = pkgs.rustPlatform.buildRustPackage {
|
|
||||||
pname = "server-dash-api";
|
pname = "server-dash-api";
|
||||||
version = "0.1.0";
|
version = "0.1.0";
|
||||||
src = ./.;
|
src = ./.;
|
||||||
|
|
@ -52,6 +51,9 @@
|
||||||
LIBCLANG_PATH = "${pkgs.libclang.lib}/lib";
|
LIBCLANG_PATH = "${pkgs.libclang.lib}/lib";
|
||||||
BINDGEN_EXTRA_CLANG_ARGS = "-I${pkgs.linux-pam}/include -I${pkgs.glibc.dev}/include";
|
BINDGEN_EXTRA_CLANG_ARGS = "-I${pkgs.linux-pam}/include -I${pkgs.glibc.dev}/include";
|
||||||
};
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
packages.default = package;
|
||||||
devShells.default = pkgs.mkShell {
|
devShells.default = pkgs.mkShell {
|
||||||
inherit nativeBuildInputs buildInputs;
|
inherit nativeBuildInputs buildInputs;
|
||||||
PKG_CONFIG_PATH = "${pkgs.openssl.dev}/lib/pkgconfig";
|
PKG_CONFIG_PATH = "${pkgs.openssl.dev}/lib/pkgconfig";
|
||||||
|
|
@ -80,6 +82,11 @@
|
||||||
{
|
{
|
||||||
options.services.server-dash-api = {
|
options.services.server-dash-api = {
|
||||||
enable = lib.mkEnableOption "server-dash-api system stats API";
|
enable = lib.mkEnableOption "server-dash-api system stats API";
|
||||||
|
useNixBuild = lib.mkOption {
|
||||||
|
type = lib.types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "Build the binary via Nix instead of using a manually deployed binary";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf config.services.server-dash-api.enable {
|
config = lib.mkIf config.services.server-dash-api.enable {
|
||||||
|
|
@ -116,8 +123,13 @@
|
||||||
User = "server-dash-api";
|
User = "server-dash-api";
|
||||||
Group = "server-dash-api";
|
Group = "server-dash-api";
|
||||||
SupplementaryGroups = [ "shadow" ];
|
SupplementaryGroups = [ "shadow" ];
|
||||||
ExecStart = "${self.packages.${pkgs.system}.default}/bin/server-dash-api";
|
ExecStart =
|
||||||
Restart = "always";
|
if config.services.server-dash-api.useNixBuild then
|
||||||
|
"${self.packages.${pkgs.system}.default}/bin/server-dash-api"
|
||||||
|
else
|
||||||
|
"/var/lib/server-dash-api/server-dash-api";
|
||||||
|
Restart = "on-failure";
|
||||||
|
RestartSec = "10s";
|
||||||
StateDirectory = "server-dash-api";
|
StateDirectory = "server-dash-api";
|
||||||
Environment = [
|
Environment = [
|
||||||
"RUST_LOG=info"
|
"RUST_LOG=info"
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@ pub const ALLOWED_SERVICES: &[&str] = &[
|
||||||
"syncthing",
|
"syncthing",
|
||||||
"caddy",
|
"caddy",
|
||||||
"sshd",
|
"sshd",
|
||||||
"dashboard",
|
"server-dash",
|
||||||
"sysapi",
|
"server-dash-api",
|
||||||
"cloudflare-dyndns.timer",
|
"cloudflare-dyndns.timer",
|
||||||
"cloudflare-dyndns",
|
"cloudflare-dyndns",
|
||||||
"docker",
|
"docker",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue