From 3ffb1a24cba360070727c250aa93eca343c7da62 Mon Sep 17 00:00:00 2001 From: Mel Date: Sun, 8 Dec 2024 03:34:42 +0100 Subject: Partially working FreshRSS service Signed-off-by: Mel --- machines/renard/default.nix | 1 + services/freshrss.nix | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 services/freshrss.nix diff --git a/machines/renard/default.nix b/machines/renard/default.nix index 826e92f..ebb06c1 100644 --- a/machines/renard/default.nix +++ b/machines/renard/default.nix @@ -13,6 +13,7 @@ ../../services/cgit.nix ../../services/minecraft.nix + ../../services/freshrss.nix ../../services/irc ]; diff --git a/services/freshrss.nix b/services/freshrss.nix new file mode 100644 index 0000000..bdb087f --- /dev/null +++ b/services/freshrss.nix @@ -0,0 +1,44 @@ +{ me, pkgs, auxiliaryPkgs, ... }: + +let + inherit (pkgs) php lighttpd freshrss dockerTools; + inherit (auxiliaryPkgs) common; + + freshrssLocalPort = 1819; + freshrssDir = "/srv/freshrss"; + + freshrssImage = dockerTools.streamLayeredImage { + name = "freshrss"; + tag = freshrss.version; + fromImage = common.alpine.base; + + contents = [ lighttpd freshrss php ]; + + extraCommands = '' + mkdir -p ./opt ./var/log/lighttpd + touch ./var/log/lighttpd/access.log ./var/log/lighttpd/error.log + ln -s ${freshrss} ./opt/freshrss + ''; + }; + +in +{ + # TODO: ..it won't work without cron :3 + foundation.services.freshrss = { + image = freshrssImage; + ports = [ + (common.tailnetPort me [ freshrssLocalPort 80 ]) + ]; + + volumes = [ + [ "${freshrssDir}/lighttpd.conf" "/etc/lighttpd/freshrss.conf" ] + [ "${freshrssDir}/data" "/opt/freshrss/data" ] + ]; + + entrypoint = "${lighttpd}/bin/lighttpd"; + cmd = [ + "-D" # run in foreground + "-f" "/etc/lighttpd/freshrss.conf" + ]; + }; +} -- cgit 1.4.1