diff --git a/modules/system/services/server/fileserver/default.nix b/modules/system/services/server/fileserver/default.nix index c10f4f6..3ff4afc 100644 --- a/modules/system/services/server/fileserver/default.nix +++ b/modules/system/services/server/fileserver/default.nix @@ -3,5 +3,6 @@ imports = [ ./nfs ./samba + ./seafile ]; } diff --git a/modules/system/services/server/fileserver/seafile/default.nix b/modules/system/services/server/fileserver/seafile/default.nix new file mode 100644 index 0000000..c43d614 --- /dev/null +++ b/modules/system/services/server/fileserver/seafile/default.nix @@ -0,0 +1,12 @@ +{ config, ... }: +{ + imports = [ ./nginx ]; + + services.seafile = { + enable = config.system.server.enable; + adminEmail = "jimbo@${config.domains.p2}"; + initialAdminPassword = config.secrets.mainAccPass; + ccnetSettings.General.SERVICE_URL = "https://sync.${config.domains.p2}"; + seafileSettings.fileserver.host = "unix:/run/seafile/server.sock"; + }; +} diff --git a/modules/system/services/server/fileserver/seafile/nginx/default.nix b/modules/system/services/server/fileserver/seafile/nginx/default.nix new file mode 100644 index 0000000..3146ab1 --- /dev/null +++ b/modules/system/services/server/fileserver/seafile/nginx/default.nix @@ -0,0 +1,17 @@ +{ lib, config, ... }: +{ + services.nginx.virtualHosts."sync.${config.domains.p2}" = lib.mkIf config.services.seafile.enable { + enableACME = true; + forceSSL = true; + locations = { + "/" = { + proxyPass = "http://unix:/run/seahub/gunicorn.sock"; + proxyWebsockets = true; + }; + "/seafhttp" = { + proxyPass = "http://unix:/run/seafile/server.sock"; + proxyWebsockets = true; + }; + }; + }; +}