From 6ab7e968944c27c336f5b825017ce027d5fa87c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kier=C3=A1n=20Meinhardt?= Date: Wed, 28 May 2025 09:31:50 +0200 Subject: [PATCH] wallabag: init --- systems/ful/configuration.nix | 1 + systems/ful/wallabag.nix | 44 +++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 systems/ful/wallabag.nix diff --git a/systems/ful/configuration.nix b/systems/ful/configuration.nix index 84cbf77..46f7dcb 100644 --- a/systems/ful/configuration.nix +++ b/systems/ful/configuration.nix @@ -12,6 +12,7 @@ in { ./radio.nix ./panoptikon.nix ./hledger.nix + ./wallabag.nix ./alew.nix ../../configs/monitoring.nix ../../configs/mycelium.nix diff --git a/systems/ful/wallabag.nix b/systems/ful/wallabag.nix new file mode 100644 index 0000000..190b3f8 --- /dev/null +++ b/systems/ful/wallabag.nix @@ -0,0 +1,44 @@ +{ pkgs, config, ... }: + +let + domain = "pocket.kmein.de"; + port = "8088"; + dataPath = "/var/lib/wallabag"; +in +{ + services.nginx.virtualHosts.${domain} = { + enableACME = true; + forceSSL = true; + locations."/" = { + proxyPass = "http://127.0.0.1:${port}"; + proxyWebsockets = true; + }; + extraConfig = '' + client_body_timeout 3000s; + client_header_timeout 3000s; + keepalive_timeout 3000s; + proxy_read_timeout 3000s; + proxy_connect_timeout 3000s; + proxy_send_timeout 3000s; + ''; + }; + + services.restic.backups.niveum.paths = [ dataPath ]; + + virtualisation.oci-containers.containers."${domain}" = { + autoStart = true; + image = "wallabag/wallabag:2.6.12"; + ports = [ "${port}:80" ]; + volumes = [ + "${dataPath}/data:/var/www/wallabag/data" + "${dataPath}/images:/var/www/wallabag/web/assets/images" + ]; + environment = { + SYMFONY__ENV__DOMAIN_NAME = "https://${domain}"; + SYMFONY__ENV__FOSUSER_CONFIRMATION = "false"; + PHP_MEMORY_LIMIT = "512M"; + SYMFONY__ENV__SERVER_NAME = "Wallabag"; + }; + extraOptions = [ "--pull=always" ]; + }; +}