nixos-config/hosts/vulpecula-vps/services/thymis.nix

38 lines
1.7 KiB
Nix
Raw Normal View History

2024-10-13 16:43:59 +02:00
{
lib,
inputs,
2024-10-13 17:02:37 +02:00
config,
2024-10-13 16:43:59 +02:00
...
}: {
imports = [
inputs.thymis.nixosModules.thymis-controller
];
services.thymis-controller = {
enable = true;
system-binfmt-aarch64-enable = true; # enables emulation of aarch64 binaries, default is true on x86_64, needed for building aarch64 images on x86_64
system-binfmt-x86_64-enable = false; # enables emulation of x86_64 binaries, default is false
repo-path = "/var/lib/thymis/repository"; # directory where the controller will store the repository holding the project
database-url = "sqlite:////var/lib/thymis/thymis.sqlite"; # URL of the database
2024-10-13 17:02:02 +02:00
base-url = "https://wallabag.vulpecula.zone/"; # base URL of the controller, how it will be accessed from the outside
2024-10-13 16:43:59 +02:00
auth-basic = true; # whether to enable authentication using a basic username/password
auth-basic-username = "admin"; # username for basic authentication
auth-basic-password-file = "/var/lib/thymis/auth-basic-password"; # file containing the password for basic authentication
# content will be automatically generated if it does not exist
listen-host = "127.0.0.1"; # host on which the controller listens for incoming connections
2024-10-13 18:29:52 +02:00
listen-port = 8000; # port on which the controller listens for incoming connections
2024-10-13 17:06:25 +02:00
nginx-vhost-enable = true; # whether to enable the Nginx virtual host
2024-10-13 16:43:59 +02:00
nginx-vhost-name = "wallabag.vulpecula.zone"; # name of the Nginx virtual host
};
# Configure the Nginx virtual host
services.nginx = {
2025-02-03 12:31:12 +01:00
virtualHosts."thymis.vulpecula.zone" = {
2024-10-13 17:02:02 +02:00
# serverName = "wallabag.vulpecula.zone";
2024-10-13 17:07:08 +02:00
# locations."/".proxyPass = "http://localhost:${toString config.services.thymis-controller.listen-port}";
2024-10-13 16:43:59 +02:00
enableACME = true;
forceSSL = true;
};
};
}