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";
|
glance.enable = lib.mkEnableOption "glance";
|
||||||
hydra.enable = lib.mkEnableOption "hydra";
|
hydra.enable = lib.mkEnableOption "hydra";
|
||||||
immich.enable = lib.mkEnableOption "immich";
|
immich.enable = lib.mkEnableOption "immich";
|
||||||
|
seafile.enable = lib.mkEnableOption "seafile";
|
||||||
vscode-server.enable = lib.mkEnableOption "vscode-server";
|
vscode-server.enable = lib.mkEnableOption "vscode-server";
|
||||||
wanikani-bypass-lessons.enable = lib.mkEnableOption "wanikani-bypass-lessons";
|
wanikani-bypass-lessons.enable = lib.mkEnableOption "wanikani-bypass-lessons";
|
||||||
wanikani-fetch-data.enable = lib.mkEnableOption "wanikani-fetch-data";
|
wanikani-fetch-data.enable = lib.mkEnableOption "wanikani-fetch-data";
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,7 @@
|
||||||
./jellyfin.nix
|
./jellyfin.nix
|
||||||
./mailserver.nix
|
./mailserver.nix
|
||||||
./nginx.nix
|
./nginx.nix
|
||||||
|
./seafile.nix
|
||||||
./syncthing.nix
|
./syncthing.nix
|
||||||
./tailscale.nix
|
./tailscale.nix
|
||||||
./vaultwarden.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