39 lines
1.3 KiB
Nix
39 lines
1.3 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
let
|
|
setup = import ../factories/mkserver.nix { inherit lib config; };
|
|
cfg = config.my.servers.yamtrack;
|
|
in
|
|
{
|
|
options.my.servers.yamtrack = setup.mkOptions "yamtrack" "tracker" 8765;
|
|
config = lib.mkIf (cfg.enable && config.my.servers.postgres.enable && config.my.secureHost) {
|
|
sops.secrets.yamtrack.sopsFile = ../../secrets/env.yaml;
|
|
virtualisation.oci-containers.containers = {
|
|
yamtrack-redis.image = "redis:latest";
|
|
yamtrack = {
|
|
image = "ghcr.io/fuzzygrim/yamtrack:latest";
|
|
ports = [ "${toString cfg.port}:8000" ];
|
|
dependsOn = [ "yamtrack-redis" ];
|
|
environmentFiles = [ config.sops.secrets.yamtrack.path ];
|
|
environment = {
|
|
TZ = config.my.timeZone;
|
|
URLS = cfg.url;
|
|
DB_HOST = config.my.postgresSocket;
|
|
DB_NAME = cfg.name;
|
|
DB_USER = cfg.name;
|
|
DB_PORT = toString 5432;
|
|
REGISTRATION = "true";
|
|
SOCIALACCOUNT_ONLY = "true";
|
|
REDIRECT_LOGIN_TO_SSO = "true";
|
|
REDIS_URL = "redis://yamtrack-redis:6379/0";
|
|
SOCIAL_PROVIDERS = "allauth.socialaccount.providers.openid_connect";
|
|
};
|
|
volumes = [ "${config.my.postgresSocket}:${config.my.postgresSocket}" ];
|
|
};
|
|
};
|
|
};
|
|
}
|