main
nix 55 lines 1.19 KB
Raw
1 {
2 inputs,
3 config,
4 pkgs,
5 ...
6 }:
7
8 {
9 imports = [
10 inputs.freescout.nixosModules.freescout
11 ../nginx.nix
12 ];
13
14 services.freescout = {
15 enable = true;
16 package = inputs.nixpkgs-unstable.legacyPackages.${pkgs.stdenv.hostPlatform.system}.freescout;
17 domain = "freescout.nixos.org";
18
19 settings.APP_KEY._secret = config.sops.secrets.freescout-app-key.path;
20
21 databaseSetup = {
22 enable = true;
23 kind = "pgsql";
24 };
25
26 nginx = {
27 forceSSL = true;
28 enableACME = true;
29 };
30 };
31
32 services.postgresqlBackup = {
33 enable = true;
34 databases = [ "freescout" ];
35 };
36
37 services.backup.includes = [
38 "/var/lib/freescout"
39 config.services.postgresqlBackup.location
40 ];
41
42 # How to generate:
43 #
44 # $ cd non-critical-infra
45 # $ SECRET_PATH=secrets/freescout-app-key.umbriel
46 # $ echo "base64:$(nix run nixpkgs#openssl -- rand -base64 32)" > "$SECRET_PATH"
47 # $ sops encrypt --in-place "$SECRET_PATH"
48 sops.secrets.freescout-app-key = {
49 format = "binary";
50 owner = config.services.postsrsd.user;
51 group = config.services.postsrsd.group;
52 sopsFile = ../../secrets/freescout-app-key.umbriel;
53 restartUnits = [ "postsrsd.service" ];
54 };
55 }