aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/nixos/modules/services/web-apps/shiori.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/nixos/modules/services/web-apps/shiori.nix')
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/services/web-apps/shiori.nix51
1 files changed, 50 insertions, 1 deletions
diff --git a/infra/libkookie/nixpkgs/nixos/modules/services/web-apps/shiori.nix b/infra/libkookie/nixpkgs/nixos/modules/services/web-apps/shiori.nix
index 1817a2039352..9083ddfa2206 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/services/web-apps/shiori.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/services/web-apps/shiori.nix
@@ -37,11 +37,60 @@ in {
description = "Shiori simple bookmarks manager";
wantedBy = [ "multi-user.target" ];
+ environment.SHIORI_DIR = "/var/lib/shiori";
+
serviceConfig = {
ExecStart = "${package}/bin/shiori serve --address '${address}' --port '${toString port}'";
+
DynamicUser = true;
- Environment = "SHIORI_DIR=/var/lib/shiori";
StateDirectory = "shiori";
+ # As the RootDirectory
+ RuntimeDirectory = "shiori";
+
+ # Security options
+
+ BindReadOnlyPaths = [
+ "/nix/store"
+
+ # For SSL certificates, and the resolv.conf
+ "/etc"
+ ];
+
+ CapabilityBoundingSet = "";
+
+ DeviceAllow = "";
+
+ LockPersonality = true;
+
+ MemoryDenyWriteExecute = true;
+
+ PrivateDevices = true;
+ PrivateUsers = true;
+
+ ProtectClock = true;
+ ProtectControlGroups = true;
+ ProtectHome = true;
+ ProtectHostname = true;
+ ProtectKernelLogs = true;
+ ProtectKernelModules = true;
+ ProtectKernelTunables = true;
+
+ RestrictNamespaces = true;
+ RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+ RestrictRealtime = true;
+ RestrictSUIDSGID = true;
+
+ RootDirectory = "/run/shiori";
+
+ SystemCallArchitectures = "native";
+ SystemCallErrorNumber = "EPERM";
+ SystemCallFilter = [
+ "@system-service"
+
+ "~@chown" "~@cpu-emulation" "~@debug" "~@ipc" "~@keyring" "~@memlock"
+ "~@module" "~@obsolete" "~@privileged" "~@process" "~@raw-io"
+ "~@resources" "~@setuid"
+ ];
};
};
};