nixos-config/2configs/storj/client.nix

46 lines
1.2 KiB
Nix

{ 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;
}
'';
};
}