summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/storj/client.nix
blob: d4831983872244b39cea25910a43bed1288c1322 (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
{ lib, ... }:
let
  port = "14002";
  internal-ip = "192.168.111.11";
in
{
  networking.firewall.allowedTCPPorts = [ 28967 ];
  virtualisation.oci-containers.containers.storj-storagenode = {
    image = "storjlabs/storagenode:latest";
    ports = [
      # TODO: omo ip
      "0.0.0.0:28967:28967"
      "127.0.0.1:${port}:${port}"
    ];
    environment = {
      # SETUP = "true"; # must be run only once ...
      WALLET = "0xeD0d2a2B33F6812b45d2D9FF7a139A3fF65a24C0";
      EMAIL = "storj.io@syntax-fehler.de";
      ADDRESS = "euer.krebsco.de:28967";
      STORAGE = "3TB";
    };
    volumes = [
      "/media/cryptX/lib/storj/identity:/app/identity"
      "/media/cryptX/lib/storj/storage:/app/config"
    ];
  };
  systemd.services.docker-storj-storagenode.serviceConfig = {
    StandardOutput = lib.mkForce "journal";
    StandardError = lib.mkForce "journal";
  };

  services.nginx.virtualHosts."storj" = {
    serverAliases = [
              "storj.lan"
    ];

    locations."/".proxyPass = "http://localhost:${port}";
    locations."/".proxyWebsockets = true;
    extraConfig = ''
      if ( $server_addr != "${internal-ip}" ) {
        return 403;
      }
    '';
  };
}