Unraid traefik

Buttons that allows you to easily add traefik.enable and wanted middlewares

当前为 2024-10-29 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Unraid traefik
  3. // @namespace https://greasyfork.org/en/users/1388191-masapa
  4. // @version 2024-10-29_1
  5. // @description Buttons that allows you to easily add traefik.enable and wanted middlewares
  6. // @author Masapa
  7. // @match http://unraid.local/Docker/AddContainer*
  8. // @match http://unraid.local/Docker/UpdateContainer*
  9. // @match http://unraid.local/Apps/AddContainer*
  10. // @grant none
  11. // ==/UserScript==
  12.  
  13. (function () {
  14. "use strict";
  15.  
  16. const middlewares = ["auth@file","local@file"];
  17.  
  18.  
  19. const addButton = (i = 0) => {
  20. const name = document.getElementsByName("contName")[0].value;
  21.  
  22. let opts = {
  23. Description: "",
  24. Name: "Enable traefik",
  25. Type: "Label",
  26. Target: "traefik.enable",
  27. Value: "true",
  28. Buttons:
  29. "<button type='button' onclick='editConfigPopup(" +
  30. confNum +
  31. ",false)'>Edit</button><button type='button' onclick='removeConfig(" +
  32. confNum +
  33. ")'>Remove</button>",
  34. Number: confNum,
  35. };
  36.  
  37. let opts2 = {
  38. Description: "",
  39. Name: "Traefik auth",
  40. Type: "Label",
  41. Target: "traefik.http.routers." + name + ".middlewares",
  42. Value: middlewares[0],
  43. Buttons:
  44. "<button type='button' onclick='editConfigPopup(" +
  45. confNum +
  46. ",false)'>Edit</button><button type='button' onclick='removeConfig(" +
  47. confNum +
  48. ")'>Remove</button>",
  49. Number: confNum,
  50. };
  51. $("#configLocation").append(makeConfig(opts));
  52.  
  53. if (i === 2) {
  54. opts2 = {
  55. Description: "",
  56. Name: "Traefik auth",
  57. Type: "Label",
  58. Target: "traefik.http.routers." + name + ".middlewares",
  59. Value: middlewares.join(","),
  60. Buttons:
  61. "<button type='button' onclick='editConfigPopup(" +
  62. confNum +
  63. ",false)'>Edit</button><button type='button' onclick='removeConfig(" +
  64. confNum +
  65. ")'>Remove</button>",
  66. Number: confNum,
  67. };
  68. reloadTriggers();
  69. $('input[name="contName"]').trigger("change"); // signal change
  70. }
  71.  
  72. $("#configLocation").append(makeConfig(opts2));
  73. reloadTriggers();
  74. $('input[name="contName"]').trigger("change"); // signal change
  75. };
  76.  
  77. const button = document.createElement("button");
  78. button.addEventListener("click", () => addButton());
  79. button.innerHTML = "TRAEFIK";
  80. document.getElementsByClassName("left")[0].append(button);
  81. const button2 = document.createElement("button");
  82. button2.addEventListener("click", () => addButton(2));
  83. button2.innerHTML = "Local only";
  84. document.getElementsByClassName("left")[0].append(button, button2);
  85.  
  86. })();