add seafile
This commit is contained in:
parent
a19dbe018e
commit
56449b8b7d
3 changed files with 73 additions and 0 deletions
|
|
@ -154,6 +154,7 @@
|
|||
glance.enable = lib.mkEnableOption "glance";
|
||||
hydra.enable = lib.mkEnableOption "hydra";
|
||||
immich.enable = lib.mkEnableOption "immich";
|
||||
seafile.enable = lib.mkEnableOption "seafile";
|
||||
vscode-server.enable = lib.mkEnableOption "vscode-server";
|
||||
wanikani-bypass-lessons.enable = lib.mkEnableOption "wanikani-bypass-lessons";
|
||||
wanikani-fetch-data.enable = lib.mkEnableOption "wanikani-fetch-data";
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
./jellyfin.nix
|
||||
./mailserver.nix
|
||||
./nginx.nix
|
||||
./seafile.nix
|
||||
./syncthing.nix
|
||||
./tailscale.nix
|
||||
./vaultwarden.nix
|
||||
|
|
|
|||
71
modules/nixos/services/seafile.nix
Normal file
71
modules/nixos/services/seafile.nix
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
{ config, lib, ... }:
|
||||
|
||||
{
|
||||
config = lib.mkMerge [
|
||||
(lib.mkIf config.osbmModules.services.seafile.enable {
|
||||
services.seafile = {
|
||||
enable = true;
|
||||
adminEmail = "osbm@osbm.dev";
|
||||
initialAdminPassword = "changeme";
|
||||
seafileSettings = {
|
||||
fileserver = {
|
||||
host = "unix:/run/seafile/server.sock";
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
# seafile and nginx
|
||||
(lib.mkIf (config.osbmModules.services.nginx.enable && config.osbmModules.services.seafile.enable) {
|
||||
services.nginx.virtualHosts."seafile.osbm.dev" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations = {
|
||||
"/" = {
|
||||
proxyPass = "http://unix:/run/seahub/gunicorn.sock";
|
||||
extraConfig = ''
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Host $server_name;
|
||||
proxy_read_timeout 1200s;
|
||||
client_max_body_size 0;
|
||||
'';
|
||||
};
|
||||
"/seafhttp" = {
|
||||
proxyPass = "http://unix:/run/seafile/server.sock";
|
||||
extraConfig = ''
|
||||
rewrite ^/seafhttp(.*)$ $1 break;
|
||||
client_max_body_size 0;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_connect_timeout 36000s;
|
||||
proxy_read_timeout 36000s;
|
||||
proxy_send_timeout 36000s;
|
||||
send_timeout 36000s;
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
# impermanence and seafile
|
||||
(lib.mkIf
|
||||
(
|
||||
config.osbmModules.services.seafile.enable
|
||||
&& config.osbmModules.hardware.disko.zfs.root.impermanenceRoot
|
||||
)
|
||||
{
|
||||
environment.persistence."/persist" = {
|
||||
directories = [
|
||||
{
|
||||
directory = "/var/lib/seafile";
|
||||
user = config.services.seafile.user;
|
||||
group = config.services.seafile.group;
|
||||
mode = "0750";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
)
|
||||
];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue