56 lines
1.3 KiB
Nix

{ config, lib, pkgs, user, ... }:
let
domain = "rssbridge.tstarr.us";
dumpFolder = "/engi/backup/dumps/miniflux";
in
{
systemd.tmpfiles.rules = [
"d ${dumpFolder} 0775 miniflux miniflux -"
];
environment.systemPackages = [
(pkgs.writeScriptBin "dump-miniflux" ''
#!/bin/sh
cd ${dumpFolder}
[ -e miniflux-sql ] && rm miniflux-sql
pg_dump miniflux > ${dumpFolder}/miniflux-sql
'')
];
services.postgresql = {
enable = true;
authentication = pkgs.lib.mkOverride 10 ''
#type database DBuser auth-method
local all all trust
'';
};
networking.firewall.allowedTCPPorts = [ 8087 ];
networking.firewall.allowedUDPPorts = [ 8087 ];
services.miniflux = {
enable = true;
config = {
PORT = "8087";
# Break youtube embeds so they dont show
YOUTUBE_EMBED_URL_OVERRIDE="https://";
};
# Set initial admin user/password
adminCredentialsFile = pkgs.writeText "cred" ''
ADMIN_USERNAME=miniflux
ADMIN_PASSWORD=miniflux
'';
};
services.rss-bridge = {
enable = true;
config.system.enabled_bridges = [ "*" ];
virtualHost = "${domain}";
};
services.nginx.virtualHosts.${domain} = {
forceSSL = true;
enableACME = true;
};
}