nixos-config/hosts/falkenstein/modules/trucksimulatorbot/default.nix

47 lines
1.3 KiB
Nix
Raw Normal View History

{ config, pkgs, trucksimulatorbot, ... }:
2023-04-16 16:56:24 +02:00
let
2023-09-19 13:47:08 +02:00
domain = "trucksimulatorbot.${config.networking.domain}";
2023-04-16 16:56:24 +02:00
in
{
services.trucksimulatorbot = {
2023-05-29 13:31:20 +02:00
enable = true;
discord = {
clientId = "831052837353816066";
publicKey = "faa7004a2a5096702f96f3ebeb45c7e8272c119b72c1a0894abc4d76d8cc8bad";
};
};
services.mysql = {
enable = true;
package = pkgs.mariadb;
ensureUsers = [
{
name = "trucksimulator";
ensurePermissions = {
"trucksimulator.*" = "ALL PRIVILEGES";
};
}
];
ensureDatabases = [ "trucksimulator" ];
2023-04-16 16:56:24 +02:00
};
2023-05-26 14:50:29 +02:00
services.nginx.virtualHosts = {
"images.${domain}" = {
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://127.0.0.1:${toString config.services.trucksimulatorbot.images.listenPort}";
};
};
"${domain}" = {
enableACME = true;
forceSSL = true;
locations."/invite".return = " 301 https://discord.com/api/oauth2/authorize?client_id=831052837353816066&permissions=262144&scope=bot%20applications.commands";
locations."/" = {
2023-05-29 13:31:20 +02:00
proxyPass = "http://127.0.0.1:${toString config.services.trucksimulatorbot.listenPort}";
2023-05-26 14:50:29 +02:00
};
2023-05-29 13:54:12 +02:00
locations."/docs" = {
root = "${trucksimulatorbot.packages.x86_64-linux.docs}";
2023-05-29 13:54:12 +02:00
};
2023-04-16 16:56:24 +02:00
};
};
}