From 196b50c629db5fca7284909a2dc8b4112153a32f Mon Sep 17 00:00:00 2001 From: muon Date: Tue, 27 Aug 2024 23:02:24 +0000 Subject: [PATCH] Move photoprism --- hosts/muon/configuration.nix | 2 +- hosts/muon/hardware-configuration.nix | 2 +- hosts/mups/configuration.nix | 1 + modules/nixos/core/network.nix | 1 + modules/nixos/server/default.nix | 1 + modules/nixos/server/media.nix | 34 -------------------- modules/nixos/server/photoprism.nix | 46 +++++++++++++++++++++++++++ 7 files changed, 51 insertions(+), 36 deletions(-) create mode 100644 modules/nixos/server/photoprism.nix diff --git a/hosts/muon/configuration.nix b/hosts/muon/configuration.nix index 3cabb72..42c3001 100644 --- a/hosts/muon/configuration.nix +++ b/hosts/muon/configuration.nix @@ -33,7 +33,7 @@ in { mods.server.sync.enable = true; mods.tailscale.enable = true; mods.openvpn.enable = false; - mods.wireguard.enable = true; + mods.wireguard.enable = false; services.xserver.windowManager.i3.enable = true; diff --git a/hosts/muon/hardware-configuration.nix b/hosts/muon/hardware-configuration.nix index 449f183..4e54ee3 100644 --- a/hosts/muon/hardware-configuration.nix +++ b/hosts/muon/hardware-configuration.nix @@ -50,7 +50,7 @@ networking.useDHCP = lib.mkDefault true; # networking.interfaces.docker0.useDHCP = lib.mkDefault true; networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true; - networking.interfaces.enp0s31f6.mtu = 1500; + networking.interfaces.enp0s31f6.mtu = 1200; # networking.interfaces.tun0.useDHCP = lib.mkDefault true; # networking.interfaces.vboxnet0.useDHCP = lib.mkDefault true; diff --git a/hosts/mups/configuration.nix b/hosts/mups/configuration.nix index dcc5c69..56217ce 100644 --- a/hosts/mups/configuration.nix +++ b/hosts/mups/configuration.nix @@ -31,6 +31,7 @@ in { mods.server.sync.port = "8385"; mods.server.media.enable = true; + mods.server.photoprism.enable = true; mods.server.wireguard.enable = true; diff --git a/modules/nixos/core/network.nix b/modules/nixos/core/network.nix index e5ebaae..72efa7e 100644 --- a/modules/nixos/core/network.nix +++ b/modules/nixos/core/network.nix @@ -37,6 +37,7 @@ { publicKey = "2RF8GmTZwQdzVm2l2piYy6U0qiMU3wSxC7Lt8urAjwA="; allowedIPs = [ "0.0.0.0/0" ]; + # ip route add 93.95.230.11 via 192.168.0.1 endpoint = "93.95.230.11:51820"; persistentKeepalive = 25; } diff --git a/modules/nixos/server/default.nix b/modules/nixos/server/default.nix index db452c5..42d897b 100644 --- a/modules/nixos/server/default.nix +++ b/modules/nixos/server/default.nix @@ -7,5 +7,6 @@ ./media.nix ./sync.nix ./wireguard.nix + ./photoprism.nix ]; } diff --git a/modules/nixos/server/media.nix b/modules/nixos/server/media.nix index 89f7143..cf77205 100644 --- a/modules/nixos/server/media.nix +++ b/modules/nixos/server/media.nix @@ -13,39 +13,5 @@ openFirewall = true; user="${config.mods.user.name}"; }; - - services.photoprism = { - enable = true; - port = 2342; - originalsPath = "/var/lib/private/photoprism/originals"; - address = "0.0.0.0"; - settings = { - PHOTOPRISM_ADMIN_USER = "admin"; - PHOTOPRISM_ADMIN_PASSWORD = "CarrotSec"; - PHOTOPRISM_DEFAULT_LOCALE = "en"; - PHOTOPRISM_DATABASE_DRIVER = "mysql"; - PHOTOPRISM_DATABASE_NAME = "photoprism"; - PHOTOPRISM_DATABASE_SERVER = "/run/mysqld/mysqld.sock"; - PHOTOPRISM_DATABASE_USER = "photoprism"; - PHOTOPRISM_SITE_URL = "http://93.95.230.11:2342"; - PHOTOPRISM_SITE_TITLE = "Giceland Potos"; - }; - }; - - networking.firewall.allowedTCPPorts = [ 2342 ]; - - # MySQL - services.mysql = { - enable = true; - dataDir = "/data/mysql"; - package = pkgs.mariadb; - ensureDatabases = [ "photoprism" ]; - ensureUsers = [ { - name = "photoprism"; - ensurePermissions = { - "photoprism.*" = "ALL PRIVILEGES"; - }; - } ]; - }; }; } diff --git a/modules/nixos/server/photoprism.nix b/modules/nixos/server/photoprism.nix new file mode 100644 index 0000000..54de405 --- /dev/null +++ b/modules/nixos/server/photoprism.nix @@ -0,0 +1,46 @@ + +{ pkgs, lib, config, ... }: { + options.mods.server.photoprism = { + enable = lib.mkEnableOption { + default = false; + description = "enables photoprism server"; + }; + }; + + + config = lib.mkIf config.mods.server.photoprism.enable { + services.photoprism = { + enable = true; + port = 2342; + originalsPath = "/var/lib/private/photoprism/originals"; + address = "0.0.0.0"; + settings = { + PHOTOPRISM_ADMIN_USER = "admin"; + PHOTOPRISM_ADMIN_PASSWORD = "CarrotSec"; + PHOTOPRISM_DEFAULT_LOCALE = "en"; + PHOTOPRISM_DATABASE_DRIVER = "mysql"; + PHOTOPRISM_DATABASE_NAME = "photoprism"; + PHOTOPRISM_DATABASE_SERVER = "/run/mysqld/mysqld.sock"; + PHOTOPRISM_DATABASE_USER = "photoprism"; + PHOTOPRISM_SITE_URL = "http://93.95.230.11:2342"; + PHOTOPRISM_SITE_TITLE = "Giceland Potos"; + }; + }; + + networking.firewall.allowedTCPPorts = [ 2342 ]; + + # MySQL + services.mysql = { + enable = true; + dataDir = "/data/mysql"; + package = pkgs.mariadb; + ensureDatabases = [ "photoprism" ]; + ensureUsers = [ { + name = "photoprism"; + ensurePermissions = { + "photoprism.*" = "ALL PRIVILEGES"; + }; + } ]; + }; + }; +}