feat: port MinIO service to new modular services structure
This commit is contained in:
parent
c7e579ec95
commit
9b945b0a84
@ -6,6 +6,7 @@
|
|||||||
./jellyfin
|
./jellyfin
|
||||||
./jellyseer
|
./jellyseer
|
||||||
./lidarr
|
./lidarr
|
||||||
|
./minio
|
||||||
./navidrome
|
./navidrome
|
||||||
./nzbget
|
./nzbget
|
||||||
./prowlarr
|
./prowlarr
|
||||||
|
36
modules/services/minio/default.nix
Normal file
36
modules/services/minio/default.nix
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
|
||||||
|
cfg = config.pepe.services.minio;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.pepe.services.minio = with lib; {
|
||||||
|
enable = mkEnableOption "Enable MinIO S3-compatible object storage";
|
||||||
|
package = mkPackageOption pkgs "minio" { default = pkgs.minio_legacy_fs; };
|
||||||
|
domain = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
services.minio = {
|
||||||
|
enable = true;
|
||||||
|
package = cfg.package;
|
||||||
|
};
|
||||||
|
|
||||||
|
pepe.core.vhost.hosts.${cfg.domain} = with config.pepe.core.network; {
|
||||||
|
dnsInterfaces = [ interfaceTypes.vpn interfaceTypes.lan ];
|
||||||
|
locations."/" = {
|
||||||
|
port = 9000;
|
||||||
|
allowLAN = true;
|
||||||
|
allowVPN = true;
|
||||||
|
extraConfig = ''
|
||||||
|
client_max_body_size 500M;
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user