{ lib, config, ... }:
with lib;
let
  cfg = config.nas-apps.your_spotify;
in
{
  imports = [ ./options.nix ];

  config = mkIf cfg.enable {

    virtualisation.oci-containers.containers."${cfg.name}-server" = {
      autoStart = true;
      image = cfg.imageServer;
      volumes = [ "${cfg.configPath}:/root/.your-spotify" ];
      ports = [ "${cfg.portServer}:8080" ];
      dependsOn = [ "mongo" ];
      environment = {
        PUID = cfg.puid;
        PGID = cfg.pgid;
        TZ = cfg.timeZone;
        API_ENDPOINT = "https://your-spotify-server.mjallen.dev";
        CLIENT_ENDPOINT = "https://your-spotify.mjallen.dev";
        SPOTIFY_PUBLIC = "e270589d72a6494680a17d325af8670d";
        SPOTIFY_SECRET = "423cb7b69fe8486e89eccd01e0c22924";
        MONGO_ENDPOINT = "mongodb://10.0.1.3:27017";
      };
    };

    virtualisation.oci-containers.containers."${cfg.name}-web" = {
      autoStart = true;
      image = cfg.imageWeb;
      ports = [ "${cfg.portWeb}:3000" ];
      environment = {
        PUID = cfg.puid;
        PGID = cfg.pgid;
        TZ = cfg.timeZone;
        API_ENDPOINT = "https://your-spotify-server.mjallen.dev";
      };
    };
  };
}
