From 104a592b1118586c00d5712d5244bf982830172e Mon Sep 17 00:00:00 2001 From: Jurn Wubben Date: Sun, 30 Mar 2025 11:25:45 +0000 Subject: [PATCH 1/3] Seafile minimal config working, now modularise and configure. --- flake.lock | 17 +++++++++++++++++ flake.nix | 1 + system/server/default.nix | 2 +- system/server/seafile.nix | 29 +++++++++++++++++++++++++++++ 4 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 system/server/seafile.nix diff --git a/flake.lock b/flake.lock index 6dce111..522148b 100644 --- a/flake.lock +++ b/flake.lock @@ -537,6 +537,22 @@ "url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1743161759, + "narHash": "sha256-AJJy0SKtqLld9JPYi/yvI2P6qCNpcjExHuniZbRSklk=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "873f4b2202bdac3845fa5ae294cfa2748ef0667e", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.11-small", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1737003892, @@ -702,6 +718,7 @@ "hm": "hm", "nixcord": "nixcord", "nixpkgs": "nixpkgs_4", + "nixpkgs-stable": "nixpkgs-stable", "nvf": "nvf", "somcli": "somcli", "stylix": "stylix" diff --git a/flake.nix b/flake.nix index 17d7ec3..5ab046c 100644 --- a/flake.nix +++ b/flake.nix @@ -29,6 +29,7 @@ inputs = { # Nixpkgs and other core shit nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable-small"; # build error unrelated to config. + nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11-small"; # build error unrelated to config. flake-parts.url = "github:hercules-ci/flake-parts"; hm = { diff --git a/system/server/default.nix b/system/server/default.nix index 17303ee..225bf10 100644 --- a/system/server/default.nix +++ b/system/server/default.nix @@ -1,4 +1,4 @@ {lib, ...}: { - imports = [./caddy.nix ./transfer-sh.nix]; + imports = [./caddy.nix ./transfer-sh.nix ./seafile.nix]; options.niksos.server = lib.mkEnableOption "server servcies (such as caddy)."; #TODO: per service option. } diff --git a/system/server/seafile.nix b/system/server/seafile.nix new file mode 100644 index 0000000..04cd0b9 --- /dev/null +++ b/system/server/seafile.nix @@ -0,0 +1,29 @@ +{inputs, pkgs, ...}: { + services.seafile = { + enable = true; + seahubPackage = inputs.nixpkgs-stable.legacyPackages.${pkgs.system}.seahub; + + adminEmail = "jurnwubben@gmail.com"; + initialAdminPassword = "test"; + + ccnetSettings.General.SERVICE_URL = "https://files.jsw.tf"; + + seafileSettings = { + fileserver = { + host = "unix:/run/seafile/server.sock"; + }; + }; + }; + + services.caddy.virtualHosts."files.jsw.tf" = { + # serverAliases = ["www.share.jsw.tf"]; + extraConfig = '' + handle_path /seafhttp/* { + reverse_proxy * unix//run/seafile/server.sock + } + handle_path /* { + reverse_proxy * unix//run/seahub/gunicorn.sock + } + ''; + }; +} From 5f210e227b9f2bb741a697c7bcbf0c9c4c7d6a0d Mon Sep 17 00:00:00 2001 From: Jurn Wubben Date: Sun, 30 Mar 2025 12:00:45 +0000 Subject: [PATCH 2/3] seafile configuration --- system/server/seafile.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/system/server/seafile.nix b/system/server/seafile.nix index 04cd0b9..83fb1da 100644 --- a/system/server/seafile.nix +++ b/system/server/seafile.nix @@ -4,10 +4,17 @@ seahubPackage = inputs.nixpkgs-stable.legacyPackages.${pkgs.system}.seahub; adminEmail = "jurnwubben@gmail.com"; - initialAdminPassword = "test"; + initialAdminPassword = "ChangeMeTheFuckNow!"; + + gc.enable = true; ccnetSettings.General.SERVICE_URL = "https://files.jsw.tf"; - + seahubExtraConf = '' +ALLOWED_HOSTS = ['.files.jsw.tf'] +CSRF_COOKIE_SECURE = True +CSRF_COOKIE_SAMESITE = 'Strict' +CSRF_TRUSTED_ORIGINS = ['https://files.jsw.tf', 'https://www.files.jsw.tf'] + ''; seafileSettings = { fileserver = { host = "unix:/run/seafile/server.sock"; From 9c344e9df2d952c93648869ac229ccdaa4c43bc4 Mon Sep 17 00:00:00 2001 From: Jurn Wubben Date: Sun, 30 Mar 2025 20:17:20 +0000 Subject: [PATCH 3/3] finished seafile configuration (for now) --- system/server/seafile.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/system/server/seafile.nix b/system/server/seafile.nix index 83fb1da..6c35106 100644 --- a/system/server/seafile.nix +++ b/system/server/seafile.nix @@ -1,6 +1,6 @@ -{inputs, pkgs, ...}: { +{config, inputs, pkgs, ...}:{ services.seafile = { - enable = true; + enable = config.niksos.server; seahubPackage = inputs.nixpkgs-stable.legacyPackages.${pkgs.system}.seahub; adminEmail = "jurnwubben@gmail.com"; @@ -16,8 +16,12 @@ CSRF_COOKIE_SAMESITE = 'Strict' CSRF_TRUSTED_ORIGINS = ['https://files.jsw.tf', 'https://www.files.jsw.tf'] ''; seafileSettings = { + quota.default = 30; + history.keep_days = 40; + library_trash.expire_days = 14; fileserver = { - host = "unix:/run/seafile/server.sock"; + host = "unix:/run/seafile/server.sock"; + web_token_expire_time = 14400; # 4 hours }; }; };