diff --git a/devices/cluster/modules/caddy.nix b/devices/cluster/modules/caddy.nix index 0385608..e31a298 100644 --- a/devices/cluster/modules/caddy.nix +++ b/devices/cluster/modules/caddy.nix @@ -90,10 +90,10 @@ in { }; # FreshRSS & Co - drss.reverseProxy = "${dockerIP}:3007"; + drss.reverseProxy = "${servivi}:3007"; freshrss = { subDomainName = "rss"; - reverseProxy = "${dockerIP}:2800"; + reverseProxy = "${servivi}:2800"; }; jellyseer = { diff --git a/devices/nas/modules/arion/default.nix b/devices/nas/modules/arion/default.nix index a4f1de6..41c01bf 100644 --- a/devices/nas/modules/arion/default.nix +++ b/devices/nas/modules/arion/default.nix @@ -5,6 +5,7 @@ in { ../../../../modules/arion.nix ./forgejo/compose.nix + ./freshrss/compose.nix ./homepage/compose.nix ./immich/compose.nix ./music/jbots/compose.nix diff --git a/devices/nas/modules/arion/freshrss/compose.nix b/devices/nas/modules/arion/freshrss/compose.nix new file mode 100644 index 0000000..f936ad9 --- /dev/null +++ b/devices/nas/modules/arion/freshrss/compose.nix @@ -0,0 +1,50 @@ +{config, ...}: let + inherit (config.sops) secrets; + inherit (config.arion) rwDataDir; + + rwPath = rwDataDir + "/freshrss"; +in { + arion.projects."freshrss" = { + "freshrss" = { + image = ./images/freshrss.nix; + restart = "always"; + + ports = ["2800:80"]; + + volumes = [ + "${rwPath}/data:/var/www/FreshRSS/data" + "${rwPath}/data-extensions:/var/www/FreshRSS/extensions" + ]; + + env_file = [secrets.freshrss.path]; + + environment = { + TZ = "America/New_York"; + CRON_MIN = "'3,33'"; + }; + }; + + "freshrss-db" = { + image = ./images/postgres.nix; + restart = "always"; + + volumes = [ + "${rwPath}/db:/var/lib/postgresql/data" + ]; + + env_file = [secrets.freshrss.path]; + + environment = { + POSTGRES_DB = "\${DB_BASE:-freshrss}"; + POSTGRES_USER = "\${DB_USER:-freshrss}"; + POSTGRES_PASSWORD = "\${DB_PASSWORD:-freshrss}"; + }; + }; + + "docker-hub-rss" = { + image = ./images/docker-hub-rss.nix; + restart = "always"; + ports = ["3007:3000"]; + }; + }; +} diff --git a/devices/nas/modules/arion/freshrss/images/docker-hub-rss.nix b/devices/nas/modules/arion/freshrss/images/docker-hub-rss.nix new file mode 100644 index 0000000..716f6e3 --- /dev/null +++ b/devices/nas/modules/arion/freshrss/images/docker-hub-rss.nix @@ -0,0 +1,8 @@ +pkgs: +pkgs.dockerTools.pullImage { + imageName = "theconnman/docker-hub-rss"; + imageDigest = "sha256:3850badd3ebdb7d6583c8b67ebbcdd077b4e4ff2d8362ee31d78e334462d616f"; + sha256 = "0h4lldnfd8nrrh598bxvnykkzjyqa9hqjb57g694fpy1zpqvy266"; + finalImageName = "theconnman/docker-hub-rss"; + finalImageTag = "latest"; +} diff --git a/devices/nas/modules/arion/freshrss/images/freshrss.nix b/devices/nas/modules/arion/freshrss/images/freshrss.nix new file mode 100644 index 0000000..99a8549 --- /dev/null +++ b/devices/nas/modules/arion/freshrss/images/freshrss.nix @@ -0,0 +1,8 @@ +pkgs: +pkgs.dockerTools.pullImage { + imageName = "freshrss/freshrss"; + imageDigest = "sha256:c554223f485843553f7b7c9faff1f5c6c6113ce15b0288dd07210e97d8bbbbcc"; + sha256 = "1vjsr0hfq5dfma2dll6jzkir14ii423nlvjjq6gq0mp9s19jidr7"; + finalImageName = "freshrss/freshrss"; + finalImageTag = "latest"; +} diff --git a/devices/nas/modules/arion/freshrss/images/postgres.nix b/devices/nas/modules/arion/freshrss/images/postgres.nix new file mode 100644 index 0000000..87bc8ad --- /dev/null +++ b/devices/nas/modules/arion/freshrss/images/postgres.nix @@ -0,0 +1,8 @@ +pkgs: +pkgs.dockerTools.pullImage { + imageName = "postgres"; + imageDigest = "sha256:8420d1b03da7890f7cd21c711e520ca260cf35336aa0a794c1db6e9462dd3db1"; + sha256 = "0xv4b6w7lh005ns61cdwzprbxgni4rlzg7haaqq1rlz5rpir9i0q"; + finalImageName = "postgres"; + finalImageTag = "14"; +} diff --git a/devices/nas/modules/arion/homepage/compose.nix b/devices/nas/modules/arion/homepage/compose.nix index 7d120f9..f3641c7 100644 --- a/devices/nas/modules/arion/homepage/compose.nix +++ b/devices/nas/modules/arion/homepage/compose.nix @@ -2,6 +2,9 @@ inherit (config.arion) toYAML; inherit (config.sops) secrets; in { + # FIXME: Try to get homepage to resolve lan.nelim.org + #systemd.services."arion-homepage".after = ["tailscaled.service"]; + arion.projects."homepage" = { "homepage" = { image = ./images/homepage.nix; diff --git a/flake.lock b/flake.lock index e48ba62..4f11081 100644 --- a/flake.lock +++ b/flake.lock @@ -1342,11 +1342,11 @@ "sops-nix": "sops-nix" }, "locked": { - "lastModified": 1708798000, - "narHash": "sha256-UPQaG6sF5O9bLKba09gG7IokXeVbQk5R4SbvKJzha98=", + "lastModified": 1709140468, + "narHash": "sha256-L6sJbSY7ckfk4BY2E28+0+XIE5r7YupiQuCCiLRZ4WI=", "ref": "refs/heads/main", - "rev": "0e7607e1ae9b536eb5ad7f87d42abbb267d38b7e", - "revCount": 45, + "rev": "e55f4bbd9179f9cb2d3b9770942f6e9eaf259ab2", + "revCount": 46, "type": "git", "url": "ssh://git@git.nelim.org/matt1432/nixos-secrets" },