From 9a63c609fa533d5835f91bdfd263e02d25e976c1 Mon Sep 17 00:00:00 2001 From: mjallen18 Date: Thu, 12 Feb 2026 14:54:05 -0600 Subject: [PATCH] nextcloud broke lmao --- modules/nixos/services/caddy/default.nix | 5 ++ modules/nixos/services/onlyoffice/default.nix | 77 +++++-------------- systems/x86_64-linux/jallen-nas/apps.nix | 2 +- systems/x86_64-linux/jallen-nas/services.nix | 2 +- 4 files changed, 28 insertions(+), 58 deletions(-) diff --git a/modules/nixos/services/caddy/default.nix b/modules/nixos/services/caddy/default.nix index bd45cde..eff5f99 100644 --- a/modules/nixos/services/caddy/default.nix +++ b/modules/nixos/services/caddy/default.nix @@ -104,6 +104,11 @@ let handle @ntfy { reverse_proxy http://10.0.1.3:${toString config.${namespace}.services.ntfy.port} } + + @office host office.mjallen.dev + handle @office { + reverse_proxy http://10.0.1.3:${toString config.${namespace}.services.onlyoffice.port} + } ''; }; }; diff --git a/modules/nixos/services/onlyoffice/default.nix b/modules/nixos/services/onlyoffice/default.nix index b3e1b4e..ad02c1e 100644 --- a/modules/nixos/services/onlyoffice/default.nix +++ b/modules/nixos/services/onlyoffice/default.nix @@ -5,64 +5,29 @@ ... }: let - inherit (lib.${namespace}) mkOpt; - cfg = config.${namespace}.services.onlyoffice; -in -{ - options.${namespace}.services.onlyoffice = with lib; { - enable = lib.mkEnableOption ""; + name = "onlyoffice"; + cfg = config.${namespace}.services.${name}; + jwtSecretFile = config.sops.secrets."jallen-nas/onlyoffice-key".path; - port = mkOpt types.int 9943 "Port for opencloud to be hosted on"; - - configPath = mkOpt types.str "/media/nas/main/nix-app-data/onlyoffice" "Path to the data dir"; - - puid = mkOpt types.str "911" "puid"; - - pgid = mkOpt types.str "1000" "pgid"; - - timeZone = mkOpt types.str "America/Chicago" "container tz"; - }; - - config = lib.mkIf cfg.enable { - # services.nginx.virtualHosts."office.mjallen.dev".listen = [ - # { - # addr = "0.0.0.0"; - # port = 9943; - # } - # ]; - # services.onlyoffice = { - # enable = true; - # port = 9943; - # hostname = "office.mjallen.dev"; - # jwtSecretFile = jwtSecretFile; - # securityNonceFile = jwtSecretFile; - # }; - virtualisation.oci-containers.containers.onlyoffice = { - autoStart = true; - image = "onlyoffice/documentserver"; - ports = [ - "${toString cfg.port}:80" - ]; - volumes = [ - "${cfg.configPath}/logs:/var/log/onlyoffice" - "${cfg.configPath}/data:/var/www/onlyoffice/Data" - "${cfg.configPath}/lib:/var/lib/onlyoffice" - "${cfg.configPath}/db:/var/lib/postgresql" - ]; - environmentFiles = [ ]; - environment = { - DB_TYPE = "postgres"; - DB_HOST = "10.0.1.3"; - DB_PORT = "5432"; - DB_USER = "onlyoffice"; - REDIS_SERVER_HOST = "10.0.1.3"; - REDIS_SERVER_PORT = "6381"; - WOPI_ENABLED = "true"; - JWT_SECRET = "BogieDudie1"; - PUID = cfg.puid; - PGID = cfg.pgid; - TZ = cfg.timeZone; + onlyofficeConfig = lib.${namespace}.mkModule { + inherit config name; + description = "onlyoffice"; + options = { }; + moduleConfig = { + services.onlyoffice = { + enable = true; + port = cfg.port; + wopi = true; + hostname = "office.mjallen.dev"; + jwtSecretFile = jwtSecretFile; + securityNonceFile = jwtSecretFile; + postgresHost = "10.0.1.3"; + postgresUser = "onlyoffice"; + postgresName = "onlyoffice"; }; }; }; +in +{ + imports = [ onlyofficeConfig ]; } diff --git a/systems/x86_64-linux/jallen-nas/apps.nix b/systems/x86_64-linux/jallen-nas/apps.nix index 51fc1cf..d94f110 100755 --- a/systems/x86_64-linux/jallen-nas/apps.nix +++ b/systems/x86_64-linux/jallen-nas/apps.nix @@ -158,7 +158,7 @@ in }; ocis = disabled; onlyoffice = { - enable = false; + enable = true; port = 9200; }; opencloud = { diff --git a/systems/x86_64-linux/jallen-nas/services.nix b/systems/x86_64-linux/jallen-nas/services.nix index cb61732..d7a4e2b 100755 --- a/systems/x86_64-linux/jallen-nas/services.nix +++ b/systems/x86_64-linux/jallen-nas/services.nix @@ -76,7 +76,7 @@ host nextcloud nextcloud 10.0.1.0/24 trust host nextcloud nextcloud ::1/128 trust local onlyoffice onlyoffice trust - host onlyoffice onlyoffice 10.88.0.0/24 trust + host onlyoffice onlyoffice 10.0.1.0/24 trust local synapse synapse trust host synapse synapse ::1/128 trust '';