{% set tpl = ix_lib.base.render.Render(values) %} {% set c1 = tpl.add_container(values.consts.unpackerr_container_name, "image") %} {% set perm_container = tpl.deps.perms(values.consts.perms_container_name) %} {% set perms_config = {"uid": values.run_as.user, "gid": values.run_as.group, "mode": "check"} %} {% do c1.set_user(values.run_as.user, values.run_as.group) %} {% do c1.healthcheck.disable() %} {% set sonarr_count = namespace(x=0) %} {% set radarr_count = namespace(x=0) %} {% set lidarr_count = namespace(x=0) %} {% set readarr_count = namespace(x=0) %} {% set whisparr_count = namespace(x=0) %} {% for cfg in values.unpackerr.settings %} {% set var_name = namespace(x="") %} {% if cfg.type == "sonarr" %} {% set var_name.x = "UN_SONARR_%d"|format(sonarr_count.x) %} {% set sonarr_count.x = sonarr_count.x + 1 %} {% elif cfg.type == "radarr" %} {% set var_name.x = "UN_RADARR_%d"|format(radarr_count.x) %} {% set radarr_count.x = radarr_count.x + 1 %} {% elif cfg.type == "lidarr" %} {% set var_name.x = "UN_LIDARR_%d"|format(lidarr_count.x) %} {% set lidarr_count.x = lidarr_count.x + 1 %} {% elif cfg.type == "readarr" %} {% set var_name.x = "UN_READARR_%d"|format(readarr_count.x) %} {% set readarr_count.x = readarr_count.x + 1 %} {% elif cfg.type == "whisparr" %} {% set var_name.x = "UN_WHISPARR_%d"|format(whisparr_count.x) %} {% set whisparr_count.x = whisparr_count.x + 1 %} {% else %} {% do tpl.funcs.fail("Unsupported type: %s" | format(cfg.type)) %} {% endif %} {% do c1.environment.add_env("%s_URL"|format(var_name.x), cfg.url) %} {% do c1.environment.add_env("%s_API_KEY"|format(var_name.x), cfg.api_key) %} {% do c1.environment.add_env("%s_PATHS_0"|format(var_name.x), cfg.paths | tojson) %} {% do c1.environment.add_env("%s_PROTOCOLS"|format(var_name.x), cfg.protocols|join(",")) %} {% do c1.environment.add_env("%s_TIMEOUT"|format(var_name.x), "%ds"|format(cfg.timeout)) %} {% do c1.environment.add_env("%s_DELETE_DELAY"|format(var_name.x), "%ds"|format(cfg.delete_delay)) %} {% do c1.environment.add_env("%s_DELETE_ORIG"|format(var_name.x), cfg.delete_orig) %} {% do c1.environment.add_env("%s_SYNCTHING"|format(var_name.x), cfg.syncthing) %} {% endfor %} {% do c1.environment.add_user_envs(values.unpackerr.additional_envs) %} {% for store in values.storage.additional_storage %} {% do c1.add_storage(store.mount_path, store) %} {% do perm_container.add_or_skip_action(store.mount_path, store, perms_config) %} {% endfor %} {% if perm_container.has_actions() %} {% do perm_container.activate() %} {% do c1.depends.add_dependency(values.consts.perms_container_name, "service_completed_successfully") %} {% endif %} {% do tpl.portals.add(values.network.web_port) %} {{ tpl.render() | tojson }}