refactor: switch from modules to import arrays
This commit is contained in:
parent
d893750c09
commit
41eaa38d31
75 changed files with 1870 additions and 2541 deletions
|
|
@ -4,54 +4,41 @@
|
|||
...
|
||||
}:
|
||||
let
|
||||
feature = "paperless";
|
||||
port = "5013";
|
||||
in
|
||||
{
|
||||
config = lib.mkIf config.${feature}.enable {
|
||||
services = {
|
||||
# service
|
||||
paperless = {
|
||||
enable = true;
|
||||
dataDir = "/srv/paperless";
|
||||
database.createLocally = true;
|
||||
passwordFile = config.age.secrets.paperless.path;
|
||||
port = lib.toInt port;
|
||||
settings = {
|
||||
PAPERLESS_URL = "https://paperless.fi33.buzz";
|
||||
};
|
||||
};
|
||||
|
||||
# database backup
|
||||
borgmatic.settings = {
|
||||
postgresql_databases = [
|
||||
{
|
||||
name = "paperless";
|
||||
hostname = "localhost";
|
||||
username = "root";
|
||||
password = "{credential systemd borgmatic-pg}";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
# reverse proxy
|
||||
nginx = {
|
||||
virtualHosts."${feature}.fi33.buzz" = {
|
||||
forceSSL = true;
|
||||
useACMEHost = "fi33.buzz";
|
||||
locations."/" = {
|
||||
proxyPass = "http://localhost:${port}";
|
||||
# proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
services = {
|
||||
paperless = {
|
||||
enable = true;
|
||||
dataDir = "/srv/paperless";
|
||||
database.createLocally = true;
|
||||
passwordFile = config.age.secrets.paperless.path;
|
||||
port = lib.toInt port;
|
||||
settings = {
|
||||
PAPERLESS_URL = "https://paperless.fi33.buzz";
|
||||
};
|
||||
};
|
||||
|
||||
age.secrets."paperless" = {
|
||||
file = ../../../secrets/paperless.age;
|
||||
owner = "paperless";
|
||||
borgmatic.settings = {
|
||||
postgresql_databases = [
|
||||
{
|
||||
name = "paperless";
|
||||
hostname = "localhost";
|
||||
username = "root";
|
||||
password = "{credential systemd borgmatic-pg}";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
nginx.virtualHosts."miniflux.fi33.buzz" = {
|
||||
forceSSL = true;
|
||||
useACMEHost = "fi33.buzz";
|
||||
locations."/".proxyPass = "http://localhost:${port}";
|
||||
};
|
||||
};
|
||||
|
||||
options.${feature}.enable = lib.mkEnableOption "enables ${feature}";
|
||||
age.secrets."paperless" = {
|
||||
file = ../../../secrets/paperless.age;
|
||||
owner = "paperless";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue