summary refs log tree commit diff
path: root/services/dendrite.nix
blob: dcd4dc956fcc92d8d90de1e103f03b9043e86584 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
{ pkgs, unstablePkgs, auxiliaryPkgs, ... }:

let
  inherit (pkgs) dockerTools;
  inherit (auxiliaryPkgs) common;

  dendriteDir = "/srv/dendrite";

  dendrite = unstablePkgs.dendrite;

  dendriteImage = dockerTools.streamLayeredImage {
    name = "dendrite";
    tag = dendrite.version;
    fromImage = common.alpine.base;

    contents = [ dendrite ];
  };

in
{
  foundation.service.dendrite = {
    dendrite = {
      image = dendriteImage;
      ports = [
        [ 8008 8008 ]
        [ 8448 8448 ]
      ];

      volumes = [
        [ "${dendriteDir}/config" "/etc/dendrite" ]
        [ "${dendriteDir}/data" "/var/dendrite" ]
      ];

      entrypoint = "${dendrite}/bin/dendrite";
      workdir = "/etc/dendrite";
    };

    db = {
      fullImage = common.postgres15;

      volumes = [ [ "${dendriteDir}/pgdata" "/var/lib/postgresql/data" ] ];

      environment = {
        "POSTGRES_DATABASE" = "dendrite";
        "POSTGRES_USER" = "dendrite";
        "POSTGRES_PASSWORD" = "TFbQi2cHnzwe26";
      };
    };
  };
}