Files
flake-nixinator/system/services/arcane.nix
T

56 lines
1.2 KiB
Nix

{
mylib,
config,
lib,
pkgs,
...
}: let
arcaneVersion = "v2.3.0";
in {
# If we need to pass secrets to containers we can't use plain env variables.
sops.templates."arcane_secrets.env".content = ''
ENCRYPTION_KEY=${config.sops.placeholder.arcane-encryption-key}
JWT_SECRET=${config.sops.placeholder.arcane-jwt-secret}
'';
virtualisation.oci-containers.containers = {
arcane = {
image = "ghcr.io/getarcaneapp/manager:${arcaneVersion}";
autoStart = true;
login = mylib.containers.mkDockerLogin config;
dependsOn = [];
ports = [
# "3552:3552"
];
volumes = [
"/var/run/docker.sock:/var/run/docker.sock"
"arcane_data:/app/data"
"/media/synology-syncthing:/backups"
];
environment = {
APP_URL = "https://arcane.local.chriphost.de";
PUID = "1000";
PGID = "1000";
TZ = "Europe/Berlin";
};
environmentFiles = [
config.sops.templates."TEMPLATE_secrets.env".path
];
extraOptions = [
# "--privileged"
# "--device=nvidia.com/gpu=all"
"--net=behind-nginx"
];
};
};
}