mirror of
https://github.com/tuxdotrs/nix-config.git
synced 2026-08-05 05:46:33 +05:30
Compare commits
4 Commits
05b5d1e04b
...
bc4054b635
| Author | SHA1 | Date | |
|---|---|---|---|
|
bc4054b635
|
|||
|
18e90d01fd
|
|||
|
9d7785a335
|
|||
|
4dde5f976b
|
@@ -26,7 +26,7 @@
|
||||
];
|
||||
|
||||
settings = {
|
||||
close_on_focus_loss = false;
|
||||
close_on_focus_loss = true;
|
||||
consider_preedit = true;
|
||||
pop_to_root_on_close = true;
|
||||
favicon_service = "twenty";
|
||||
|
||||
@@ -43,16 +43,17 @@
|
||||
enable = true;
|
||||
domain = "lab.tux.rs";
|
||||
};
|
||||
aiostreams = {
|
||||
enable = true;
|
||||
port = 4567;
|
||||
|
||||
mediaflow-proxy = {
|
||||
enable = true;
|
||||
port = 8888;
|
||||
|
||||
environment = {
|
||||
ADDON_ID = "aiostreams.lab.tux.rs";
|
||||
BASE_URL = "https://aiostreams.lab.tux.rs";
|
||||
APP__SERVER__HOST = "0.0.0.0";
|
||||
APP__SERVER__PORT = "8888";
|
||||
};
|
||||
|
||||
environmentFile = innerArgs.config.sops.secrets."aiostreams".path;
|
||||
environmentFile = innerArgs.config.sops.secrets."mediaflow-proxy".path;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -98,6 +99,10 @@
|
||||
aiostreams = {
|
||||
sopsFile = ./secrets.yaml;
|
||||
};
|
||||
|
||||
mediaflow-proxy = {
|
||||
sopsFile = ./secrets.yaml;
|
||||
};
|
||||
};
|
||||
|
||||
# --- Networking ---
|
||||
|
||||
@@ -7,6 +7,7 @@ cloudflare-credentials:
|
||||
email: ENC[AES256_GCM,data:K9L6H4dqNNgbCFg=,iv:jirDJb+Y2sXrup6/doRmOdd8tV7zLnttcgG75r4Fs04=,tag:XeyMVC+Q9TEuTxSfOeR2Uw==,type:str]
|
||||
dns-api-token: ENC[AES256_GCM,data:aLZqasMaxpv08KuGqhe66J/jHqEnMNdZrYtIurv01xk2/5OW//PaHQ==,iv:7tZYpOT27n/RWaj1CqiZbhA/g3aKbxjdkMA6SuW/YpQ=,tag:oetxyD9XMrihSLyDvl7qfw==,type:str]
|
||||
aiostreams: ENC[AES256_GCM,data:HeV4NONoqTti/4GBpzYaUEGgrSpDfCfcGJ3kbZAUtg5hm1zQCcelx3N4b/woSjaNZrDj98P5R3oZUkgVfv0RS2PKdJc3EdLaPFwXcuJ+W0U373sryU85uIIZi4BvQ4LyCCpuclPU5dgQmb9rzbIvhlu/ftfpKJsRbH2bUgMMo2nohMWUtg==,iv:V60U/omnN+09cSOQGvwwN8DC6/D++MB0axQyzIG97zo=,tag:vwNbXRj3CS+okb0NSwxgYw==,type:str]
|
||||
mediaflow-proxy: ENC[AES256_GCM,data:jk2eYyOmO3XpqFNo3jucB/VvL6pWBGrquYi/OpIwvSPqjbo=,iv:DIsqykv77/TlLhT9uIPGJRBlCQHVdhcuYlc56qQGZgk=,tag:phMXArjIrNNI51U9hpaUzg==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- enc: |
|
||||
@@ -27,7 +28,7 @@ sops:
|
||||
4TkObqH8ddGpbd7cX5a/wboTjYuEdAviWxjK2oBPgtcFc1f03X3tmA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
recipient: age1mzxxxzhy3us3rd960ufqv7vlxj5cnug86md6x69llg9ujzw2pqws057llf
|
||||
lastmodified: "2026-06-30T11:49:48Z"
|
||||
mac: ENC[AES256_GCM,data:YdL/ei0+1DQZFBJSd3cb3un39GBZcoN0zzTcveNL8zAL7Kz2RgwX6qyoGjo6DaWgFpfEIGwLi36OC8sSjo3ukWqgMezcPjkHVZnmj4bsQ+6ikdnaNGZ2Momm2KNNXCezQJkn5HFkCQMOTY8Ad3zwBqmEuM1+aCfpdI16xvd6Ero=,iv:EmVb9OJrUXIdDsvPwEH4wx74TktKhzMlEmoa7rL8QB8=,tag:BifpUMQKXImg+v9kNNKPKQ==,type:str]
|
||||
lastmodified: "2026-07-13T15:24:16Z"
|
||||
mac: ENC[AES256_GCM,data:5NOOqdtJJj0ph3apCwaokiRySW9QIlmR01I7fFZDT2sNHqrJSgVVN8U5WtOnM1S61ID7MRxGLpSegU9M8lPnZd2WmhGIlactJjoSTE9+Xy5hj4m9mdWW0TZg9w4qmyIo8o8DuoDa2LiyilT97XaMnvoDz2ZqWcJxi44URLmk9o0=,iv:czkDfHv9eg1VzyMUT48W4OmmeSaUu6TzeYcyYSBu/+w=,tag:140ldPXqetX3733QnoOU0g==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.13.1
|
||||
|
||||
57
modules/nixos/services/mediaflow-proxy.nix
Normal file
57
modules/nixos/services/mediaflow-proxy.nix
Normal file
@@ -0,0 +1,57 @@
|
||||
{
|
||||
flake.modules.nixos.services =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.tnix.services.mediaflow-proxy;
|
||||
in
|
||||
{
|
||||
options.tnix.services.mediaflow-proxy = {
|
||||
enable = mkEnableOption "Enable MediaFlow Proxy";
|
||||
|
||||
port = mkOption {
|
||||
type = types.int;
|
||||
default = 8888;
|
||||
};
|
||||
|
||||
environment = mkOption {
|
||||
type = with types; attrsOf str;
|
||||
default = { };
|
||||
};
|
||||
|
||||
environmentFile = mkOption {
|
||||
type = with types; path;
|
||||
default = "";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
virtualisation.oci-containers.containers.mediaflow-proxy = {
|
||||
autoStart = true;
|
||||
image = "ghcr.io/mhdzumair/mediaflow-proxy-light:latest";
|
||||
ports = [
|
||||
"${toString cfg.port}:8888"
|
||||
];
|
||||
|
||||
environment = cfg.environment;
|
||||
environmentFiles = [ cfg.environmentFile ];
|
||||
};
|
||||
|
||||
services.nginx.virtualHosts = {
|
||||
"mf-proxy.lab.tux.rs" = {
|
||||
forceSSL = true;
|
||||
useACMEHost = "lab.tux.rs";
|
||||
locations = {
|
||||
"/" = {
|
||||
proxyPass = "http://localhost:${toString cfg.port}";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user