21 lines
579 B
Nix
21 lines
579 B
Nix
|
{ config, tools, ... }:
|
||
|
with tools.nginx;
|
||
|
let
|
||
|
inherit (tools.meta) domain;
|
||
|
cfg = config.services.ipfs;
|
||
|
gw = config.links.ipfsGateway;
|
||
|
in
|
||
|
{
|
||
|
users.users.nginx.extraGroups = [ cfg.group ];
|
||
|
|
||
|
services.nginx.virtualHosts = {
|
||
|
"ipfs.admin.${domain}" = vhosts.basic // {
|
||
|
locations."/api".proxyPass = "http://unix:/run/ipfs/ipfs-api.sock:";
|
||
|
locations."/ipns/webui.ipfs.io".proxyPass = "${gw.url}/ipns/webui.ipfs.io";
|
||
|
locations."= /".return = "302 /ipns/webui.ipfs.io";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
services.oauth2_proxy.nginx.virtualHosts = [ "ipfs.admin.${domain}" ];
|
||
|
}
|