diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..ccfc7087 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,15 @@ +# These are supported funding model platforms + +github: MacRimi # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: macrimi # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry +polar: # Replace with a single Polar username +buy_me_a_coffee: # Replace with a single Buy Me a Coffee username +thanks_dev: # Replace with a single thanks.dev username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/.github/repo-growth/history.json b/.github/repo-growth/history.json index 632afee2..75e37056 100644 --- a/.github/repo-growth/history.json +++ b/.github/repo-growth/history.json @@ -1,2538 +1,3375 @@ { "version": 1, "repository": "MacRimi/ProxMenux", - "updatedAt": "2026-07-23T14:53:21.867Z", + "updatedAt": "2026-09-02T08:48:44.825Z", "backfilledAt": "2026-07-22T18:09:20.834Z", "totals": { - "downloads": 0 + "downloads": 0, + "clones": 22221 }, "assets": {}, + "traffic": { + "cloneDays": { + "2026-08-02": { + "count": 448, + "uniques": 281 + }, + "2026-08-03": { + "count": 462, + "uniques": 319 + }, + "2026-08-04": { + "count": 474, + "uniques": 336 + }, + "2026-08-05": { + "count": 453, + "uniques": 319 + }, + "2026-08-06": { + "count": 385, + "uniques": 277 + }, + "2026-08-07": { + "count": 360, + "uniques": 263 + }, + "2026-08-08": { + "count": 378, + "uniques": 261 + }, + "2026-08-09": { + "count": 350, + "uniques": 254 + }, + "2026-08-10": { + "count": 391, + "uniques": 288 + }, + "2026-08-11": { + "count": 377, + "uniques": 283 + }, + "2026-08-12": { + "count": 372, + "uniques": 270 + }, + "2026-08-13": { + "count": 396, + "uniques": 272 + }, + "2026-08-14": { + "count": 392, + "uniques": 263 + }, + "2026-08-15": { + "count": 10444, + "uniques": 10143 + }, + "2026-08-16": { + "count": 334, + "uniques": 260 + }, + "2026-08-17": { + "count": 374, + "uniques": 258 + }, + "2026-08-18": { + "count": 413, + "uniques": 295 + }, + "2026-08-19": { + "count": 360, + "uniques": 268 + }, + "2026-08-20": { + "count": 340, + "uniques": 249 + }, + "2026-08-21": { + "count": 390, + "uniques": 296 + }, + "2026-08-22": { + "count": 388, + "uniques": 280 + }, + "2026-08-23": { + "count": 425, + "uniques": 324 + }, + "2026-08-24": { + "count": 434, + "uniques": 285 + }, + "2026-08-25": { + "count": 379, + "uniques": 277 + }, + "2026-08-26": { + "count": 396, + "uniques": 276 + }, + "2026-08-27": { + "count": 423, + "uniques": 298 + }, + "2026-08-28": { + "count": 320, + "uniques": 241 + }, + "2026-08-29": { + "count": 376, + "uniques": 230 + }, + "2026-08-30": { + "count": 292, + "uniques": 211 + }, + "2026-08-31": { + "count": 343, + "uniques": 268 + }, + "2026-09-01": { + "count": 552, + "uniques": 396 + } + } + }, "points": [ { "date": "2025-01-15", "stars": 1, "forks": 0, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-03-08", "stars": 3, "forks": 0, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-03-16", "stars": 4, "forks": 0, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-03-23", "stars": 5, "forks": 0, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-03-24", "stars": 6, "forks": 0, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-03-28", "stars": 7, "forks": 0, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-03-29", "stars": 8, "forks": 0, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-04-01", "stars": 9, "forks": 0, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-04-07", "stars": 10, "forks": 0, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-04-30", "stars": 14, "forks": 0, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-01", "stars": 16, "forks": 1, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-07", "stars": 17, "forks": 1, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-09", "stars": 19, "forks": 1, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-10", "stars": 20, "forks": 1, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-11", "stars": 22, "forks": 1, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-12", "stars": 38, "forks": 1, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-13", "stars": 59, "forks": 1, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-14", "stars": 61, "forks": 1, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-15", "stars": 64, "forks": 2, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-16", "stars": 66, "forks": 2, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-17", "stars": 69, "forks": 2, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-19", "stars": 71, "forks": 2, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-20", "stars": 73, "forks": 2, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-21", "stars": 76, "forks": 3, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-22", "stars": 77, "forks": 4, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-23", "stars": 92, "forks": 4, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-24", "stars": 113, "forks": 5, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-25", "stars": 124, "forks": 5, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-26", "stars": 131, "forks": 5, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-27", "stars": 132, "forks": 5, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-28", "stars": 134, "forks": 5, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-05-29", "stars": 138, "forks": 5, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-02", "stars": 140, "forks": 5, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-03", "stars": 144, "forks": 5, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-04", "stars": 146, "forks": 5, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-06", "stars": 149, "forks": 5, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-07", "stars": 151, "forks": 5, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-09", "stars": 153, "forks": 5, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-10", "stars": 155, "forks": 5, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-11", "stars": 157, "forks": 6, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-13", "stars": 159, "forks": 7, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-15", "stars": 160, "forks": 7, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-16", "stars": 164, "forks": 7, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-19", "stars": 242, "forks": 11, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-20", "stars": 308, "forks": 16, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-21", "stars": 337, "forks": 19, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-22", "stars": 374, "forks": 21, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-23", "stars": 407, "forks": 22, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-24", "stars": 431, "forks": 22, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-25", "stars": 454, "forks": 23, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-26", "stars": 472, "forks": 25, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-27", "stars": 479, "forks": 26, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-28", "stars": 488, "forks": 26, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-29", "stars": 496, "forks": 26, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-06-30", "stars": 502, "forks": 26, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-01", "stars": 506, "forks": 26, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-02", "stars": 515, "forks": 26, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-03", "stars": 522, "forks": 26, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-04", "stars": 534, "forks": 27, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-05", "stars": 545, "forks": 27, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-06", "stars": 554, "forks": 28, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-07", "stars": 567, "forks": 30, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-08", "stars": 575, "forks": 32, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-09", "stars": 577, "forks": 34, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-10", "stars": 584, "forks": 34, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-11", "stars": 590, "forks": 34, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-12", "stars": 598, "forks": 35, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-13", "stars": 602, "forks": 35, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-15", "stars": 608, "forks": 36, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-16", "stars": 614, "forks": 37, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-17", "stars": 617, "forks": 37, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-18", "stars": 619, "forks": 37, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-19", "stars": 623, "forks": 38, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-20", "stars": 626, "forks": 39, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-21", "stars": 628, "forks": 39, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-22", "stars": 633, "forks": 39, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-23", "stars": 639, "forks": 39, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-24", "stars": 644, "forks": 39, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-25", "stars": 652, "forks": 39, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-26", "stars": 655, "forks": 39, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-27", "stars": 657, "forks": 39, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-28", "stars": 662, "forks": 40, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-29", "stars": 665, "forks": 40, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-30", "stars": 669, "forks": 40, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-07-31", "stars": 672, "forks": 41, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-01", "stars": 676, "forks": 41, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-02", "stars": 680, "forks": 41, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-03", "stars": 682, "forks": 41, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-04", "stars": 687, "forks": 41, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-05", "stars": 689, "forks": 41, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-06", "stars": 692, "forks": 42, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-07", "stars": 695, "forks": 42, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-08", "stars": 696, "forks": 42, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-09", "stars": 702, "forks": 42, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-10", "stars": 711, "forks": 42, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-11", "stars": 719, "forks": 42, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-12", "stars": 721, "forks": 42, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-13", "stars": 728, "forks": 42, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-14", "stars": 733, "forks": 42, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-15", "stars": 738, "forks": 42, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-17", "stars": 743, "forks": 42, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-18", "stars": 748, "forks": 42, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-19", "stars": 751, "forks": 42, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-20", "stars": 754, "forks": 42, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-21", "stars": 761, "forks": 42, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-22", "stars": 766, "forks": 43, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-23", "stars": 768, "forks": 43, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-24", "stars": 770, "forks": 44, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-25", "stars": 771, "forks": 44, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-26", "stars": 774, "forks": 45, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-27", "stars": 775, "forks": 45, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-28", "stars": 778, "forks": 45, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-29", "stars": 783, "forks": 45, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-30", "stars": 787, "forks": 46, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-08-31", "stars": 789, "forks": 46, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-01", "stars": 790, "forks": 47, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-02", "stars": 793, "forks": 47, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-05", "stars": 800, "forks": 48, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-06", "stars": 801, "forks": 48, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-07", "stars": 805, "forks": 48, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-08", "stars": 809, "forks": 48, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-10", "stars": 810, "forks": 48, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-11", "stars": 819, "forks": 49, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-12", "stars": 821, "forks": 49, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-13", "stars": 829, "forks": 49, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-14", "stars": 837, "forks": 49, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-15", "stars": 843, "forks": 50, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-16", "stars": 844, "forks": 50, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-17", "stars": 846, "forks": 50, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-18", "stars": 850, "forks": 51, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-19", "stars": 854, "forks": 51, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-20", "stars": 858, "forks": 52, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-21", "stars": 863, "forks": 52, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-22", "stars": 866, "forks": 52, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-23", "stars": 870, "forks": 52, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-24", "stars": 880, "forks": 53, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-25", "stars": 885, "forks": 53, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-26", "stars": 887, "forks": 53, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-27", "stars": 894, "forks": 53, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-28", "stars": 904, "forks": 53, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-29", "stars": 915, "forks": 53, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-09-30", "stars": 918, "forks": 53, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-01", "stars": 926, "forks": 53, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-02", "stars": 930, "forks": 53, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-04", "stars": 935, "forks": 54, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-05", "stars": 937, "forks": 54, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-06", "stars": 940, "forks": 54, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-07", "stars": 947, "forks": 54, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-08", "stars": 953, "forks": 54, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-09", "stars": 959, "forks": 54, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-11", "stars": 967, "forks": 54, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-13", "stars": 973, "forks": 55, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-14", "stars": 978, "forks": 56, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-15", "stars": 983, "forks": 57, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-16", "stars": 985, "forks": 57, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-17", "stars": 989, "forks": 57, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-18", "stars": 992, "forks": 57, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-19", "stars": 993, "forks": 57, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-20", "stars": 998, "forks": 57, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-21", "stars": 998, "forks": 59, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-22", "stars": 1001, "forks": 59, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-23", "stars": 1007, "forks": 60, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-24", "stars": 1010, "forks": 60, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-25", "stars": 1014, "forks": 61, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-26", "stars": 1016, "forks": 61, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-27", "stars": 1024, "forks": 62, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-28", "stars": 1028, "forks": 62, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-29", "stars": 1032, "forks": 62, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-30", "stars": 1040, "forks": 62, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-10-31", "stars": 1050, "forks": 63, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-01", "stars": 1061, "forks": 63, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-02", "stars": 1083, "forks": 63, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-03", "stars": 1105, "forks": 64, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-04", "stars": 1120, "forks": 64, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-05", "stars": 1134, "forks": 64, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-06", "stars": 1146, "forks": 65, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-07", "stars": 1176, "forks": 66, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-08", "stars": 1255, "forks": 67, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-09", "stars": 1307, "forks": 69, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-10", "stars": 1336, "forks": 71, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-11", "stars": 1345, "forks": 72, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-12", "stars": 1360, "forks": 72, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-13", "stars": 1372, "forks": 73, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-14", "stars": 1411, "forks": 73, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-15", "stars": 1448, "forks": 73, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-16", "stars": 1480, "forks": 74, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-17", "stars": 1492, "forks": 75, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-18", "stars": 1518, "forks": 77, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-19", "stars": 1530, "forks": 79, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-20", "stars": 1545, "forks": 80, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-21", "stars": 1560, "forks": 80, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-22", "stars": 1575, "forks": 80, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-23", "stars": 1587, "forks": 81, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-24", "stars": 1612, "forks": 83, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-25", "stars": 1619, "forks": 83, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-26", "stars": 1642, "forks": 84, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-27", "stars": 1646, "forks": 86, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-28", "stars": 1651, "forks": 86, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-29", "stars": 1661, "forks": 86, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-11-30", "stars": 1673, "forks": 86, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-01", "stars": 1684, "forks": 87, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-02", "stars": 1692, "forks": 88, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-03", "stars": 1698, "forks": 88, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-04", "stars": 1708, "forks": 88, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-05", "stars": 1720, "forks": 91, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-06", "stars": 1729, "forks": 91, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-07", "stars": 1786, "forks": 92, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-08", "stars": 1811, "forks": 93, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-09", "stars": 1828, "forks": 94, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-10", "stars": 1844, "forks": 94, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-11", "stars": 1853, "forks": 95, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-12", "stars": 1865, "forks": 95, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-13", "stars": 1875, "forks": 95, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-14", "stars": 1886, "forks": 95, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-15", "stars": 1893, "forks": 95, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-16", "stars": 1898, "forks": 96, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-17", "stars": 1902, "forks": 96, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-18", "stars": 1907, "forks": 96, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-19", "stars": 1917, "forks": 96, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-20", "stars": 1922, "forks": 98, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-21", "stars": 1935, "forks": 98, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-22", "stars": 1939, "forks": 99, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-23", "stars": 1944, "forks": 99, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-24", "stars": 1950, "forks": 99, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-25", "stars": 1955, "forks": 99, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-26", "stars": 1964, "forks": 99, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-27", "stars": 1970, "forks": 99, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-28", "stars": 1987, "forks": 100, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-29", "stars": 1993, "forks": 101, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-30", "stars": 2000, "forks": 101, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2025-12-31", "stars": 2002, "forks": 101, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-01", "stars": 2008, "forks": 101, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-02", "stars": 2016, "forks": 101, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-03", "stars": 2019, "forks": 103, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-04", "stars": 2027, "forks": 103, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-05", "stars": 2035, "forks": 103, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-06", "stars": 2039, "forks": 103, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-07", "stars": 2044, "forks": 103, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-08", "stars": 2051, "forks": 104, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-09", "stars": 2056, "forks": 105, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-10", "stars": 2061, "forks": 106, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-11", "stars": 2063, "forks": 106, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-12", "stars": 2070, "forks": 107, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-13", "stars": 2078, "forks": 107, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-14", "stars": 2083, "forks": 107, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-15", "stars": 2086, "forks": 107, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-16", "stars": 2103, "forks": 107, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-17", "stars": 2117, "forks": 107, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-18", "stars": 2123, "forks": 107, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-19", "stars": 2128, "forks": 107, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-20", "stars": 2134, "forks": 107, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-21", "stars": 2138, "forks": 107, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-22", "stars": 2145, "forks": 107, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-23", "stars": 2151, "forks": 107, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-24", "stars": 2154, "forks": 107, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-25", "stars": 2157, "forks": 107, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-26", "stars": 2161, "forks": 107, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-27", "stars": 2166, "forks": 107, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-28", "stars": 2180, "forks": 108, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-29", "stars": 2185, "forks": 108, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-30", "stars": 2194, "forks": 108, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-01-31", "stars": 2203, "forks": 108, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-01", "stars": 2207, "forks": 109, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-02", "stars": 2216, "forks": 109, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-03", "stars": 2222, "forks": 111, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-04", "stars": 2224, "forks": 111, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-05", "stars": 2227, "forks": 111, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-06", "stars": 2231, "forks": 111, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-07", "stars": 2237, "forks": 112, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-08", "stars": 2238, "forks": 112, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-09", "stars": 2242, "forks": 112, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-10", "stars": 2249, "forks": 112, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-11", "stars": 2289, "forks": 112, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-12", "stars": 2306, "forks": 113, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-13", "stars": 2324, "forks": 116, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-14", "stars": 2334, "forks": 116, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-15", "stars": 2341, "forks": 117, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-16", "stars": 2352, "forks": 117, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-17", "stars": 2365, "forks": 118, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-18", "stars": 2373, "forks": 118, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-19", "stars": 2383, "forks": 118, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-20", "stars": 2390, "forks": 118, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-21", "stars": 2392, "forks": 118, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-22", "stars": 2402, "forks": 118, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-23", "stars": 2409, "forks": 118, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-24", "stars": 2413, "forks": 118, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-25", "stars": 2417, "forks": 118, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-26", "stars": 2421, "forks": 119, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-27", "stars": 2428, "forks": 120, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-02-28", "stars": 2435, "forks": 120, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-01", "stars": 2443, "forks": 120, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-02", "stars": 2444, "forks": 120, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-03", "stars": 2449, "forks": 120, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-04", "stars": 2456, "forks": 121, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-05", "stars": 2458, "forks": 121, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-06", "stars": 2460, "forks": 121, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-07", "stars": 2463, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-08", "stars": 2465, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-09", "stars": 2467, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-10", "stars": 2469, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-11", "stars": 2470, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-12", "stars": 2474, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-13", "stars": 2476, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-14", "stars": 2477, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-15", "stars": 2481, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-16", "stars": 2485, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-17", "stars": 2491, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-18", "stars": 2492, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-19", "stars": 2495, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-20", "stars": 2497, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-21", "stars": 2506, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-22", "stars": 2510, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-23", "stars": 2517, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-24", "stars": 2519, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-25", "stars": 2527, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-26", "stars": 2530, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-27", "stars": 2532, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-28", "stars": 2534, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-29", "stars": 2538, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-30", "stars": 2544, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-03-31", "stars": 2547, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-01", "stars": 2550, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-02", "stars": 2553, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-03", "stars": 2556, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-04", "stars": 2558, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-05", "stars": 2561, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-06", "stars": 2564, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-07", "stars": 2565, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-10", "stars": 2567, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-11", "stars": 2572, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-13", "stars": 2574, "forks": 122, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-14", "stars": 2576, "forks": 123, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-16", "stars": 2578, "forks": 123, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-17", "stars": 2580, "forks": 124, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-18", "stars": 2587, "forks": 125, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-19", "stars": 2590, "forks": 125, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-20", "stars": 2595, "forks": 125, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-21", "stars": 2598, "forks": 125, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-22", "stars": 2601, "forks": 125, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-23", "stars": 2607, "forks": 125, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-24", "stars": 2608, "forks": 126, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-25", "stars": 2610, "forks": 127, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-27", "stars": 2614, "forks": 127, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-28", "stars": 2614, "forks": 129, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-29", "stars": 2616, "forks": 129, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-04-30", "stars": 2616, "forks": 130, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-01", "stars": 2619, "forks": 130, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-02", "stars": 2620, "forks": 132, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-03", "stars": 2622, "forks": 132, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-04", "stars": 2625, "forks": 132, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-06", "stars": 2627, "forks": 132, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-07", "stars": 2630, "forks": 132, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-08", "stars": 2632, "forks": 132, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-09", "stars": 2635, "forks": 132, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-10", "stars": 2641, "forks": 133, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-12", "stars": 2642, "forks": 133, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-13", "stars": 2644, "forks": 133, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-14", "stars": 2649, "forks": 134, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-15", "stars": 2652, "forks": 135, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-16", "stars": 2655, "forks": 136, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-17", "stars": 2659, "forks": 136, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-18", "stars": 2660, "forks": 136, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-19", "stars": 2663, "forks": 136, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-20", "stars": 2665, "forks": 136, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-21", "stars": 2670, "forks": 136, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-22", "stars": 2674, "forks": 136, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-23", "stars": 2679, "forks": 138, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-24", "stars": 2681, "forks": 138, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-25", "stars": 2682, "forks": 138, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-26", "stars": 2686, "forks": 138, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-27", "stars": 2689, "forks": 138, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-28", "stars": 2690, "forks": 138, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-29", "stars": 2693, "forks": 139, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-30", "stars": 2694, "forks": 139, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-05-31", "stars": 2696, "forks": 139, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-01", "stars": 2698, "forks": 139, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-02", "stars": 2702, "forks": 139, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-03", "stars": 2705, "forks": 139, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-04", "stars": 2708, "forks": 140, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-05", "stars": 2709, "forks": 140, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-06", "stars": 2711, "forks": 140, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-07", "stars": 2713, "forks": 140, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-08", "stars": 2714, "forks": 140, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-09", "stars": 2716, "forks": 140, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-10", "stars": 2720, "forks": 140, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-11", "stars": 2721, "forks": 140, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-12", "stars": 2722, "forks": 140, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-13", "stars": 2723, "forks": 142, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-14", "stars": 2725, "forks": 143, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-15", "stars": 2729, "forks": 143, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-16", "stars": 2729, "forks": 144, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-18", "stars": 2731, "forks": 144, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-19", "stars": 2733, "forks": 144, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-20", "stars": 2735, "forks": 144, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-21", "stars": 2738, "forks": 144, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-22", "stars": 2738, "forks": 145, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-23", "stars": 2741, "forks": 145, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-24", "stars": 2743, "forks": 145, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-25", "stars": 2745, "forks": 145, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-27", "stars": 2749, "forks": 145, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-29", "stars": 2750, "forks": 145, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-06-30", "stars": 2752, "forks": 145, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-07-01", "stars": 2756, "forks": 145, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-07-03", "stars": 2758, "forks": 145, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-07-04", "stars": 2759, "forks": 145, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-07-05", "stars": 2761, "forks": 145, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-07-06", "stars": 2765, "forks": 145, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-07-07", "stars": 2766, "forks": 146, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-07-09", "stars": 2770, "forks": 146, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-07-10", "stars": 2772, "forks": 146, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-07-13", "stars": 2773, "forks": 146, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-07-14", "stars": 2779, "forks": 146, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-07-15", "stars": 2780, "forks": 146, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-07-16", "stars": 2782, "forks": 146, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-07-17", "stars": 2783, "forks": 146, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-07-18", "stars": 2785, "forks": 146, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-07-19", "stars": 2786, "forks": 146, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-07-20", "stars": 2795, "forks": 146, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-07-21", "stars": 2811, "forks": 149, - "downloads": null + "downloads": null, + "clones": null }, { "date": "2026-07-22", "stars": 2812, "forks": 148, - "downloads": 0 + "downloads": 0, + "clones": null }, { "date": "2026-07-23", "stars": 2816, "forks": 149, - "downloads": 0 + "downloads": 0, + "clones": null + }, + { + "date": "2026-07-24", + "stars": 2818, + "forks": 149, + "downloads": 0, + "clones": null + }, + { + "date": "2026-07-25", + "stars": 2820, + "forks": 150, + "downloads": 0, + "clones": null + }, + { + "date": "2026-07-26", + "stars": 2822, + "forks": 150, + "downloads": 0, + "clones": null + }, + { + "date": "2026-07-27", + "stars": 2822, + "forks": 150, + "downloads": 0, + "clones": null + }, + { + "date": "2026-07-28", + "stars": 2823, + "forks": 149, + "downloads": 0, + "clones": null + }, + { + "date": "2026-07-29", + "stars": 2826, + "forks": 149, + "downloads": 0, + "clones": null + }, + { + "date": "2026-07-30", + "stars": 2826, + "forks": 149, + "downloads": 0, + "clones": null + }, + { + "date": "2026-07-31", + "stars": 2828, + "forks": 149, + "downloads": 0, + "clones": null + }, + { + "date": "2026-08-01", + "stars": 2831, + "forks": 150, + "downloads": 0, + "clones": null + }, + { + "date": "2026-08-02", + "stars": 2832, + "forks": 150, + "downloads": 0, + "clones": 448 + }, + { + "date": "2026-08-03", + "stars": 2833, + "forks": 151, + "downloads": 0, + "clones": 910 + }, + { + "date": "2026-08-04", + "stars": 2835, + "forks": 151, + "downloads": 0, + "clones": 1384 + }, + { + "date": "2026-08-05", + "stars": 2836, + "forks": 151, + "downloads": 0, + "clones": 1837 + }, + { + "date": "2026-08-06", + "stars": 2836, + "forks": 151, + "downloads": 0, + "clones": 2222 + }, + { + "date": "2026-08-07", + "stars": 2839, + "forks": 151, + "downloads": 0, + "clones": 2582 + }, + { + "date": "2026-08-08", + "stars": 2842, + "forks": 151, + "downloads": 0, + "clones": 2960 + }, + { + "date": "2026-08-09", + "stars": 2844, + "forks": 152, + "downloads": 0, + "clones": 3310 + }, + { + "date": "2026-08-10", + "stars": 2847, + "forks": 152, + "downloads": 0, + "clones": 3701 + }, + { + "date": "2026-08-11", + "stars": 2848, + "forks": 152, + "downloads": 0, + "clones": 4078 + }, + { + "date": "2026-08-12", + "stars": 2850, + "forks": 152, + "downloads": 0, + "clones": 4450 + }, + { + "date": "2026-08-13", + "stars": 2852, + "forks": 153, + "downloads": 0, + "clones": 4846 + }, + { + "date": "2026-08-14", + "stars": 2856, + "forks": 152, + "downloads": 0, + "clones": 5238 + }, + { + "date": "2026-08-15", + "stars": 2857, + "forks": 152, + "downloads": 0, + "clones": 15682 + }, + { + "date": "2026-08-16", + "stars": 2859, + "forks": 152, + "downloads": 0, + "clones": 16016 + }, + { + "date": "2026-08-17", + "stars": 2863, + "forks": 153, + "downloads": 0, + "clones": 16390 + }, + { + "date": "2026-08-18", + "stars": 2864, + "forks": 153, + "downloads": 0, + "clones": 16803 + }, + { + "date": "2026-08-19", + "stars": 2865, + "forks": 153, + "downloads": 0, + "clones": 17163 + }, + { + "date": "2026-08-20", + "stars": 2866, + "forks": 153, + "downloads": 0, + "clones": 17503 + }, + { + "date": "2026-08-21", + "stars": 2868, + "forks": 153, + "downloads": 0, + "clones": 17893 + }, + { + "date": "2026-08-22", + "stars": 2872, + "forks": 153, + "downloads": 0, + "clones": 18281 + }, + { + "date": "2026-08-23", + "stars": 2879, + "forks": 153, + "downloads": 0, + "clones": 18706 + }, + { + "date": "2026-08-24", + "stars": 2899, + "forks": 153, + "downloads": 0, + "clones": 19140 + }, + { + "date": "2026-08-25", + "stars": 2906, + "forks": 153, + "downloads": 0, + "clones": 19519 + }, + { + "date": "2026-08-26", + "stars": 2913, + "forks": 153, + "downloads": 0, + "clones": 19915 + }, + { + "date": "2026-08-27", + "stars": 2914, + "forks": 153, + "downloads": 0, + "clones": 20338 + }, + { + "date": "2026-08-28", + "stars": 2916, + "forks": 153, + "downloads": 0, + "clones": 20658 + }, + { + "date": "2026-08-29", + "stars": 2917, + "forks": 152, + "downloads": 0, + "clones": 21034 + }, + { + "date": "2026-08-30", + "stars": 2920, + "forks": 152, + "downloads": 0, + "clones": 21326 + }, + { + "date": "2026-08-31", + "stars": 2922, + "forks": 152, + "downloads": 0, + "clones": 21669 + }, + { + "date": "2026-09-01", + "stars": 2925, + "forks": 152, + "downloads": 0, + "clones": 22221 + }, + { + "date": "2026-09-02", + "stars": 2926, + "forks": 152, + "downloads": 0, + "clones": 22221 } ] } diff --git a/.github/workflows/repo-growth.yml b/.github/workflows/repo-growth.yml index 2e86f02e..5ee3cbfe 100644 --- a/.github/workflows/repo-growth.yml +++ b/.github/workflows/repo-growth.yml @@ -22,5 +22,6 @@ jobs: title: ProxMenux growth output: images/project-growth.svg history: .github/repo-growth/history.json - metrics: stars,forks + metrics: stars,forks,clones + traffic-token: ${{ secrets.REPO_GROWTH_TRAFFIC_TOKEN }} layout: dashboard diff --git a/AppImage/ProxMenux-1.2.5.AppImage b/AppImage/ProxMenux-1.2.5.AppImage new file mode 100755 index 00000000..344bd375 Binary files /dev/null and b/AppImage/ProxMenux-1.2.5.AppImage differ diff --git a/AppImage/ProxMenux-Monitor.AppImage.sha256 b/AppImage/ProxMenux-Monitor.AppImage.sha256 new file mode 100644 index 00000000..1d4c346b --- /dev/null +++ b/AppImage/ProxMenux-Monitor.AppImage.sha256 @@ -0,0 +1 @@ +6449a4e1126f428765d0bb9459342a079d2bc1d4c372b676d579f1c48a2d7d4a ProxMenux-1.2.5.AppImage diff --git a/images/project-growth.svg b/images/project-growth.svg index 4e4d09b4..d31e54ef 100644 --- a/images/project-growth.svg +++ b/images/project-growth.svg @@ -1,12 +1,12 @@ - + ProxMenux growth for MacRimi/ProxMenux - Repository growth dashboard showing stars, forks over time. + Repository growth dashboard showing stars, forks, git clones over time. - + - + - + ProxMenux growth - MacRimi/ProxMenux · Jan 15, 2025 – Jul 23, 2026 + MacRimi/ProxMenux · Jan 15, 2025 – Sep 2, 2026 LOCAL HISTORY - + STARS - 2,816 - +2,815 tracked - - + 2,926 + +2,925 tracked + + FORKS - 149 - +149 tracked + 152 + +152 tracked + + + + GIT CLONES + 22.2K + +21.8K tracked Stars - 2,816 - range 1–2,816 - 2,8161,4091 - - + 2,926 + range 1–2,926 + 2,9261,4641 + + - Jan 15, 2025Oct 19, 2025Jul 23, 2026 + Jan 15, 2025Nov 8, 2025Sep 2, 2026 Forks - 149 - range 0–149 - 149750 - - - - Jan 15, 2025Oct 19, 2025Jul 23, 2026 + 152 + range 0–153 + 153770 + + + + Jan 15, 2025Nov 8, 2025Sep 2, 2026 + + + + Git clones + 22.2K + range 448–22.2K + 22.2K11.3K448 + + + + Aug 2, 2026Aug 17, 2026Sep 2, 2026 - Updated Jul 23, 2026 + Updated Sep 2, 2026 - Generated by Repo Growth ↗ + Generated by Repo Growth ↗ diff --git a/json/app_tracking_hints.json b/json/app_tracking_hints.json index 17dcc17c..b4141621 100644 --- a/json/app_tracking_hints.json +++ b/json/app_tracking_hints.json @@ -83,6 +83,19 @@ "tag_regex": "v?(\\d+(?:\\.\\d+){3})", "website": "https://www.ispyconnect.com/" }, + "airtrail": { + "default_ports": [ + 3000 + ], + "file_path": "/root/.airtrail", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/airtrail.webp", + "repo": "johanohly/AirTrail", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://airtrail.johan.ohly.dk/" + }, "alpine-cinny": { "default_ports": [ 8080 @@ -155,6 +168,19 @@ "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.audiobookshelf.org/" }, + "aurral": { + "default_ports": [ + 3001 + ], + "file_path": "/root/.aurral", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/aurral.webp", + "repo": "lklynet/aurral", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://aurral.org" + }, "authelia": { "default_ports": [ 443 @@ -402,6 +428,19 @@ "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.bookstackapp.com/" }, + "budget-board": { + "default_ports": [ + 80 + ], + "file_path": "/root/.budget-board", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/budget-board.webp", + "repo": "teelur/budget-board", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://budgetboard.net" + }, "byparr": { "default_ports": [ 8191 @@ -465,7 +504,7 @@ "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/certimate.webp", "repo": "certimate-go/certimate", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", - "website": "https://certimate.me/" + "website": "https://docs.certimate.me/en-US/" }, "checkmate": { "default_ports": [ @@ -725,6 +764,19 @@ "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/fccview/degoog" }, + "directus": { + "default_ports": [ + 8055 + ], + "file_path": "/root/.directus", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/directus.webp", + "repo": "directus/directus", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://directus.com/" + }, "discopanel": { "default_ports": [ 8080 @@ -861,12 +913,17 @@ "website": "https://www.drawio.com/" }, "droppedneedle": { + "default_ports": [ + 8688 + ], "file_path": "/root/.droppedneedle", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/droppedneedle.webp", "repo": "DroppedNeedle/DroppedNeedle", - "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)" + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://github.com/droppedneedle/droppedneedle" }, "duplicati": { "default_ports": [ @@ -1111,6 +1168,19 @@ "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/dullage/flatnotes" }, + "fleet": { + "default_ports": [ + 8080 + ], + "file_path": "/root/.fleet", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/fleet-dm.webp", + "repo": "fleetdm/fleet", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://fleetdm.com/" + }, "fluid-calendar": { "default_ports": [ 3000 @@ -1282,6 +1352,19 @@ "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/AlexxIT/go2rtc" }, + "godoxy": { + "default_ports": [ + 443 + ], + "file_path": "/root/.godoxy", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/yusing/godoxy@main/assets/godoxy.png", + "repo": "yusing/godoxy", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://github.com/yusing/godoxy" + }, "gogs": { "default_ports": [ 3000 @@ -1593,6 +1676,19 @@ "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://hyperion-project.org/forum/" }, + "ignis": { + "default_ports": [ + 443 + ], + "file_path": "/root/.ignis", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/obsidian.webp", + "repo": "Nystik-gh/ignis", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://github.com/Nystik-gh/ignis" + }, "igotify": { "default_ports": [ 80 @@ -2238,6 +2334,32 @@ "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/s1t5/mail-archiver" }, + "mailpit": { + "default_ports": [ + 8025 + ], + "file_path": "/root/.mailpit", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/mailpit.webp", + "repo": "axllent/mailpit", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://mailpit.axllent.org/" + }, + "maintainerr": { + "default_ports": [ + 6246 + ], + "file_path": "/root/.maintainerr", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/maintainerr.webp", + "repo": "Maintainerr/Maintainerr", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://maintainerr.info" + }, "managemydamnlife": { "default_ports": [ 3000 @@ -2416,6 +2538,19 @@ "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://www.monicahq.com/" }, + "mumble": { + "default_ports": [ + 64738 + ], + "file_path": "/root/.mumble", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/mumble.webp", + "repo": "mumble-voip/mumble", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://www.mumble.info/" + }, "myip": { "default_ports": [ 18966 @@ -2554,6 +2689,29 @@ "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://netboxlabs.com/products/netbox/" }, + "networkoptimizer": { + "default_ports": [ + 8042 + ], + "file_path": "/root/.networkoptimizer", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/network-optimizer.webp", + "repo": "Ozark-Connect/NetworkOptimizer", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://ozarkconnect.net/network-optimizer" + }, + "newt": { + "file_path": "/root/.newt", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pangolin.webp", + "repo": "fosrl/newt", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://pangolin.net" + }, "nextexplorer": { "default_ports": [ 3000 @@ -2819,6 +2977,19 @@ "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://openarchiver.com/" }, + "openbao": { + "default_ports": [ + 8200 + ], + "file_path": "/root/.openbao", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/openbao.webp", + "repo": "openbao/openbao", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://openbao.org/" + }, "opencloud": { "default_ports": [ 443 @@ -3094,12 +3265,17 @@ "website": "https://paymenter.org/" }, "pegaprox": { + "default_ports": [ + 5000 + ], "file_path": "/root/.pegaprox", "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "github_source": "releases", "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pegaprox.webp", "repo": "PegaProx/project-pegaprox", - "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)" + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://pegaprox.com/" }, "pelican-panel": { "default_ports": [ @@ -3436,6 +3612,19 @@ "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/rcourtman/Pulse" }, + "pve-ups": { + "default_ports": [ + 8080 + ], + "file_path": "/root/.pve-usv", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://github.com/ffind-dev/pve-ups/raw/refs/heads/main/Screenshots/logo/favicon.svg", + "repo": "ffind-dev/pve-ups", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://github.com/ffind-dev/pve-ups" + }, "qbittorrent": { "binary_path": "/opt/qbittorrent/qbittorrent-nox", "default_ports": [ @@ -3491,7 +3680,7 @@ "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/rackula.webp", "repo": "RackulaLives/Rackula", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", - "website": "https://count.racku.la" + "website": "https://www.racku.la/" }, "radarr": { "default_ports": [ @@ -3556,7 +3745,7 @@ "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/reactive-resume.webp", "repo": "amruthpillai/reactive-resume", "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", - "website": "https://rxresume.org" + "website": "https://rxresu.me/" }, "recyclarr": { "file_path": "/root/.recyclarr", @@ -3616,6 +3805,19 @@ "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://romm.app/" }, + "rss-bridge": { + "default_ports": [ + 80 + ], + "file_path": "/root/.rss-bridge", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/rss-bridge.webp", + "repo": "RSS-Bridge/rss-bridge", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://rss-bridge.org/" + }, "rustdeskserver": { "default_ports": [ 21114 @@ -3678,6 +3880,19 @@ "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://scanopy.net" }, + "seanime": { + "default_ports": [ + 43211 + ], + "file_path": "/root/.seanime", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/seanime.webp", + "repo": "5rahim/seanime", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://seanime.app/" + }, "searxng": { "default_ports": [ 8888 @@ -3702,6 +3917,19 @@ "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://seaweedfs.com/" }, + "securo": { + "default_ports": [ + 443 + ], + "file_path": "/root/.securo", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/securo.webp", + "repo": "securo-finance/securo", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://www.usesecuro.com" + }, "seelf": { "default_ports": [ 8080 @@ -3879,6 +4107,19 @@ "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/TuroYT/snowshare" }, + "solidinvoice": { + "default_ports": [ + 8765 + ], + "file_path": "/root/.solidinvoice", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/solidinvoice.webp", + "repo": "SolidInvoice/SolidInvoice", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://solidinvoice.co" + }, "solidtime": { "default_ports": [ 80 @@ -4021,6 +4262,19 @@ "tag_regex": "(?i)(?:SQUID_)?(\\d+(?:[._]\\d+){1,3})", "website": "https://www.squid-cache.org/" }, + "stalwart": { + "default_ports": [ + 8080 + ], + "file_path": "/root/.stalwart", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/stalwart.webp", + "repo": "stalwartlabs/stalwart", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://stalw.art/" + }, "step-ca": { "default_ports": [ 443 @@ -4072,6 +4326,32 @@ "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/mmastrac/stylus" }, + "suggestarr": { + "default_ports": [ + 5000 + ], + "file_path": "/root/.suggestarr", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/suggestarr.webp", + "repo": "giuseppe99barchetta/SuggestArr", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://github.com/giuseppe99barchetta/SuggestArr" + }, + "super-productivity": { + "default_ports": [ + 80 + ], + "file_path": "/root/.super-productivity", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/super-productivity.webp", + "repo": "super-productivity/super-productivity", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://super-productivity.com/" + }, "sure": { "default_ports": [ 3000 @@ -4202,6 +4482,19 @@ "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://termix.site/" }, + "teslamate": { + "default_ports": [ + 4000 + ], + "file_path": "/root/.teslamate", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/teslamate.webp", + "repo": "teslamate-org/teslamate", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://github.com/teslamate-org/teslamate" + }, "the-lounge": { "default_ports": [ 9000 @@ -4254,6 +4547,19 @@ "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://tianji.msgbyte.com/" }, + "tinyauth": { + "default_ports": [ + 3000 + ], + "file_path": "/root/.tinyauth", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/tinyauth.webp", + "repo": "tinyauthapp/tinyauth", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://tinyauth.app" + }, "tolgee": { "default_ports": [ 8080 @@ -4841,6 +5147,19 @@ "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", "website": "https://github.com/FuzzyGrim/Yamtrack" }, + "yopass": { + "default_ports": [ + 1337 + ], + "file_path": "/root/.yopass", + "file_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "github_source": "releases", + "installed_via": "file", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/yopass.webp", + "repo": "jhaals/yopass", + "tag_regex": "(?i)(?:v|release[-_/]?)?(\\d+(?:\\.\\d+){1,3}(?:[-+._][0-9A-Za-z.-]+)?)", + "website": "https://yopass.se/" + }, "yourls": { "default_ports": [ 80 diff --git a/json/helpers_cache.json b/json/helpers_cache.json index e5e3942e..0d1f94be 100644 --- a/json/helpers_cache.json +++ b/json/helpers_cache.json @@ -31,7 +31,42 @@ "execute_in": [ "pve" ], - "config_path": "cat /opt/2fauth/.env", + "config_path": "", + "os": "debian" + }, + { + "name": "Actual Budget Prometheus Exporter", + "slug": "actual-budget-prometheus-exporter", + "desc": "Prometheus exporter for Actual Budget. Exposes account balances, budget balances, transaction counts and uncategorized/transfer counts as metrics on /metrics. Installs as an addon into an existing LXC (e.g. alongside your Actual Budget server) and builds from source with Node.js.", + "script": "tools/addon/actual-budget-prometheus-exporter.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/actual-budget-prometheus-exporter.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/tools/addon/actual-budget-prometheus-exporter.sh", + "type": "addon", + "type_id": "88xtxy57q80v38v", + "categories": [ + "scriptcat00009", + "scriptcat00023" + ], + "category_names": [ + "Monitoring & Analytics", + "Finance & Budgeting" + ], + "notes": [ + "This is an addon, not a standalone container. Run it inside an existing LXC via the tools/addon script; it does not create its own container.", + "Requires an Actual Budget server URL, server password, and the Budget Sync ID (Settings > Advanced settings > Sync ID). E2E encryption password is optional.", + "Metrics are served at http://:3001/metrics (port configurable via PORT in the config file)." + ], + "warnings": [], + "port": 3001, + "website": "https://github.com/sakowicz/actual-budget-prometheus-exporter", + "documentation": "https://github.com/sakowicz/actual-budget-prometheus-exporter", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/actual-budget.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [], + "config_path": "", "os": "debian" }, { @@ -62,7 +97,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/actualbudget-data/config.json", + "config_path": "", "os": "debian" }, { @@ -78,7 +113,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within the Proxmox shell", @@ -99,7 +134,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/iptag/iptag.conf", + "config_path": "", "os": "debian" }, { @@ -112,10 +147,10 @@ "type": "addon", "type_id": "88xtxy57q80v38v", "categories": [ - "scriptcat00001" + "scriptcat000027" ], "category_names": [ - "Proxmox & Virtualization" + "Remote Access & VPN" ], "notes": [ "After the script finishes, reboot the LXC then run `netbird up` in the LXC console", @@ -148,10 +183,10 @@ "type": "addon", "type_id": "88xtxy57q80v38v", "categories": [ - "scriptcat00001" + "scriptcat000027" ], "category_names": [ - "Proxmox & Virtualization" + "Remote Access & VPN" ], "notes": [ "After the script finishes, reboot the LXC then run `tailscale up` in the LXC console", @@ -202,7 +237,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/AdGuardHome/AdGuardHome.yaml", + "config_path": "", "os": "debian" }, { @@ -235,7 +270,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/AdGuardHome/AdGuardHome.yaml", + "config_path": "", "os": "alpine" }, { @@ -271,7 +306,7 @@ "lxc", "vm" ], - "config_path": "/opt/adguardhome-sync/adguardhome-sync.yaml", + "config_path": "", "os": "debian" }, { @@ -307,7 +342,7 @@ "lxc", "vm" ], - "config_path": "/opt/adguardhome-sync/adguardhome-sync.yaml", + "config_path": "", "os": "alpine" }, { @@ -342,7 +377,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/adventurelog/backend/server/.env", + "config_path": "", "os": "debian" }, { @@ -355,10 +390,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00012", + "scriptcat000026" ], "category_names": [ - "Documents & Notes" + "Documents & Notes", + "Productivity & Workflows" ], "notes": [ "Admin Login under http://$IP:3010/admin/, credentials can be found with cat /root/affine.creds", @@ -409,86 +446,41 @@ "execute_in": [ "pve" ], - "config_path": "/opt/agentdvr/agent/Media/XML/config.json", - "os": "debian" + "config_path": "", + "os": "ubuntu" }, { - "name": "Apache Airflow", - "slug": "airflow", - "desc": "Apache Airflow is an open-source platform for developing, scheduling, and monitoring batch-oriented workflows. It uses Python to author DAGs (Directed Acyclic Graphs) that represent workflows, and provides a rich web UI for managing and observing pipelines.", - "script": "ct/airflow.sh", - "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/airflow.sh", - "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/airflow.sh", + "name": "AirTrail", + "slug": "airtrail", + "desc": "AirTrail is a modern, self-hosted personal flight tracking system. Log your flights, visualize them on an interactive world map, view detailed statistics, share flights between multiple users, and import from sources such as MyFlightRadar24, Flighty and OpenFlights.", + "script": "ct/airtrail.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/airtrail.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/airtrail.sh", "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00019" + "scriptcat00000" ], "category_names": [ - "Automation & Scheduling" + "Miscellaneous" ], "notes": [ - "The initial admin password is randomly generated and stored in /opt/airflow/.env (AIRFLOW_ADMIN_PASSWORD).", - "Place your DAG files in /opt/airflow/dags/. The scheduler will pick them up automatically.", - "This installs Airflow with LocalExecutor. For distributed task execution, configure CeleryExecutor manually." + "On first access, register an account through the web interface. The first user created becomes the owner/administrator.", + "The interactive airport-overlay map tiles are published by upstream only as a separate container image and are not bundled in this bare-metal install. All other map layers, statistics and features work normally." ], "warnings": [], - "port": 8080, - "website": "https://airflow.apache.org/", - "documentation": "https://airflow.apache.org/docs/", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/apache.webp", + "port": 3000, + "website": "https://airtrail.johan.ohly.dk/", + "documentation": "https://airtrail.johan.ohly.dk/docs/overview/introduction", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/airtrail.webp", "updateable": true, "privileged": false, "has_arm": false, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], "config_path": "", - "default_credentials": { - "username": "admin", - "password": "" - }, - "os": "debian" - }, - { - "name": "AliasVault", - "slug": "aliasvault", - "desc": "AliasVault is an open-source, end-to-end encrypted password manager and email alias service. It features a zero-knowledge architecture where your master password never leaves your device, a built-in SMTP server for alias email addresses, browser extensions with autofill, and native iOS/Android apps.", - "script": "ct/aliasvault.sh", - "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/aliasvault.sh", - "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/aliasvault.sh", - "type": "lxc", - "type_id": "nm9bra8mzye2scg", - "categories": [ - "scriptcat00006" - ], - "category_names": [ - "Authentication & Security" - ], - "notes": [ - "To receive alias emails, configure your domain's MX record to point to this server and update PRIVATE_EMAIL_DOMAINS in /opt/aliasvault/.env." - ], - "warnings": [ - "The initial installation builds AliasVault from source and takes 15–30 minutes. Do not interrupt the process.", - "The admin password is auto-generated during installation and displayed in the installation output. Save it immediately." - ], - "port": 443, - "website": "https://aliasvault.net/", - "documentation": "https://docs.aliasvault.net/", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/aliasvault.webp", - "updateable": true, - "privileged": false, - "has_arm": false, - "is_dev": true, - "execute_in": [ - "lxc" - ], - "config_path": "", - "default_credentials": { - "username": "admin", - "password": "" - }, "os": "debian" }, { @@ -504,7 +496,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Resource and network settings are adjustable post LXC creation." @@ -527,7 +519,7 @@ { "name": "AllStarLink", "slug": "allstarlink-vm", - "desc": "AllStarLink is a network of Amateur Radio repeaters, remote base stations and hot spots accessible to each other via Voice over Internet Protocol.", + "desc": "AllStarLink is an amateur radio network that links repeaters and hotspots over the internet using Asterisk. This VM runs a full node.", "script": "vm/allstarlink-vm.sh", "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/allstarlink-vm.sh", "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/allstarlink-vm.sh", @@ -540,13 +532,14 @@ "Gaming & Leisure" ], "notes": [ - "Options to Install Allmon3" + "Cloud-Init is enabled by default. Configure your SSH key and credentials in the Proxmox Cloud-Init tab before starting the VM.", + "If you use Cloud-init, checkout cloud-init discussion: `https://github.com/community-scripts/ProxmoxVE/discussions/272`" ], "warnings": [], "port": 0, - "website": "https://www.allstarlink.org/", + "website": "https://allstarlink.org/", "documentation": "https://allstarlink.github.io/", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/allstar-link.webp", + "logo": "", "updateable": false, "privileged": false, "has_arm": false, @@ -555,7 +548,7 @@ "vm" ], "config_path": "", - "os": "debian" + "os": "" }, { "name": "AlmaLinux 10", @@ -570,7 +563,7 @@ "scriptcat00002" ], "category_names": [ - "Operating Systems" + "Operating Systems & Appliances" ], "notes": [ "Cloud-Init is enabled by default. Configure your SSH key and credentials in the Proxmox Cloud-Init tab before starting the VM.", @@ -604,7 +597,7 @@ "scriptcat00002" ], "category_names": [ - "Operating Systems" + "Operating Systems & Appliances" ], "notes": [], "warnings": [], @@ -617,14 +610,14 @@ "has_arm": true, "is_dev": false, "execute_in": [ - "pve" + "lxc" ], "config_path": "", "default_credentials": { "username": "root", - "password": "alpine" + "password": "" }, - "os": "debian" + "os": "alpine" }, { "name": "Alpine-BorgBackup-Server", @@ -658,7 +651,7 @@ "pve" ], "config_path": "", - "os": "debian" + "os": "alpine" }, { "name": "Alpine-Cinny", @@ -670,10 +663,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00018" + "scriptcat00022" ], "category_names": [ - "MQTT & Messaging" + "Communication & Community" ], "notes": [ "To see config: `cat /opt/cinny/config.json`" @@ -734,10 +727,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00002" + "scriptcat00011" ], "category_names": [ - "Operating Systems" + "Files & Downloads" ], "notes": [], "warnings": [ @@ -761,39 +754,6 @@ }, "os": "alpine" }, - { - "name": "Alpine-ntfy", - "slug": "alpine-ntfy", - "desc": "ntfy is a simple HTTP-based pub-sub notification service that lets you send push notifications to your phone or desktop via scripts, without signup or cost.", - "script": "ct/alpine-ntfy.sh", - "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/alpine-ntfy.sh", - "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/alpine-ntfy.sh", - "type": "lxc", - "type_id": "nm9bra8mzye2scg", - "categories": [ - "scriptcat00018" - ], - "category_names": [ - "MQTT & Messaging" - ], - "notes": [ - "Alpine-based LXC using apk package manager." - ], - "warnings": [], - "port": 80, - "website": "https://ntfy.sh/", - "documentation": "https://docs.ntfy.sh/", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ntfy.webp", - "updateable": true, - "privileged": false, - "has_arm": true, - "is_dev": false, - "execute_in": [ - "lxc" - ], - "config_path": "", - "os": "alpine" - }, { "name": "Redlib", "slug": "alpine-redlib", @@ -804,10 +764,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00010" + "scriptcat00000" ], "category_names": [ - "Dashboards & Frontends" + "Miscellaneous" ], "notes": [], "warnings": [], @@ -822,42 +782,38 @@ "execute_in": [ "pve" ], - "config_path": "/opt/redlib/redlib.conf", - "os": "debian" + "config_path": "", + "os": "alpine" }, { - "name": "Valkey", - "slug": "alpine-valkey", - "desc": "Valkey is an open source (BSD) high-performance key/value datastore that supports a variety of workloads such as caching, message queues, and can act as a primary database. The project is backed by the Linux Foundation, ensuring it will remain open source forever.", - "script": "ct/alpine-valkey.sh", - "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/alpine-valkey.sh", - "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/alpine-valkey.sh", - "type": "lxc", - "type_id": "nm9bra8mzye2scg", - "categories": [ - "scriptcat00008" - ], - "category_names": [ - "Databases" - ], + "name": "Alpine", + "slug": "alpine-vm", + "desc": "Alpine Linux is a minimal distribution built on musl and BusyBox that idles in well under 100 MB. This creates a VM from the official UEFI cloud image, which gives Alpine a kernel of its own -- the one thing an Alpine LXC cannot have.", + "script": "vm/alpine-vm.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/alpine-vm.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/alpine-vm.sh", + "type": "vm", + "type_id": "lte524abgx960bd", + "categories": [], + "category_names": [], "notes": [ - "Show Login Credentials, type `cat ~/valkey.creds` in the LXC console", - "Alpines Valkey package is compiled without TLS support. For TLS, use the Debian-based valkey script instead." + "Cloud-Init is enabled by default. Configure your SSH key and credentials in the Proxmox Cloud-Init tab before starting the VM.", + "Alpine uses apk and OpenRC instead of apt and systemd. Enable a service with `rc-update add default`." ], "warnings": [], - "port": 6379, - "website": "https://valkey.io/", - "documentation": "https://valkey.io/docs/", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/valkey.webp", + "port": 0, + "website": "https://alpinelinux.org/cloud/", + "documentation": "https://wiki.alpinelinux.org/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/alpine-linux.webp", "updateable": true, "privileged": false, - "has_arm": true, - "is_dev": false, + "has_arm": false, + "is_dev": true, "execute_in": [ - "pve" + "vm" ], - "config_path": "/etc/valkey/valkey.conf", - "os": "alpine" + "config_path": "", + "os": "" }, { "name": "Alpine-Wakapi", @@ -869,10 +825,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00009" + "scriptcat00020" ], "category_names": [ - "Monitoring & Analytics" + "AI / Coding & Dev-Tools" ], "notes": [], "warnings": [ @@ -887,7 +843,7 @@ "has_arm": true, "is_dev": false, "execute_in": [], - "config_path": "/opt/wakapi/config.yml", + "config_path": "", "os": "alpine" }, { @@ -922,7 +878,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/ampache/config/ampache.cfg.php", + "config_path": "", "os": "debian" }, { @@ -935,10 +891,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00013" ], "category_names": [ - "Documents & Notes" + "Media & Streaming" ], "notes": [ "The first user to register becomes the admin.", @@ -956,7 +912,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/anchor/.env", + "config_path": "", "os": "debian" }, { @@ -999,6 +955,43 @@ }, "os": "debian" }, + { + "name": "AnythingLLM", + "slug": "anythingllm", + "desc": "AnythingLLM is an all-in-one AI application: turn documents, websites and other content into a chat-ready knowledge base with RAG, agents and multi-user workspaces. It connects to local model runners such as Ollama and LM Studio as well as OpenAI, Anthropic and other hosted providers.", + "script": "ct/anythingllm.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/anythingllm.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/anythingllm.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00020" + ], + "category_names": [ + "AI / Coding & Dev-Tools" + ], + "notes": [ + "Open http://:3001 and complete the onboarding: pick an LLM provider (for example an existing Ollama container) and an embedding model. Nothing works until a provider is configured.", + "Documents, the LanceDB vector store and the SQLite database live in /opt/anythingllm_data/storage, outside the app directory, so they survive updates. Back up that directory.", + "Two services run here: anythingllm (server and web UI on 3001) and anythingllm-collector (document processing). No models run in this container - point it at a separate Ollama or a hosted API." + ], + "warnings": [ + "Upstream does not support bare-metal deployments - BARE_METAL.md is explicitly a reference only and issues from non-Docker installs are not answered. This script follows that documented procedure." + ], + "port": 3001, + "website": "https://anythingllm.com/", + "documentation": "https://docs.anythingllm.com/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/anythingllm.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, { "name": "Anytype Server", "slug": "anytype-server", @@ -1009,10 +1002,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00012", + "scriptcat000026" ], "category_names": [ - "Documents & Notes" + "Documents & Notes", + "Productivity & Workflows" ], "notes": [ "After installation, import /opt/anytype/data/client-config.yml into your Anytype apps.", @@ -1032,9 +1027,48 @@ "execute_in": [ "pve" ], - "config_path": "/opt/anytype/.env", + "config_path": "", "os": "ubuntu" }, + { + "name": "Apache Airflow", + "slug": "apache-airflow", + "desc": "Apache Airflow is an open-source platform for developing, scheduling, and monitoring batch-oriented workflows. It uses Python to author DAGs (Directed Acyclic Graphs) that represent workflows, and provides a rich web UI for managing and observing pipelines.", + "script": "ct/apache-airflow.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/apache-airflow.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/apache-airflow.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00019" + ], + "category_names": [ + "Automation & Scheduling" + ], + "notes": [ + "The initial admin password is randomly generated and stored in /opt/airflow/.env (AIRFLOW_ADMIN_PASSWORD).", + "Place your DAG files in /opt/airflow/dags/. The scheduler will pick them up automatically.", + "This installs Airflow with LocalExecutor. For distributed task execution, configure CeleryExecutor manually." + ], + "warnings": [], + "port": 8080, + "website": "https://airflow.apache.org/", + "documentation": "https://airflow.apache.org/docs/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/apache.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "admin", + "password": "" + }, + "os": "debian" + }, { "name": "Apache-Cassandra", "slug": "apache-cassandra", @@ -1096,7 +1130,7 @@ "execute_in": [ "pve" ], - "config_path": "etc/default.ini", + "config_path": "", "os": "debian" }, { @@ -1109,10 +1143,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat000027" ], "category_names": [ - "Miscellaneous" + "Remote Access & VPN" ], "notes": [], "warnings": [], @@ -1127,7 +1161,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/guacamole/guacd.conf", + "config_path": "", "default_credentials": { "username": "guacadmin", "password": "guacadmin" @@ -1164,7 +1198,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/apache-tika/tika-config.xml", + "config_path": "", "os": "debian" }, { @@ -1177,10 +1211,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00010" + "scriptcat00021" ], "category_names": [ - "Dashboards & Frontends" + "Webservers & Proxies" ], "notes": [ "User can select which Adoptium JDK should be used for the selected Tomcat version (9, 10.1 or 11)." @@ -1210,9 +1244,11 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ + "scriptcat00018", "scriptcat00019" ], "category_names": [ + "Messaging & Queues", "Automation & Scheduling" ], "notes": [ @@ -1231,7 +1267,7 @@ "execute_in": [ "lxc" ], - "config_path": "/config", + "config_path": "", "os": "debian" }, { @@ -1262,7 +1298,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/apt-cacher-ng/acng.conf", + "config_path": "", "os": "debian" }, { @@ -1296,7 +1332,7 @@ "lxc", "vm" ], - "config_path": "/opt/arcane/.env", + "config_path": "", "default_credentials": { "username": "arcane", "password": "arcane-admin" @@ -1331,17 +1367,50 @@ "execute_in": [ "pve" ], - "config_path": "/opt/archivebox/data/ArchiveBox.conf", + "config_path": "", "default_credentials": { "username": "archivebox", "password": "community-scripts.org" }, "os": "debian" }, + { + "name": "Arch Linux", + "slug": "archlinux", + "desc": "Arch Linux is a lightweight, rolling-release Linux distribution that follows a keep-it-simple philosophy. It provides a minimalist base system that users can build upon according to their needs.", + "script": "ct/archlinux.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/archlinux.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/archlinux.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00002" + ], + "category_names": [ + "Operating Systems & Appliances" + ], + "notes": [ + "Arch Linux is a rolling-release distribution. Run 'pacman -Syu' regularly to keep the system up to date." + ], + "warnings": [], + "port": 0, + "website": "https://archlinux.org/", + "documentation": "https://wiki.archlinux.org/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/arch-linux.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "arch linux" + }, { "name": "Arch Linux", "slug": "archlinux-vm", - "desc": "Arch Linux is a highly customizable, independent Linux distribution that gives users complete control over their system. Known for its rolling release model, Arch Linux is always up-to-date with the latest software. It's favored by experienced users who appreciate its minimalist approach, demanding a hands-on installation and configuration process. This level of control and flexibility makes it a popular choice for those who want to tailor their Linux system to their exact needs.", + "desc": "Arch Linux is a rolling-release distribution built around simplicity and user control. Packages arrive as upstream releases them, and the system is assembled rather than preconfigured.", "script": "vm/archlinux-vm.sh", "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/archlinux-vm.sh", "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/archlinux-vm.sh", @@ -1351,25 +1420,26 @@ "scriptcat00002" ], "category_names": [ - "Operating Systems" + "Operating Systems & Appliances" ], - "notes": [], - "warnings": [ - "doesnt work with lvm and lvmthin disks!" + "notes": [ + "Cloud-Init is enabled by default. Configure your SSH key and credentials in the Proxmox Cloud-Init tab before starting the VM.", + "If you use Cloud-init, checkout cloud-init discussion: `https://github.com/community-scripts/ProxmoxVE/discussions/272`" ], + "warnings": [], "port": 0, "website": "https://archlinux.org/", - "documentation": "https://wiki.archlinux.org/title/Main_page", + "documentation": "https://wiki.archlinux.org/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/arch-linux.webp", - "updateable": true, + "updateable": false, "privileged": false, "has_arm": false, "is_dev": false, "execute_in": [ - "pve" + "vm" ], "config_path": "", - "os": "debian" + "os": "" }, { "name": "Argus", @@ -1432,23 +1502,23 @@ "execute_in": [ "pve" ], - "config_path": "/root/aria2.daemon", + "config_path": "", "os": "debian" }, { "name": "ARR-Stack", "slug": "arr-stack", "desc": "Proxmox VE Helper Scripts for setting up a stack of applications for use with Prowlarr, Sonarr, Radarr, Lidarr, Seerr, and qBittorrent.", - "script": "tools/addon/arr-stack.sh", - "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/arr-stack.sh", - "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/tools/addon/arr-stack.sh", - "type": "addon", - "type_id": "88xtxy57q80v38v", + "script": "ct/arr-stack.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/arr-stack.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/arr-stack.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00014" ], "category_names": [ - "Documents & Notes" + "*Arr Suite" ], "notes": [ "This script will prompt you to select the applications you want to install and configure the network settings." @@ -1478,10 +1548,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00022" ], "category_names": [ - "Miscellaneous" + "Communication & Community" ], "notes": [], "warnings": [], @@ -1496,7 +1566,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/asterisk", + "config_path": "", "os": "debian" }, { @@ -1527,7 +1597,83 @@ "execute_in": [ "pve" ], - "config_path": "/usr/share/audiobookshelf/config", + "config_path": "", + "os": "debian" + }, + { + "name": "AudioMuse-AI", + "slug": "audiomuse-ai", + "desc": "AudioMuse-AI is a self-hosted tool that uses sonic analysis to rediscover forgotten songs and generate groove-aware playlists for your music library, without external APIs. It integrates with Jellyfin, Navidrome, Emby, Lyrion or Plex and runs a Flask web UI backed by Redis Queue workers and PostgreSQL.", + "script": "ct/audiomuse-ai.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/audiomuse-ai.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/audiomuse-ai.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00014" + ], + "category_names": [ + "*Arr Suite" + ], + "notes": [ + "The generated web UI password is saved to /root/audiomuse-ai.creds inside the container (user: admin). Open http://:8000 to log in.", + "The installer downloads roughly 2.2 GB of ML models (musicnn, CLAP, Whisper, silero, gte) into /opt/audiomuse-ai_data/model, so the setup takes a while. Configuration, models and caches live in /opt/audiomuse-ai_data so they survive updates; the PostgreSQL database holds the analysis results. Sonic analysis itself is CPU- and memory-intensive.", + "Running two analysis workers can use significant RAM. If the container runs out of memory, disable audiomuse-ai-worker-high or increase the assigned RAM." + ], + "warnings": [ + "Connect your music server before running an analysis: edit /opt/audiomuse-ai_data/audiomuse.env and set MEDIASERVER_TYPE (jellyfin, navidrome, emby, lyrion, plex) plus the matching URL and credentials, then 'systemctl restart audiomuse-ai audiomuse-ai-worker audiomuse-ai-worker-high'." + ], + "port": 8000, + "website": "https://github.com/NeptuneHub/AudioMuse-AI", + "documentation": "https://github.com/NeptuneHub/AudioMuse-AI/tree/main/docs", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/audiomuse-ai.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "admin", + "password": "" + }, + "os": "debian" + }, + { + "name": "Aurral", + "slug": "aurral", + "desc": "Aurral is a self-hosted music discovery and artist request companion for Lidarr. It provides personalized recommendations, trends, tags and recent releases, playlist flows with streaming-service imports, and playback via Navidrome or Plex, while integrating with an existing Lidarr instance rather than replacing it.", + "script": "ct/aurral.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/aurral.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/aurral.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00014" + ], + "category_names": [ + "*Arr Suite" + ], + "notes": [ + "On first access at http://IP:3001, create the admin account and connect your Lidarr instance.", + "Application data (SQLite database aurral.db) is stored in /opt/aurral/data. Include it in regular container backups.", + "Aurral compiles native modules and builds the frontend during installation; allow several minutes for setup." + ], + "warnings": [], + "port": 3001, + "website": "https://aurral.org", + "documentation": "https://github.com/lklynet/aurral", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/aurral.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", "os": "debian" }, { @@ -1561,7 +1707,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/authelia/configuration.yml", + "config_path": "", "default_credentials": { "username": "authelia", "password": "authelia" @@ -1599,7 +1745,7 @@ "execute_in": [ "lxc" ], - "config_path": "/etc/authentik/config.yml", + "config_path": "", "os": "debian" }, { @@ -1630,7 +1776,7 @@ "execute_in": [ "pve" ], - "config_path": "/root/.config/autobrr/config.toml", + "config_path": "", "os": "debian" }, { @@ -1661,7 +1807,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/autocaliweb", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin123" @@ -1678,10 +1824,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00023" + "scriptcat000026" ], "category_names": [ - "Finance & Budgeting" + "Productivity & Workflows" ], "notes": [ "for private SSL setup visit: `https://github.com/babybuddy/babybuddy/blob/master/docs/setup/ssl.md`" @@ -1698,7 +1844,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/babybuddy/babybuddy/settings/production.py", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin" @@ -1735,7 +1881,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/backrest/config/config.json | /opt/backrest/.env", + "config_path": "", "os": "debian" }, { @@ -1748,10 +1894,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat000026" ], "category_names": [ - "Miscellaneous" + "Productivity & Workflows" ], "notes": [], "warnings": [], @@ -1766,7 +1912,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/baikal/config/baikal.yaml", + "config_path": "", "default_credentials": { "username": "Admin", "password": "" @@ -1803,7 +1949,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/bambuddy/.env", + "config_path": "", "os": "debian" }, { @@ -1834,7 +1980,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/bar-assistant", + "config_path": "", "os": "debian" }, { @@ -1870,7 +2016,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/baserow/.env", + "config_path": "", "os": "debian" }, { @@ -1901,7 +2047,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/bazarr/data/config/config.yaml", + "config_path": "", "os": "debian" }, { @@ -1914,10 +2060,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat000026" ], "category_names": [ - "Miscellaneous" + "Productivity & Workflows" ], "notes": [ "Register your User in Frontend: `http://LXC_IP:8080/register`", @@ -2033,7 +2179,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/bichon/bichon.env", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin@bichon" @@ -2073,7 +2219,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/birdnet/data", + "config_path": "", "os": "debian" }, { @@ -2140,7 +2286,7 @@ "execute_in": [ "pve" ], - "config_path": "`/opt/bitmagnet/config.yml` or `/opt/bitmagnet/.env`", + "config_path": "", "os": "debian" }, { @@ -2173,9 +2319,42 @@ "execute_in": [ "pve" ], - "config_path": "`/opt/bitmagnet/config.yml` or `/opt/bitmagnet/.env`", + "config_path": "", "os": "alpine" }, + { + "name": "BlissOS", + "slug": "blissos-vm", + "desc": "BlissOS is Android x86 as a full desktop operating system, running on its own kernel rather than inside a host. It suits a VM with a passed-through GPU, where Android apps get real graphics acceleration and their own machine.", + "script": "vm/blissos-vm.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/blissos-vm.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/blissos-vm.sh", + "type": "vm", + "type_id": "lte524abgx960bd", + "categories": [], + "category_names": [], + "notes": [ + "Without a passed-through GPU everything renders in software, which works but is slow. For Android apps on a Linux host instead, waydroid-vm is the lighter option.", + "This VM boots an installer. Open the console, choose Installation, create and format a partition on sda, and say yes to GRUB and a writable /system.", + "This is the FOSS build, without Google apps. The Gapps tree sits beside it on SourceForge." + ], + "warnings": [ + "The last official x86 release is from October 2024 (BlissOS 16, Android 13). The BlissOS17 directories exist on SourceForge but contain no builds." + ], + "port": 0, + "website": "https://blissos.org/", + "documentation": "https://docs.blissos.org/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/android.webp", + "updateable": false, + "privileged": false, + "has_arm": false, + "is_dev": true, + "execute_in": [ + "vm" + ], + "config_path": "", + "os": "" + }, { "name": "Blocky", "slug": "blocky", @@ -2204,7 +2383,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/blocky/config.yml", + "config_path": "", "os": "debian" }, { @@ -2237,7 +2416,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/booklore_storage/.env", + "config_path": "", "os": "debian" }, { @@ -2250,10 +2429,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00013" ], "category_names": [ - "Documents & Notes" + "Media & Streaming" ], "notes": [ "Open http://YOUR_IP:3000 and finish the initial setup using SETUP_BOOTSTRAP_TOKEN. The token is shown at the end of /root/bookorbit.creds", @@ -2262,7 +2441,7 @@ "warnings": [], "port": 3000, "website": "https://bookorbit.app/", - "documentation": "https://bookorbit.app/installation.html", + "documentation": "https://bookorbit.app/installation", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/bookorbit.webp", "updateable": true, "privileged": false, @@ -2306,13 +2485,88 @@ "execute_in": [ "pve" ], - "config_path": "/opt/bookstack/.env", + "config_path": "", "default_credentials": { "username": "admin@admin.com", "password": "password" }, "os": "debian" }, + { + "name": "Borg-UI", + "slug": "borg-ui", + "desc": "Borg-UI is a web frontend for BorgBackup. It replaces the borg command line for everyday work: creating and browsing repositories, scheduling backups, inspecting archives and restoring files, all from the browser. BorgBackup itself is installed alongside it.", + "script": "ct/borg-ui.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/borg-ui.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/borg-ui.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00007" + ], + "category_names": [ + "Backup & Recovery" + ], + "notes": [ + "Create your account through the web UI at http://:8081 on first visit.", + "ENABLE_STARTUP_LICENSE_SYNC is set to false in /opt/borg-ui/.env so the container does not contact the upstream licence service on every start. Set it to true if you use a paid licence.", + "Application data lives in /opt/borg-ui_data. The Borg repositories themselves are wherever you point them - those are the ones that actually matter for backups." + ], + "warnings": [ + "This container backs up what it can see. Mount the directories you want to protect into the LXC, and for remote repositories deploy an SSH key from the UI to the target host." + ], + "port": 8081, + "website": "https://github.com/karanhudia/borg-ui", + "documentation": "https://github.com/karanhudia/borg-ui#readme", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/borg-ui.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "admin", + "password": "admin123" + }, + "os": "debian" + }, + { + "name": "Budget-Board", + "slug": "budget-board", + "desc": "Budget-Board is a simple self-hosted app for tracking monthly spending and working towards financial goals. It pairs a .NET web API with a web client backed by PostgreSQL.", + "script": "ct/budget-board.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/budget-board.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/budget-board.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00023" + ], + "category_names": [ + "Finance & Budgeting" + ], + "notes": [ + "Create your account by registering via the web interface on first access.", + "To enable email features (password reset, notifications), configure the EMAIL_SMTP_* values in /opt/budget-board/server/.env and restart the service." + ], + "warnings": [], + "port": 80, + "website": "https://budgetboard.net", + "documentation": "https://github.com/teelur/budget-board", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/budget-board.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, { "name": "BunkerWeb", "slug": "bunkerweb", @@ -2323,10 +2577,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00006" + "scriptcat00006", + "scriptcat00021" ], "category_names": [ - "Authentication & Security" + "Authentication & Security", + "Webservers & Proxies" ], "notes": [], "warnings": [ @@ -2343,7 +2599,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/bunkerweb/variables.env", + "config_path": "", "os": "debian" }, { @@ -2374,7 +2630,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/systemd/system/byparr.service", + "config_path": "", "os": "debian" }, { @@ -2408,6 +2664,35 @@ "config_path": "", "os": "debian" }, + { + "name": "CachyOS", + "slug": "cachyos-vm", + "desc": "CachyOS is a performance-focused Arch derivative with custom kernels, BORE and sched-ext schedulers, and packages built for x86-64-v3/v4. Installation is completed in the graphical Calamares installer.", + "script": "vm/cachyos-vm.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/cachyos-vm.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/cachyos-vm.sh", + "type": "vm", + "type_id": "lte524abgx960bd", + "categories": [], + "category_names": [], + "notes": [ + "This VM boots an installer image. Open the console after creation and complete the installation there." + ], + "warnings": [], + "port": 0, + "website": "https://cachyos.org/", + "documentation": "https://wiki.cachyos.org/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/cachyos.webp", + "updateable": false, + "privileged": false, + "has_arm": false, + "is_dev": true, + "execute_in": [ + "vm" + ], + "config_path": "", + "os": "" + }, { "name": "Caddy", "slug": "caddy", @@ -2429,7 +2714,7 @@ ], "warnings": [ "xcaddy needs to be updated manually after a caddy update!", - "if you want ton use xcaddy, modify RAM to 2048MB, before or during installation." + "if you want to use xcaddy, modify RAM to 2048MB, before or during installation." ], "port": 80, "website": "https://caddyserver.com/", @@ -2442,7 +2727,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/caddy/Caddyfile", + "config_path": "", "os": "debian" }, { @@ -2466,7 +2751,7 @@ ], "warnings": [ "xcaddy needs to be updated manually after a caddy update!", - "if you want ton use xcaddy, modify RAM to 2048MB, before or during installation." + "if you want to use xcaddy, modify RAM to 2048MB, before or during installation." ], "port": 80, "website": "https://caddyserver.com/", @@ -2479,7 +2764,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/caddy/Caddyfile", + "config_path": "", "os": "alpine" }, { @@ -2512,7 +2797,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/calibre-web/app.db", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin123" @@ -2532,7 +2817,7 @@ "scriptcat00002" ], "category_names": [ - "Operating Systems" + "Operating Systems & Appliances" ], "notes": [], "warnings": [ @@ -2589,6 +2874,43 @@ "config_path": "", "os": "debian" }, + { + "name": "CentOS Stream", + "slug": "centos", + "desc": "CentOS Stream is a continuously delivered Linux distribution that tracks just ahead of RHEL development.", + "script": "ct/centos.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/centos.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/centos.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00002" + ], + "category_names": [ + "Operating Systems & Appliances" + ], + "notes": [ + "CentOS Stream is the upstream development platform for RHEL." + ], + "warnings": [], + "port": 0, + "website": "https://www.centos.org/centos-stream/", + "documentation": "https://docs.centos.org/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/centos.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "root", + "password": "" + }, + "os": "centos" + }, { "name": "Certimate", "slug": "certimate", @@ -2609,7 +2931,7 @@ "Change the default password after first login!" ], "port": 8090, - "website": "https://certimate.me/", + "website": "https://docs.certimate.me/en-US/", "documentation": "https://docs.certimate.me/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/certimate.webp", "updateable": true, @@ -2636,10 +2958,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00024" + "scriptcat00009" ], "category_names": [ - "Gaming & Leisure" + "Monitoring & Analytics" ], "notes": [], "warnings": [], @@ -2654,7 +2976,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/changedetection/url-watches.json", + "config_path": "", "os": "debian" }, { @@ -2690,6 +3012,80 @@ "config_path": "", "os": "debian" }, + { + "name": "Chatto", + "slug": "chatto", + "desc": "Chatto is a fully-featured, privacy-first team and group chat application that is free and easy to self-host. It ships as a single binary with an embedded NATS/JetStream store (no external database) and supports voice/video calls and screensharing via an optional LiveKit server.", + "script": "ct/chatto.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/chatto.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/chatto.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00022" + ], + "category_names": [ + "Communication & Community" + ], + "notes": [ + "Create the first account with `cd /opt/chatto && ./chatto operator user create --login admin` (the operator API is enabled by default), or register via the web UI at http://IP:4000.", + "Voice and video calls require a separately deployed LiveKit server; configure the [livekit] section in chatto.toml to enable them." + ], + "warnings": [ + "Review /opt/chatto_data/chatto.toml and configure SMTP credentials and a public webserver.url before using Chatto in production.", + "All persistent data (embedded NATS/JetStream store and chatto.toml with its secrets) lives in /opt/chatto_data, kept outside the app directory so it survives updates. Include /opt/chatto_data in regular backups." + ], + "port": 4000, + "website": "https://chatto.run", + "documentation": "https://docs.chatto.run", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/chatto.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, + { + "name": "Chatwoot", + "slug": "chatwoot", + "desc": "Chatwoot is an open-source omnichannel customer-support platform for live chat, email, social media and messaging conversations.", + "script": "ct/chatwoot.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/chatwoot.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/chatwoot.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00022" + ], + "category_names": [ + "Communication & Community" + ], + "notes": [ + "Create the first account at http://IP:3000 after the services have started.", + "Chatwoot compiles Ruby dependencies and frontend assets during installation; allow several minutes for setup." + ], + "warnings": [ + "Set FRONTEND_URL to a public HTTPS domain and configure SMTP before using Chatwoot in production.", + "Attachments are stored in /opt/chatwoot/storage. Include it and the PostgreSQL database in regular container backups." + ], + "port": 3000, + "website": "https://www.chatwoot.com/", + "documentation": "https://developers.chatwoot.com/self-hosted/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/chatwoot.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, { "name": "Checkmate", "slug": "checkmate", @@ -2722,7 +3118,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/checkmate/server/.env", + "config_path": "", "os": "debian" }, { @@ -2758,6 +3154,41 @@ "config_path": "", "os": "debian" }, + { + "name": "Chevereto", + "slug": "chevereto", + "desc": "Chevereto is a self-hosted image and video hosting platform for building your own Flickr or Imgur style media sharing site with full control over content, data and platform rules. This installs the open-source AGPLv3 Free edition on nginx, PHP-FPM and MariaDB.", + "script": "ct/chevereto.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/chevereto.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/chevereto.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00013" + ], + "category_names": [ + "Media & Streaming" + ], + "notes": [ + "Open http:// in your browser and complete the web installer to create the admin account and initialize the database.", + "Database credentials are stored in /opt/chevereto/app/env.php", + "Uses MariaDB, nginx and PHP-FPM. Uploaded images are stored in /opt/chevereto/images" + ], + "warnings": [], + "port": 80, + "website": "https://chevereto.com/", + "documentation": "https://v4-docs.chevereto.com/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/chevereto.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, { "name": "PVE LXC Cleaner", "slug": "clean-lxcs", @@ -2771,7 +3202,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within the Proxmox shell" @@ -2804,7 +3235,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within the Proxmox shell" @@ -2852,7 +3283,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/cleanuparr/config", + "config_path": "", "os": "debian" }, { @@ -2926,7 +3357,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/cliproxyapi/config.yaml", + "config_path": "", "os": "debian" }, { @@ -2961,7 +3392,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/systemd/system/cloudflare-ddns.service", + "config_path": "", "os": "debian" }, { @@ -2974,10 +3405,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00004" + "scriptcat00021", + "scriptcat000027" ], "category_names": [ - "Network & Firewall" + "Webservers & Proxies", + "Remote Access & VPN" ], "notes": [ "After install, run: cloudflared tunnel login && cloudflared tunnel create ", @@ -2995,7 +3428,7 @@ "execute_in": [ "pve" ], - "config_path": "/usr/local/etc/cloudflared/config.yml", + "config_path": "", "os": "debian" }, { @@ -3008,10 +3441,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00011" ], "category_names": [ - "Documents & Notes" + "Files & Downloads" ], "notes": [], "warnings": [], @@ -3026,7 +3459,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/cloudreve/data/conf.ini", + "config_path": "", "os": "debian" }, { @@ -3039,10 +3472,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00010" + "scriptcat00001" ], "category_names": [ - "Dashboards & Frontends" + "Host Management" ], "notes": [ "Set a root password if using autologin. This will be the Cockpit password. To set root password run `sudo passwd root`" @@ -3061,7 +3494,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/cockpit/cockpit.conf", + "config_path": "", "os": "debian" }, { @@ -3074,12 +3507,10 @@ "type": "addon", "type_id": "88xtxy57q80v38v", "categories": [ - "scriptcat00001", "scriptcat00020", "scriptcat00011" ], "category_names": [ - "Proxmox & Virtualization", "AI / Coding & Dev-Tools", "Files & Downloads" ], @@ -3113,10 +3544,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00012", + "scriptcat000026" ], "category_names": [ - "Documents & Notes" + "Documents & Notes", + "Productivity & Workflows" ], "notes": [ "Access the web interface at https://YOUR_IP:4000. When adding a server in the desktop or mobile app, enter https://YOUR_IP:4000 as the server URL.", @@ -3172,7 +3605,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt", + "config_path": "", "os": "debian" }, { @@ -3185,10 +3618,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00013" ], "category_names": [ - "Documents & Notes" + "Media & Streaming" ], "notes": [], "warnings": [], @@ -3240,7 +3673,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/configarr/config.yml", + "config_path": "", "os": "debian" }, { @@ -3253,10 +3686,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00009" + "scriptcat00012" ], "category_names": [ - "Monitoring & Analytics" + "Documents & Notes" ], "notes": [ "Complete setup via the web interface at http://:3000. Create and secure the admin account immediately." @@ -3273,7 +3706,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/convertx/.env", + "config_path": "", "os": "debian" }, { @@ -3299,11 +3732,11 @@ "port": 9080, "website": "https://cooklang.org", "documentation": "https://github.com/cooklang/cookcli/blob/main/docs/server.md", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/cooklang.webp", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/cookcli.webp", "updateable": true, "privileged": false, "has_arm": true, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -3345,7 +3778,7 @@ "lxc", "vm" ], - "config_path": "/data/coolify", + "config_path": "", "os": "debian" }, { @@ -3380,7 +3813,7 @@ "lxc", "vm" ], - "config_path": "/etc/copyparty.conf", + "config_path": "", "default_credentials": { "username": "admin", "password": "community-scripts.org" @@ -3417,7 +3850,7 @@ "execute_in": [ "lxc" ], - "config_path": "/etc/coredns/Corefile", + "config_path": "", "os": "debian" }, { @@ -3450,7 +3883,7 @@ "execute_in": [ "lxc" ], - "config_path": "/etc/coredns/Corefile", + "config_path": "", "os": "alpine" }, { @@ -3463,11 +3896,9 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00002", "scriptcat00003" ], "category_names": [ - "Operating Systems", "Containers & Docker" ], "notes": [ @@ -3487,7 +3918,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/sysconfig/CosmosCloud", + "config_path": "", "os": "debian" }, { @@ -3508,7 +3939,9 @@ "notes": [ "Show password: `cat ~/crafty-controller.creds`" ], - "warnings": [], + "warnings": [ + "Servers of type bedrock-server won't work on arm64. You can use Java server (paper) with Geyser plugin for bedrock." + ], "port": 8443, "website": "https://craftycontrol.com/", "documentation": "https://docs.craftycontrol.com/", @@ -3520,7 +3953,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/crafty-controller/crafty/crafty-4/app/config/config.json", + "config_path": "", "default_credentials": { "username": "admin", "password": "" @@ -3540,7 +3973,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Downloads and installs the update script locally to `/usr/local/bin/update-lxcs.sh`. Cron runs the local copy — no remote code execution at runtime.", @@ -3593,7 +4026,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/cronicle/conf/config.json", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin" @@ -3613,7 +4046,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [], "warnings": [], @@ -3632,7 +4065,7 @@ "pbs", "pmg" ], - "config_path": "/opt/cronmaster/.env", + "config_path": "", "os": "debian" }, { @@ -3665,7 +4098,7 @@ "execute_in": [ "pve" ], - "config_path": "~/.cross-seed/config.js", + "config_path": "", "os": "debian" }, { @@ -3711,10 +4144,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00012", + "scriptcat000026" ], "category_names": [ - "Documents & Notes" + "Documents & Notes", + "Productivity & Workflows" ], "notes": [ "After installation finishes, `systemctl status cryptpad.service` to get token URL which you can use to create admin account" @@ -3731,7 +4166,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/cryptpad/config/config.js", + "config_path": "", "os": "debian" }, { @@ -3828,7 +4263,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/dashy/user-data/conf.yml", + "config_path": "", "os": "debian" }, { @@ -3862,7 +4297,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/databasus/.env", + "config_path": "", "default_credentials": { "username": "admin@localhost", "password": "See /root/databasus.creds" @@ -3879,10 +4314,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00009" + "scriptcat00000" ], "category_names": [ - "Monitoring & Analytics" + "Miscellaneous" ], "notes": [], "warnings": [ @@ -3899,7 +4334,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/dawarich/.env", + "config_path": "", "default_credentials": { "username": "demo@dawarich.app", "password": "safepassword" @@ -3937,7 +4372,7 @@ "execute_in": [ "lxc" ], - "config_path": "/etc/ddclient.conf", + "config_path": "", "os": "debian" }, { @@ -3986,7 +4421,7 @@ "scriptcat00002" ], "category_names": [ - "Operating Systems" + "Operating Systems & Appliances" ], "notes": [], "warnings": [], @@ -3999,7 +4434,7 @@ "has_arm": true, "is_dev": false, "execute_in": [ - "pve" + "lxc" ], "config_path": "", "default_credentials": { @@ -4011,7 +4446,7 @@ { "name": "Debian 13", "slug": "debian-13-vm", - "desc": "Debian 13 (Trixie) Linux is a distribution that emphasizes free software. It supports many hardware platforms", + "desc": "Debian 13 (Trixie) as a cloud image. A general-purpose base for anything you would otherwise install by hand.", "script": "vm/debian-13-vm.sh", "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/debian-13-vm.sh", "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/debian-13-vm.sh", @@ -4021,32 +4456,31 @@ "scriptcat00002" ], "category_names": [ - "Operating Systems" + "Operating Systems & Appliances" ], "notes": [ - "VM has no root password set. To login type in user `root` and just press enter", - "For additional Debian commands and tips after installation, checkout: `https://github.com/community-scripts/ProxmoxVE/discussions/836`", + "Cloud-Init is enabled by default. Configure your SSH key and credentials in the Proxmox Cloud-Init tab before starting the VM.", "If you use Cloud-init, checkout cloud-init discussion: `https://github.com/community-scripts/ProxmoxVE/discussions/272`" ], "warnings": [], "port": 0, "website": "https://www.debian.org/", - "documentation": "", + "documentation": "https://www.debian.org/doc/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/debian.webp", - "updateable": true, + "updateable": false, "privileged": false, "has_arm": false, "is_dev": false, "execute_in": [ - "pve" + "vm" ], "config_path": "", - "os": "debian" + "os": "" }, { "name": "Debian 12", "slug": "debian-vm", - "desc": "Debian Linux is a distribution that emphasizes free software. It supports many hardware platforms", + "desc": "Debian 12 (Bookworm) as a cloud image. The long-standing default base for servers that value stability over recency.", "script": "vm/debian-vm.sh", "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/debian-vm.sh", "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/debian-vm.sh", @@ -4056,26 +4490,26 @@ "scriptcat00002" ], "category_names": [ - "Operating Systems" + "Operating Systems & Appliances" ], "notes": [ - "VM has no root password set. To login type in user `root` and just press enter", - "For additional Debian commands and tips after installation, checkout: `https://github.com/community-scripts/ProxmoxVE/discussions/836`" + "Cloud-Init is enabled by default. Configure your SSH key and credentials in the Proxmox Cloud-Init tab before starting the VM.", + "If you use Cloud-init, checkout cloud-init discussion: `https://github.com/community-scripts/ProxmoxVE/discussions/272`" ], "warnings": [], "port": 0, "website": "https://www.debian.org/", - "documentation": "", + "documentation": "https://www.debian.org/doc/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/debian.webp", - "updateable": true, + "updateable": false, "privileged": false, "has_arm": false, "is_dev": false, "execute_in": [ - "pve" + "vm" ], "config_path": "", - "os": "debian" + "os": "" }, { "name": "deCONZ", @@ -4108,6 +4542,87 @@ "config_path": "", "os": "debian" }, + { + "name": "Decypharr", + "slug": "decypharr", + "desc": "Decypharr exposes a mock qBittorrent and SABnzbd API in front of debrid services, so Sonarr, Radarr, Lidarr and friends can send downloads to Real-Debrid, Torbox, AllDebrid, Debrid-Link or Premiumize as if they were talking to a normal download client. It also supports direct Usenet streaming via NNTP without a separate download client.", + "script": "ct/decypharr.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/decypharr.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/decypharr.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00014" + ], + "category_names": [ + "*Arr Suite" + ], + "notes": [ + "Open http://:8282 and complete the setup wizard to add your debrid provider and create the admin account. The configuration is written to /opt/decypharr_data/config.json, outside the app directory, so it survives updates.", + "The qBittorrent-compatible endpoint is what you add in Sonarr/Radarr as a download client - point it at http://:8282 and use the credentials you created in the wizard." + ], + "warnings": [ + "The optional rclone/DFS mount features need /dev/fuse inside the container. In an unprivileged LXC add 'lxc.cgroup2.devices.allow: c 10:229 rwm' and 'lxc.mount.entry: /dev/fuse dev/fuse none bind,create=file' to the container config. WebDAV and the download-client API work without it." + ], + "port": 8282, + "website": "https://github.com/sirrobot01/decypharr", + "documentation": "https://sirrobot01.github.io/decypharr/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/decypharr.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, + { + "name": "Defguard", + "slug": "defguard", + "desc": "Defguard is a WireGuard VPN server combined with an identity provider. It adds user enrollment, multi-factor authentication, OpenID Connect SSO and per-user access control on top of WireGuard, all managed from a web interface. This installs the Defguard Core service; gateways are deployed separately on the machines that terminate the VPN tunnels.", + "script": "ct/defguard.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/defguard.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/defguard.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00006", + "scriptcat000027" + ], + "category_names": [ + "Authentication & Security", + "Remote Access & VPN" + ], + "notes": [ + "VPN traffic is handled by a third component, the Defguard Gateway, installed on the machine that terminates the tunnels. It connects back to the gRPC port 50055 on this container - see the upstream documentation.", + "Installed from the official Defguard apt repository (apt.defguard.net, component release-2.0), so updates go through apt. Data lives in the local PostgreSQL database 'defguard', not in /opt.", + "To run Edge on a separate host instead (upstream's segmented layout, with Edge in a DMZ and Core internal), install the defguard-proxy package from the same apt repository there and copy the proxy.toml block from install/defguard-install.sh, then point the wizard at that host's IP:50051." + ], + "warnings": [ + "The generated admin password is stored as DEFGUARD_DEFAULT_ADMIN_PASSWORD in /etc/defguard/core.conf. Log in as 'admin' at http://:8000 and change it.", + "Defguard 2.x needs an Edge component before the setup wizard can be completed. It is installed in this same container, so in the wizard step 'Edge Component Adoption' enter 127.0.0.1:50051. Ports do not collide: Core uses 8000/50055, Edge uses 8080/8443/50051.", + "DEFGUARD_COOKIE_INSECURE=true is set so the web UI works over plain HTTP. When you put Defguard behind a TLS reverse proxy, remove that line and set DEFGUARD_URL to the public https URL, then restart the service." + ], + "port": 8000, + "website": "https://defguard.net/", + "documentation": "https://docs.defguard.net/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/defguard.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "admin", + "password": "" + }, + "os": "debian" + }, { "name": "degoog", "slug": "degoog", @@ -4124,7 +4639,8 @@ "Miscellaneous" ], "notes": [ - "Add extension store repositories in Settings after first start (official repo: https://github.com/fccview/fccview-degoog-extensions)." + "Add extension store repositories in Settings after first start (official repo: https://github.com/fccview/fccview-degoog-extensions).", + "If you need to access to settings page, you can find the password here `cat /opt/degoog/.env`." ], "warnings": [ "Project is currently marked beta upstream and not intended for production use yet." @@ -4140,7 +4656,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/degoog/.env", + "config_path": "", "os": "debian" }, { @@ -4171,7 +4687,7 @@ "execute_in": [ "pve" ], - "config_path": "~/.config/deluge", + "config_path": "", "default_credentials": { "username": "", "password": "deluge" @@ -4191,7 +4707,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within the Proxmox shell", @@ -4211,9 +4727,46 @@ "execute_in": [ "pve" ], - "config_path": "/etc/default/pve-auto-hook", + "config_path": "", "os": "" }, + { + "name": "Devuan", + "slug": "devuan", + "desc": "Devuan is a Debian-derived Linux distribution that offers init-system freedom without systemd.", + "script": "ct/devuan.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/devuan.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/devuan.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00002" + ], + "category_names": [ + "Operating Systems & Appliances" + ], + "notes": [ + "Devuan uses SysVinit by default instead of systemd." + ], + "warnings": [], + "port": 0, + "website": "https://www.devuan.org/", + "documentation": "https://www.devuan.org/os/documentation", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/devuan.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "root", + "password": "" + }, + "os": "devuan" + }, { "name": "Directus", "slug": "directus", @@ -4244,13 +4797,13 @@ "updateable": true, "privileged": false, "has_arm": true, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], "config_path": "", "default_credentials": { - "username": "admin@directus.local", + "username": "admin@community-scripts.org", "password": "" }, "os": "debian" @@ -4283,7 +4836,7 @@ "execute_in": [ "pve" ], - "config_path": " /opt/discopanel/config.yaml", + "config_path": "", "os": "debian" }, { @@ -4296,10 +4849,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00022" ], "category_names": [ - "Miscellaneous" + "Communication & Community" ], "notes": [ "Admin credentials are saved in `/root/discourse.creds` inside the container.", @@ -4315,11 +4868,11 @@ "updateable": true, "privileged": false, "has_arm": false, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], - "config_path": "/opt/discourse/.env", + "config_path": "", "default_credentials": { "username": "admin", "password": "" @@ -4339,7 +4892,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within the Proxmox shell" @@ -4387,7 +4940,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/dispatcharr/.env", + "config_path": "", "os": "debian" }, { @@ -4459,44 +5012,36 @@ { "name": "Docker", "slug": "docker-vm", - "desc": "Docker is an open-source project for automating the deployment of applications as portable, self-sufficient containers. This Template includes Docker Engine and Docker Compose Plugin.", + "desc": "A Debian VM with Docker and Docker Compose installed, optionally with Portainer. Useful where containers need a kernel of their own rather than an LXC.", "script": "vm/docker-vm.sh", "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/docker-vm.sh", "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/docker-vm.sh", "type": "vm", "type_id": "lte524abgx960bd", "categories": [ - "scriptcat00002", "scriptcat00003" ], "category_names": [ - "Operating Systems", "Containers & Docker" ], "notes": [ - "After the script completes, click on the VM, then on the Summary or Console tab to find the VM IP.", - "This Script works on amd64 and arm64 Architecture." - ], - "warnings": [ - "If you use Cloud-Init please track the console for login data! You get the Login-Data after finished the VM-Build" + "Cloud-Init is enabled by default. Configure your SSH key and credentials in the Proxmox Cloud-Init tab before starting the VM.", + "If you use Cloud-init, checkout cloud-init discussion: `https://github.com/community-scripts/ProxmoxVE/discussions/272`" ], + "warnings": [], "port": 0, "website": "https://www.docker.com/", - "documentation": "", + "documentation": "https://docs.docker.com/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/docker.webp", - "updateable": true, + "updateable": false, "privileged": false, "has_arm": false, "is_dev": false, "execute_in": [ - "pve" + "vm" ], "config_path": "", - "default_credentials": { - "username": "root", - "password": "Cloud-Init Password (in Console) or without Cloud-Init: No Password" - }, - "os": "debian" + "os": "" }, { "name": "Dockge", @@ -4531,7 +5076,7 @@ "lxc", "vm" ], - "config_path": "/opt/dockge/compose.yaml", + "config_path": "", "os": "debian" }, { @@ -4564,7 +5109,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/docmost/.env", + "config_path": "", "os": "debian" }, { @@ -4596,7 +5141,7 @@ "updateable": true, "privileged": false, "has_arm": true, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -4613,10 +5158,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00012", + "scriptcat00025" ], "category_names": [ - "Documents & Notes" + "Documents & Notes", + "Business & ERP" ], "notes": [ "On first access, create the initial admin account via the web UI." @@ -4673,7 +5220,7 @@ "lxc", "vm" ], - "config_path": "/etc/dokploy", + "config_path": "", "os": "debian" }, { @@ -4706,7 +5253,7 @@ "execute_in": [ "pve" ], - "config_path": "/usr/share/dolibarr/htdocs/conf/conf.php.example", + "config_path": "", "os": "debian" }, { @@ -4740,7 +5287,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/domain-locker.env", + "config_path": "", "os": "debian" }, { @@ -4771,7 +5318,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/domain-monitor/.env", + "config_path": "", "os": "debian" }, { @@ -4784,10 +5331,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00019" + "scriptcat000026" ], "category_names": [ - "Automation & Scheduling" + "Productivity & Workflows" ], "notes": [], "warnings": [], @@ -4802,7 +5349,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/donetick/config/selfhosted.yaml", + "config_path": "", "os": "debian" }, { @@ -4848,9 +5395,11 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ + "scriptcat00008", "scriptcat00020" ], "category_names": [ + "Databases", "AI / Coding & Dev-Tools" ], "notes": [], @@ -4858,7 +5407,7 @@ "port": 3000, "website": "https://drawdb.vercel.app", "documentation": "https://github.com/drawdb-io/drawdb", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/proxmox-helper-scripts.webp", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/drawdb.webp", "updateable": true, "privileged": false, "has_arm": true, @@ -4879,10 +5428,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00012", + "scriptcat000026" ], "category_names": [ - "Documents & Notes" + "Documents & Notes", + "Productivity & Workflows" ], "notes": [], "warnings": [], @@ -4900,6 +5451,43 @@ "config_path": "", "os": "debian" }, + { + "name": "DroppedNeedle", + "slug": "droppedneedle", + "desc": "DroppedNeedle is a self-hosted music request and discovery app with a built-in native library and download engine (no Lidarr required). Search the full MusicBrainz catalogue, request whole albums or single tracks, and let the engine scan, tag, and organise your library while it drives downloads through your own slskd or Usenet/SABnzbd. Stream from Jellyfin, Navidrome, Plex, or your local files, get recommendations from your listening history, and scrobble to ListenBrainz and Last.fm. Play your library in third-party apps like Symfonium and Finamp over the OpenSubsonic and Jellyfin APIs. It all runs as a single Docker container, configured from the web UI.", + "script": "ct/droppedneedle.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/droppedneedle.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/droppedneedle.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00011", + "scriptcat00013" + ], + "category_names": [ + "Files & Downloads", + "Media & Streaming" + ], + "notes": [ + "For local file playback, mount your music library into the container and set the path in Settings > Local Files." + ], + "warnings": [ + "Initial install includes a frontend build and may take several minutes." + ], + "port": 8688, + "website": "https://github.com/droppedneedle/droppedneedle", + "documentation": "https://droppedneedle.com/docs", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/droppedneedle.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, { "name": "Duplicati", "slug": "duplicati", @@ -4997,13 +5585,54 @@ "execute_in": [ "pve" ], - "config_path": "/etc/default/ebusd", + "config_path": "", "default_credentials": { "username": "root", "password": "" }, "os": "debian" }, + { + "name": "Elasticsearch", + "slug": "elasticsearch", + "desc": "Elasticsearch is a distributed search and analytics engine. It is mostly deployed as the backend for something else - log aggregation, full-text search in an application, or as the storage layer for Graylog and similar tools. This installs a single node from the official Elastic repository.", + "script": "ct/elasticsearch.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/elasticsearch.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/elasticsearch.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00008" + ], + "category_names": [ + "Databases" + ], + "notes": [ + "The JVM heap is set to 1 GB in /etc/elasticsearch/jvm.options.d/heap.options. Rule of thumb: half the container RAM, never above 31 GB. Data lives in /opt/elasticsearch_data." + ], + "warnings": [ + "vm.max_map_count is a kernel setting that containers cannot change - it is inherited from the Proxmox host. The installer aborts if it is below 262144. Modern kernels default to 1048576, so this normally passes; if not, set it on the HOST with: echo 'vm.max_map_count=1048576' >/etc/sysctl.d/99-elasticsearch.conf && sysctl --system", + "Set a password for the built-in 'elastic' user before use: /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic", + "TLS is disabled so the node is reachable over plain HTTP on the LAN, but authentication is on. Do not expose port 9200 to the internet without enabling xpack.security.http.ssl in /etc/elasticsearch/elasticsearch.yml." + ], + "port": 9200, + "website": "https://www.elastic.co/elasticsearch", + "documentation": "https://www.elastic.co/docs/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/elasticsearch.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "elastic", + "password": "" + }, + "os": "debian" + }, { "name": "Element Synapse", "slug": "elementsynapse", @@ -5014,10 +5643,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00004" + "scriptcat00022" ], "category_names": [ - "Network & Firewall" + "Communication & Community" ], "notes": [ "Type `cat ~/matrix.creds` to see admin username/password.", @@ -5036,7 +5665,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/matrix-synapse/homeserver.yaml", + "config_path": "", "os": "debian" }, { @@ -5069,8 +5698,8 @@ "execute_in": [ "pve" ], - "config_path": "/var/lib/emby/config/system.xml", - "os": "debian" + "config_path": "", + "os": "ubuntu" }, { "name": "EMQX", @@ -5085,7 +5714,7 @@ "scriptcat00018" ], "category_names": [ - "MQTT & Messaging" + "Messaging & Queues" ], "notes": [ "Setup-Steps: Access Control ➡ Authentication ➡ Create ➡ Next ➡ Next ➡ Create ➡ Users ➡ Add ➡ Username / Password (to authenicate with MQTT) ➡ Save. You're now ready to enjoy a high-performance MQTT Broker." @@ -5102,7 +5731,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/emqx", + "config_path": "", "default_credentials": { "username": "admin", "password": "public" @@ -5125,11 +5754,11 @@ "Gaming & Leisure" ], "notes": [ - "When using a reverse proxy, edit `/opt/endurain/frontend/app/dist/env.js`." + "When using a reverse proxy, edit `/opt/endurain/frontend/dist/env.js`." ], "warnings": [], "port": 8080, - "website": "https://codeberg.org/endurain- project/endurain", + "website": "https://codeberg.org/endurain-project/endurain", "documentation": "https://docs.endurain.com/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/endurain.webp", "updateable": true, @@ -5139,7 +5768,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/endurain/.env", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin" @@ -5156,10 +5785,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00011" + "scriptcat00013" ], "category_names": [ - "Files & Downloads" + "Media & Streaming" ], "notes": [ "First-Start: Run `ente-setup` — it guides you through account creation, verification, and admin configuration.", @@ -5178,7 +5807,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt", + "config_path": "", "os": "debian" }, { @@ -5213,7 +5842,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/frappe-bench/.env", + "config_path": "", "default_credentials": { "username": "Administrator", "password": "" @@ -5261,12 +5890,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00016", - "scriptcat00020" + "scriptcat00016" ], "category_names": [ - "IoT & Smart Home", - "AI / Coding & Dev-Tools" + "IoT & Smart Home" ], "notes": [ "This installs and serves the static ESPConnect web build from the latest GitHub release." @@ -5316,7 +5943,7 @@ "execute_in": [ "pve" ], - "config_path": "/root/config/", + "config_path": "", "os": "debian" }, { @@ -5329,10 +5956,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00012", + "scriptcat000026" ], "category_names": [ - "Documents & Notes" + "Documents & Notes", + "Productivity & Workflows" ], "notes": [ "The default install uses an embedded sqlite database at /var/lib/etherpad/etherpad.db — ACID, zero-config, suitable for single-instance homelab use. To use postgres or mysql instead, edit /opt/etherpad-lite/settings.json and switch 'dbType' + 'dbSettings' (Etherpad's ueberdb abstraction supports both).", @@ -5433,10 +6062,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00012", + "scriptcat000026" ], "category_names": [ - "Documents & Notes" + "Documents & Notes", + "Productivity & Workflows" ], "notes": [], "warnings": [], @@ -5467,7 +6098,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [], "warnings": [], @@ -5516,6 +6147,71 @@ "config_path": "", "os": "debian" }, + { + "name": "Fedora", + "slug": "fedora", + "desc": "Fedora is a cutting-edge Linux distribution sponsored by Red Hat, featuring current open-source technologies.", + "script": "ct/fedora.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/fedora.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/fedora.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00002" + ], + "category_names": [ + "Operating Systems & Appliances" + ], + "notes": [], + "warnings": [], + "port": 0, + "website": "https://fedoraproject.org/", + "documentation": "https://docs.fedoraproject.org/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/fedora.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "root", + "password": "" + }, + "os": "fedora" + }, + { + "name": "Fedora", + "slug": "fedora-vm", + "desc": "Fedora is the upstream of Red Hat Enterprise Linux and ships current kernels, compilers and desktop software roughly every six months. This creates a VM from the official Cloud Base image, so the release is picked up from the mirror rather than pinned in the script.", + "script": "vm/fedora-vm.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/fedora-vm.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/fedora-vm.sh", + "type": "vm", + "type_id": "lte524abgx960bd", + "categories": [], + "category_names": [], + "notes": [ + "Cloud-Init is enabled by default. Configure your SSH key and credentials in the Proxmox Cloud-Init tab before starting the VM.", + "Each Fedora release is supported for about 13 months, so plan on upgrading roughly once a year." + ], + "warnings": [], + "port": 0, + "website": "https://fedoraproject.org/cloud/", + "documentation": "https://docs.fedoraproject.org/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/fedora.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": true, + "execute_in": [ + "vm" + ], + "config_path": "", + "os": "" + }, { "name": "Feishin", "slug": "feishin", @@ -5594,11 +6290,9 @@ "type": "addon", "type_id": "88xtxy57q80v38v", "categories": [ - "scriptcat00001", "scriptcat00011" ], "category_names": [ - "Proxmox & Virtualization", "Files & Downloads" ], "notes": [], @@ -5634,11 +6328,9 @@ "type": "addon", "type_id": "88xtxy57q80v38v", "categories": [ - "scriptcat00001", "scriptcat00011" ], "category_names": [ - "Proxmox & Virtualization", "Files & Downloads" ], "notes": [], @@ -5674,11 +6366,9 @@ "type": "addon", "type_id": "88xtxy57q80v38v", "categories": [ - "scriptcat00001", "scriptcat00011" ], "category_names": [ - "Proxmox & Virtualization", "Files & Downloads" ], "notes": [], @@ -5695,7 +6385,7 @@ "lxc", "vm" ], - "config_path": "/usr/local/community-scripts/fq-config.yaml", + "config_path": "", "default_credentials": { "username": "admin", "password": "community-scripts.org" @@ -5712,11 +6402,9 @@ "type": "addon", "type_id": "88xtxy57q80v38v", "categories": [ - "scriptcat00001", "scriptcat00011" ], "category_names": [ - "Proxmox & Virtualization", "Files & Downloads" ], "notes": [], @@ -5733,7 +6421,7 @@ "lxc", "vm" ], - "config_path": "/usr/local/community-scripts/fq-config.yaml", + "config_path": "", "default_credentials": { "username": "admin", "password": "community-scripts.org" @@ -5772,7 +6460,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/fileflows/Data/server.config", + "config_path": "", "os": "debian" }, { @@ -5804,7 +6492,7 @@ "updateable": true, "privileged": false, "has_arm": false, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -5842,7 +6530,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/firefly/.env", + "config_path": "", "os": "debian" }, { @@ -5878,7 +6566,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/fireshare/fireshare.env", + "config_path": "", "os": "debian" }, { @@ -5909,7 +6597,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/fladder/assets/config/config.json", + "config_path": "", "os": "debian" }, { @@ -6004,9 +6692,44 @@ "execute_in": [ "pve" ], - "config_path": "/opt/flatnotes/.env", + "config_path": "", "os": "debian" }, + { + "name": "Fleet", + "slug": "fleet", + "desc": "Fleet is an open-source device management platform for IT and security teams to manage and monitor servers, laptops, and other devices with osquery.", + "script": "ct/fleet.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/fleet.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/fleet.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00009" + ], + "category_names": [ + "Monitoring & Analytics" + ], + "notes": [ + "Create your admin account on first login via the web interface." + ], + "warnings": [ + "TLS is disabled by default. Configure TLS in /opt/fleet/.env for production use." + ], + "port": 8080, + "website": "https://fleetdm.com/", + "documentation": "https://fleetdm.com/docs", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/fleet-dm.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "ubuntu" + }, { "name": "FlowiseAI", "slug": "flowiseai", @@ -6037,7 +6760,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/flowiseai/.env", + "config_path": "", "os": "debian" }, { @@ -6050,12 +6773,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00019", - "scriptcat00000" + "scriptcat000026" ], "category_names": [ - "Automation & Scheduling", - "Miscellaneous" + "Productivity & Workflows" ], "notes": [ "Creds: cat ~/fluid-calendar.creds" @@ -6072,7 +6793,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/fluid-calendar/.env", + "config_path": "", "os": "debian" }, { @@ -6134,7 +6855,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/foldergram/foldergram.env", + "config_path": "", "os": "debian" }, { @@ -6165,7 +6886,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/forgejo/app.ini", + "config_path": "", "os": "debian" }, { @@ -6196,7 +6917,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/forgejo/app.ini", + "config_path": "", "os": "alpine" }, { @@ -6231,7 +6952,7 @@ "execute_in": [ "lxc" ], - "config_path": "/root/.runner", + "config_path": "", "os": "debian" }, { @@ -6244,10 +6965,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00022" ], "category_names": [ - "Miscellaneous" + "Communication & Community" ], "notes": [ "This script uses the official FreePBX install script. Check it here: https://github.com/FreePBX/sng_freepbx_debian_install" @@ -6277,10 +6998,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00013" ], "category_names": [ - "Documents & Notes" + "Media & Streaming" ], "notes": [ "Database credentials: `cat ~/freshrss.creds`", @@ -6298,7 +7019,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/freshrss/data/config.php", + "config_path": "", "os": "debian" }, { @@ -6331,7 +7052,7 @@ "execute_in": [ "pve" ], - "config_path": "/config/config.yml", + "config_path": "", "os": "debian" }, { @@ -6347,7 +7068,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within the Proxmox shell" @@ -6379,10 +7100,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00010" + "scriptcat00012" ], "category_names": [ - "Dashboards & Frontends" + "Documents & Notes" ], "notes": [], "warnings": [], @@ -6410,10 +7131,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00008" + "scriptcat00011" ], "category_names": [ - "Databases" + "Files & Downloads" ], "notes": [ "The Garage configuration file is located at `/etc/garage.toml`. You can edit RPC and API bindings, tokens, and data directories there.", @@ -6433,7 +7154,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/garage.toml", + "config_path": "", "os": "debian" }, { @@ -6446,10 +7167,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00008" + "scriptcat00011" ], "category_names": [ - "Databases" + "Files & Downloads" ], "notes": [ "The Garage configuration file is located at `/etc/garage.toml`. You can edit RPC and API bindings, tokens, and data directories there.", @@ -6469,43 +7190,8 @@ "execute_in": [ "pve" ], - "config_path": "/etc/garage.toml", - "os": "alpine" - }, - { - "name": "garmin-grafana", - "slug": "garmin-grafana", - "desc": "A self-hosted solution to fetch data from Garmin servers and store it in a local InfluxDB database for visualization with Grafana.", - "script": "tools/addon/garmin-grafana.sh", - "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/garmin-grafana.sh", - "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/tools/addon/garmin-grafana.sh", - "type": "addon", - "type_id": "88xtxy57q80v38v", - "categories": [ - "scriptcat00009" - ], - "category_names": [ - "Monitoring & Analytics" - ], - "notes": [ - "Grafana and InfluxDB credentials are stored in `/opt/garmin-grafana/.env`.", - "`garmin-grafana` only imports the past 7 days by default. To import historical data, use `/usr/local/bin/garmin-bulk-import` after installation." - ], - "warnings": [], - "port": 3000, - "website": "https://github.com/arpanghosh8453/garmin-grafana", - "documentation": "https://github.com/arpanghosh8453/garmin-grafana", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/garmin-grafana.webp", - "updateable": true, - "privileged": false, - "has_arm": false, - "is_dev": true, - "execute_in": [ - "lxc", - "vm" - ], "config_path": "", - "os": "" + "os": "alpine" }, { "name": "gatus", @@ -6535,7 +7221,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/gatus/config/config.yaml", + "config_path": "", "os": "debian" }, { @@ -6566,9 +7252,46 @@ "execute_in": [ "pve" ], - "config_path": "/opt/gatus/config/config.yaml", + "config_path": "", "os": "alpine" }, + { + "name": "Gentoo", + "slug": "gentoo", + "desc": "Gentoo is a highly customizable source-based Linux distribution.", + "script": "ct/gentoo.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/gentoo.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/gentoo.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00002" + ], + "category_names": [ + "Operating Systems & Appliances" + ], + "notes": [], + "warnings": [ + "Gentoo compiles packages from source, so software installation may take time." + ], + "port": 0, + "website": "https://www.gentoo.org/", + "documentation": "https://wiki.gentoo.org/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/gentoo.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "root", + "password": "" + }, + "os": "gentoo" + }, { "name": "GeoPulse", "slug": "geopulse", @@ -6599,7 +7322,7 @@ "execute_in": [ "lxc" ], - "config_path": "/etc/geopulse/geopulse.env", + "config_path": "", "os": "debian" }, { @@ -6612,10 +7335,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00025" + "scriptcat00021", + "scriptcat00022" ], "category_names": [ - "Business & ERP" + "Webservers & Proxies", + "Communication & Community" ], "notes": [ "To run Ghost-CLI commands, first set a password for the ghost-user by running `sudo passwd ghost-user`. Then, switch to the ghost-user with `sudo -su ghost-user`." @@ -6669,7 +7394,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/ghostfolio/.env", + "config_path": "", "os": "debian" }, { @@ -6702,7 +7427,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/gitea/app.ini", + "config_path": "", "os": "debian" }, { @@ -6735,7 +7460,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/gitea/app.ini", + "config_path": "", "os": "alpine" }, { @@ -6766,7 +7491,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/systemd/system/gitea-mirror.service", + "config_path": "", "os": "debian" }, { @@ -6801,7 +7526,49 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/actions-runner", + "config_path": "", + "os": "debian" + }, + { + "name": "GitLab", + "slug": "gitlab", + "desc": "GitLab CE is a complete DevOps platform: Git repository hosting, issue tracking, merge requests, CI/CD pipelines, a container registry and a package registry in one application. This installs the official Omnibus package, which bundles its own PostgreSQL, Redis, NGINX and Puma.", + "script": "ct/gitlab.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/gitlab.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/gitlab.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00020" + ], + "category_names": [ + "AI / Coding & Dev-Tools" + ], + "notes": [ + "external_url is set to the container IP at install time. If you use a domain or a reverse proxy, change external_url in /etc/gitlab/gitlab.rb and run 'gitlab-ctl reconfigure'.", + "Omnibus bundles its own PostgreSQL, Redis and NGINX - do not install those separately in this container. Repositories live in /var/opt/gitlab; back up with 'gitlab-backup create' rather than copying directories." + ], + "warnings": [ + "The initial root password is in /etc/gitlab/initial_root_password and is deleted automatically after 24 hours. Log in at http:// as 'root' and change it right away.", + "GitLab Omnibus is resource-hungry. 8 GB RAM and 4 cores are the practical minimum; the official requirement is 4 GB RAM plus swap and it will feel slow below 8 GB. The first 'gitlab-ctl reconfigure' during installation takes several minutes.", + "/etc/gitlab/gitlab.rb sets package['modify_kernel_parameters'] = false. Omnibus otherwise runs 'sysctl -e --system' during reconfigure, which fails in an unprivileged LXC because most kernel keys are not writable. Do not remove that line." + ], + "port": 80, + "website": "https://about.gitlab.com/", + "documentation": "https://docs.gitlab.com/omnibus/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/gitlab.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "root", + "password": "" + }, "os": "debian" }, { @@ -6832,7 +7599,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/glance/glance.yml", + "config_path": "", "os": "debian" }, { @@ -6866,7 +7633,7 @@ "lxc", "vm" ], - "config_path": "/usr/local/share/doc/glances/glances.conf", + "config_path": "", "os": "debian" }, { @@ -6879,10 +7646,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00006" ], "category_names": [ - "Miscellaneous" + "Authentication & Security" ], "notes": [], "warnings": [], @@ -6928,7 +7695,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/glpi", + "config_path": "", "default_credentials": { "username": "glpi", "password": "glpi" @@ -6961,7 +7728,7 @@ "has_arm": true, "is_dev": false, "execute_in": [], - "config_path": "/opt/gluetun-data/.env", + "config_path": "", "os": "debian" }, { @@ -6992,7 +7759,44 @@ "execute_in": [ "pve" ], - "config_path": "/opt/go2rtc/go2rtc.yaml", + "config_path": "", + "os": "debian" + }, + { + "name": "GoDoxy", + "slug": "godoxy", + "desc": "GoDoxy is a lightweight, performant reverse proxy with an embedded WebUI, file-based routes, automatic certificates, and Proxmox integration.", + "script": "ct/godoxy.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/godoxy.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/godoxy.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00021" + ], + "category_names": [ + "Webservers & Proxies" + ], + "notes": [ + "The WebUI password is stored in /etc/godoxy.env." + ], + "warnings": [], + "port": 443, + "website": "https://github.com/yusing/godoxy", + "documentation": "https://docs.godoxy.dev", + "logo": "https://cdn.jsdelivr.net/gh/yusing/godoxy@main/assets/godoxy.png", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "admin", + "password": "" + }, "os": "debian" }, { @@ -7025,7 +7829,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/gogs/custom/conf/app.ini", + "config_path": "", "os": "debian" }, { @@ -7056,7 +7860,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/gokapi/config", + "config_path": "", "os": "debian" }, { @@ -7069,10 +7873,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00019" + "scriptcat00018" ], "category_names": [ - "Automation & Scheduling" + "Messaging & Queues" ], "notes": [], "warnings": [], @@ -7087,7 +7891,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/gotify/config.yml", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin" @@ -7122,7 +7926,7 @@ "execute_in": [ "pve" ], - "config_path": "Debian: /etc/grafana/grafana.ini | Alpine: /etc/grafana.ini", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin" @@ -7157,7 +7961,7 @@ "execute_in": [ "pve" ], - "config_path": "Debian: /etc/grafana/grafana.ini | Alpine: /etc/grafana.ini", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin" @@ -7174,10 +7978,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00024" ], "category_names": [ - "Documents & Notes" + "Gaming & Leisure" ], "notes": [ "On first access, create the owner account via the built-in onboarding wizard." @@ -7196,7 +8000,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/gramps-web/config/config.cfg", + "config_path": "", "os": "debian" }, { @@ -7209,9 +8013,11 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ + "scriptcat00012", "scriptcat00021" ], "category_names": [ + "Documents & Notes", "Webservers & Proxies" ], "notes": [ @@ -7268,7 +8074,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/graylog/server/server.conf", + "config_path": "", "os": "debian" }, { @@ -7281,10 +8087,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat000026" ], "category_names": [ - "Documents & Notes" + "Productivity & Workflows" ], "notes": [], "warnings": [], @@ -7299,7 +8105,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/grist/.env", + "config_path": "", "os": "debian" }, { @@ -7330,7 +8136,7 @@ "execute_in": [ "pve" ], - "config_path": "/var/www/html/data/config.php", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin" @@ -7365,7 +8171,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/guardian/.env", + "config_path": "", "os": "debian" }, { @@ -7378,10 +8184,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00009" + "scriptcat00004" ], "category_names": [ - "Monitoring & Analytics" + "Network & Firewall" ], "notes": [ "Installation package is pulled from GrandStream website. Installation may take a while." @@ -7398,13 +8204,50 @@ "execute_in": [ "pve" ], - "config_path": "/gwn/conf/gwn.conf", + "config_path": "", + "os": "debian" + }, + { + "name": "Hammer", + "slug": "hammer", + "desc": "This installs the self-hosted sync server for Hammer, the offline-first story/novel writing app. The Kotlin/Ktor server lets you sync your Hammer projects across your own devices instead of using Dropbox or a third-party service. It ships with an in-process (embedded) PostgreSQL, so no external database is required. The server has no UI of its own - install the Hammer desktop/mobile client separately and point it at this server.", + "script": "ct/hammer.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/hammer.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/hammer.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00012" + ], + "category_names": [ + "Documents & Notes" + ], + "notes": [ + "This is the SYNC SERVER only, not the Hammer editor. Install the Hammer client (desktop/mobile) separately and create your account from there - the first account created becomes the admin account. http://:8080 serves the public web pages (/setup, /admin); /api is the sync endpoint and returns an error in a browser because it requires the client's protocol-version header.", + "Settings live in /opt/hammer_data/config.toml, which the server auto-loads from its data directory. It ships pre-filled with the container IP plus commented examples for reverse proxy, TLS, external PostgreSQL and caching. Apply changes with 'systemctl restart hammer'." + ], + "warnings": [ + "Hammer clients only speak https and will NOT connect to plain HTTP, so the default http://:8080 works in a browser but not from the app. Put a TLS reverse proxy in front of it, or give Hammer a real certificate via sslPort/[sslCert] in /opt/hammer_data/config.toml. Self-signed certificates are rejected by the clients.", + "Sync data is stored in an embedded PostgreSQL under /opt/hammer_data (kept outside the app directory so it survives updates). Include /opt/hammer_data in regular backups." + ], + "port": 8080, + "website": "https://hammereditor.com", + "documentation": "https://github.com/Darkrock-Studios/hammer-editor/blob/develop/HOW-TO-RUN-A-SERVER.md", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/hammer-editor.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", "os": "debian" }, { "name": "Home Assistant OS", "slug": "haos-vm", - "desc": "This script automates the process of creating a Virtual Machine (VM) using the official KVM (qcow2) disk image provided by the Home Assistant Team. It involves finding, downloading, and extracting the image, defining user-defined settings, importing and attaching the disk, setting the boot order, and starting the VM. It supports various storage types, and does not involve any hidden installations. After the script completes, click on the VM, then on the Summary tab to find the VM IP.", + "desc": "Home Assistant OS is the appliance image of Home Assistant, managing its own supervisor and add-ons. This installs the official image as a VM.", "script": "vm/haos-vm.sh", "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/haos-vm.sh", "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/haos-vm.sh", @@ -7417,23 +8260,62 @@ "IoT & Smart Home" ], "notes": [ - "After the script completes, click on the VM, then on the Summary or Console tab to find the VM IP." - ], - "warnings": [ - "The disk must have a minimum size of 32GB and its size cannot be changed during the creation of the VM." + "This VM boots an installer image. Open the console after creation and complete the installation there." ], + "warnings": [], "port": 8123, "website": "https://www.home-assistant.io/", "documentation": "https://www.home-assistant.io/docs/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/home-assistant.webp", - "updateable": true, + "updateable": false, "privileged": false, "has_arm": false, "is_dev": false, "execute_in": [ - "pve" + "vm" ], "config_path": "", + "os": "" + }, + { + "name": "HAProxy", + "slug": "haproxy", + "desc": "HAProxy is a TCP and HTTP load balancer and reverse proxy, known for handling very high connection counts with low latency. Unlike the UI-driven proxies it is configured entirely through a single text file, which makes it a good fit for layer-4 balancing, health checking and failover setups where a GUI proxy is not enough.", + "script": "ct/haproxy.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/haproxy.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/haproxy.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00021" + ], + "category_names": [ + "Webservers & Proxies" + ], + "notes": [ + "The generated password for the statistics page is in the 'stats auth' line of /etc/haproxy/haproxy.cfg.", + "For TLS, HAProxy expects certificate and key concatenated into a single PEM file. Certificates are not renewed by HAProxy itself - pair it with certbot or an ACME client." + ], + "warnings": [ + "HAProxy has no configuration UI. The install ships only a statistics page on port 8404 plus a commented frontend/backend example - you have to write your own rules in /etc/haproxy/haproxy.cfg.", + "Always validate before restarting: 'haproxy -c -f /etc/haproxy/haproxy.cfg'. A syntax error prevents the service from starting, which takes every proxied site down with it. The update path in this script does that check automatically." + ], + "port": 8404, + "website": "https://www.haproxy.org/", + "documentation": "https://docs.haproxy.org/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/haproxy.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "admin", + "password": "" + }, "os": "debian" }, { @@ -7446,10 +8328,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00004" + "scriptcat000027" ], "category_names": [ - "Network & Firewall" + "Remote Access & VPN" ], "notes": [ "Configuration settings: `/etc/headscale/config.yaml`", @@ -7467,7 +8349,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/headscale/config.yaml", + "config_path": "", "os": "debian" }, { @@ -7501,7 +8383,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/healthchecks/hc/local_settings.py", + "config_path": "", "default_credentials": { "username": "admin@community-scripts.org", "password": "" @@ -7536,7 +8418,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/Heimdall/.env", + "config_path": "", "os": "debian" }, { @@ -7607,7 +8489,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/hivemq/conf/config.xml", + "config_path": "", "os": "debian" }, { @@ -7637,7 +8519,7 @@ "updateable": true, "privileged": false, "has_arm": true, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -7657,7 +8539,7 @@ "scriptcat00018" ], "category_names": [ - "MQTT & Messaging" + "Messaging & Queues" ], "notes": [ "To check if HiveMQ is listening to the default port for MQTT `lsof -i :1883`" @@ -7705,7 +8587,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/homarr.env", + "config_path": "", "os": "debian" }, { @@ -7743,7 +8625,7 @@ "execute_in": [ "pve" ], - "config_path": "/var/lib/docker/volumes/hass_config/_data", + "config_path": "", "os": "debian" }, { @@ -7756,10 +8638,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00024" + "scriptcat00025" ], "category_names": [ - "Gaming & Leisure" + "Business & ERP" ], "notes": [], "warnings": [], @@ -7774,7 +8656,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/homebox/.env", + "config_path": "", "os": "debian" }, { @@ -7787,9 +8669,11 @@ "type": "addon", "type_id": "88xtxy57q80v38v", "categories": [ + "scriptcat00001", "scriptcat00020" ], "category_names": [ + "Host Management", "AI / Coding & Dev-Tools" ], "notes": [ @@ -7841,7 +8725,7 @@ "execute_in": [ "pve" ], - "config_path": "/var/lib/homebridge/config.json", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin" @@ -7880,7 +8764,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/homelable/backend/.env", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin" @@ -7918,7 +8802,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/homepage/config/", + "config_path": "", "os": "debian" }, { @@ -7951,7 +8835,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/homer/assets/config.yml", + "config_path": "", "os": "debian" }, { @@ -7984,7 +8868,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/hortusfox/.env", + "config_path": "", "os": "debian" }, { @@ -8000,7 +8884,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within the Proxmox shell", @@ -8083,6 +8967,43 @@ "config_path": "", "os": "debian" }, + { + "name": "Ignis", + "slug": "ignis", + "desc": "Ignis runs Obsidian in the browser by reimplementing the Electron APIs Obsidian uses, keeping your vaults on the server. It supports multiple vaults, plugins, file upload/download and sync across browser tabs, so you can access your Obsidian vault from any device without a desktop client.", + "script": "ct/ignis.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/ignis.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/ignis.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00012" + ], + "category_names": [ + "Documents & Notes" + ], + "notes": [ + "Open https:// and accept the self-signed certificate. HTTPS is required: outside a secure browser context Obsidian's browser APIs (OPFS, service workers) are disabled and the app will not load correctly. nginx terminates TLS and proxies to the Node server on port 8080.", + "On install the matching Obsidian web build is downloaded and unpacked automatically. A default vault is created on first start (AUTO_CREATE_DEFAULT)." + ], + "warnings": [ + "Ignis has NO built-in authentication. Do not expose it directly to the internet - put an authenticating reverse proxy (or VPN) in front of it before allowing remote access.", + "Vaults and application data live in /opt/ignis_data (vaults, data, obsidian-app), kept outside the app directory so they survive updates. Include /opt/ignis_data in regular backups." + ], + "port": 443, + "website": "https://github.com/Nystik-gh/ignis", + "documentation": "https://github.com/Nystik-gh/ignis", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/obsidian.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, { "name": "iGotify", "slug": "igotify", @@ -8093,10 +9014,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00019" + "scriptcat00018" ], "category_names": [ - "Automation & Scheduling" + "Messaging & Queues" ], "notes": [ "Requires a running Gotify instance. Configure the Gotify server URL and client token in the iGotify web interface after setup." @@ -8113,7 +9034,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/igotify/.env", + "config_path": "", "os": "debian" }, { @@ -8152,7 +9073,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/immich/.env", + "config_path": "", "os": "debian" }, { @@ -8177,7 +9098,7 @@ "warnings": [], "port": 3000, "website": "https://github.com/alangrainger/immich-public-proxy", - "documentation": "https://github.com/alangrainger/immich-public-proxy/tree/main/docs", + "documentation": "https://docs.ipp.nz/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/immich-public-proxy.webp", "updateable": true, "privileged": false, @@ -8187,7 +9108,7 @@ "lxc", "vm" ], - "config_path": "/opt/immich-proxy/app/.env", + "config_path": "", "os": "debian" }, { @@ -8222,7 +9143,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/immichframe/Config/Settings.yml", + "config_path": "", "os": "debian" }, { @@ -8253,7 +9174,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/infisical/infisical.rb", + "config_path": "", "os": "debian" }, { @@ -8300,10 +9221,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00024" + "scriptcat00022" ], "category_names": [ - "Gaming & Leisure" + "Communication & Community" ], "notes": [], "warnings": [], @@ -8351,12 +9272,12 @@ "execute_in": [ "pve" ], - "config_path": "/etc/inventree/", + "config_path": "", "default_credentials": { "username": "admin", "password": "`cat /etc/inventree/admin_password.txt`" }, - "os": "debian" + "os": "ubuntu" }, { "name": "Investbrain", @@ -8388,7 +9309,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/investbrain/.env", + "config_path": "", "os": "debian" }, { @@ -8434,9 +9355,11 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ + "scriptcat00023", "scriptcat00025" ], "category_names": [ + "Finance & Budgeting", "Business & ERP" ], "notes": [ @@ -8457,7 +9380,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/invoiceninja/.env", + "config_path": "", "os": "debian" }, { @@ -8470,10 +9393,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00023" + "scriptcat00023", + "scriptcat00025" ], "category_names": [ - "Finance & Budgeting" + "Finance & Budgeting", + "Business & ERP" ], "notes": [ "Complete the initial setup wizard via the web interface on first access." @@ -8557,7 +9482,7 @@ "execute_in": [ "lxc" ], - "config_path": "/root/.ironclaw/.env", + "config_path": "", "os": "debian" }, { @@ -8591,7 +9516,7 @@ "execute_in": [ "lxc" ], - "config_path": "/root/.ironclaw/.env", + "config_path": "", "os": "alpine" }, { @@ -8625,7 +9550,7 @@ "execute_in": [ "pve" ], - "config_path": "/var/lib/isponsorblocktv/config.json", + "config_path": "", "os": "debian" }, { @@ -8656,7 +9581,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/itsm-ng", + "config_path": "", "default_credentials": { "username": "itsm", "password": "itsm" @@ -8676,7 +9601,7 @@ "scriptcat00002" ], "category_names": [ - "Operating Systems" + "Operating Systems & Appliances" ], "notes": [], "warnings": [ @@ -8706,10 +9631,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00011" + "scriptcat00014" ], "category_names": [ - "Files & Downloads" + "*Arr Suite" ], "notes": [], "warnings": [], @@ -8724,7 +9649,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/.env", + "config_path": "", "os": "debian" }, { @@ -8743,10 +9668,13 @@ "Files & Downloads" ], "notes": [ - "MyJDownloader cloud access is disabled by default. To enable it, edit /opt/jdownloader/cfg/org.jdownloader.api.myjdownloader.MyJDownloaderSettings.json, replace the placeholder email/password with your my.jdownloader.org credentials, set autoconnectenabledv2 to true, and restart the service.", + "MyJDownloader cloud access is disabled by default. Easiest setup: open the noVNC web UI, go to Settings > My JDownloader, and sign in with your my.jdownloader.org account. You must register that account and confirm the activation email at my.jdownloader.org first, otherwise the GUI reports 'logins are not correct'.", + "To paste download links, expand the noVNC control bar on the left edge of the web UI and paste the link into its clipboard panel - JDownloader's LinkGrabber then picks it up automatically (the container keeps the VNC clipboard in sync via autocutsel). The browser's local OS clipboard is not shared automatically, so use the panel rather than pasting directly onto the canvas.", "JDownloader self-updates automatically on every restart. The 'Update' button in the UI simply restarts the service to trigger this process." ], - "warnings": [], + "warnings": [ + "Headless alternative: to configure MyJDownloader by editing /opt/jdownloader/cfg/org.jdownloader.api.myjdownloader.MyJDownloaderSettings.json (set email, password and autoconnectenabledv2 to true), you must run 'systemctl stop jdownloader' first, then edit the file, then 'systemctl start jdownloader'. Editing the file while the service is running - or using 'systemctl restart' - discards your changes, because JDownloader rewrites its cfg/*.json files from memory on shutdown." + ], "port": 3129, "website": "https://jdownloader.org/", "documentation": "https://jdownloader.org/knowledge/wiki/setup", @@ -8833,7 +9761,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/jellyfin/", + "config_path": "", "os": "ubuntu" }, { @@ -8869,7 +9797,7 @@ "lxc", "vm" ], - "config_path": "/opt/jellystat/.env", + "config_path": "", "os": "debian" }, { @@ -8913,10 +9841,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00022" ], "category_names": [ - "Miscellaneous" + "Communication & Community" ], "notes": [ "Uses a self-signed certificate by default. Your browser will show a security warning.", @@ -8936,7 +9864,7 @@ "execute_in": [ "lxc" ], - "config_path": "/etc/jitsi", + "config_path": "", "os": "debian" }, { @@ -8970,7 +9898,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/joplin-server/.env", + "config_path": "", "default_credentials": { "username": "admin@localhost", "password": "admin" @@ -9005,7 +9933,44 @@ "execute_in": [ "pve" ], - "config_path": "/opt/jotty/.env", + "config_path": "", + "os": "debian" + }, + { + "name": "Journiv", + "slug": "journiv", + "desc": "Journiv is a self-hosted, privacy-focused journaling app. It stores entries, photos and videos on your own server, supports activity and mood tracking, full-text search and imports from Daylio and other journaling apps, with a Flutter web frontend served by a FastAPI backend.", + "script": "ct/journiv.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/journiv.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/journiv.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00012" + ], + "category_names": [ + "Documents & Notes" + ], + "notes": [ + "Create your account through the web UI at http://:8000 on first visit - the first registered user becomes the administrator.", + "Three services run in this container: journiv (API and web UI), journiv-worker (Celery) and journiv-beat (scheduler). Check all three with 'systemctl status journiv journiv-worker journiv-beat'.", + "Journiv is in beta (0.x). The paid 'Plus' features ship as a precompiled module in the official Docker image only and are therefore not available in this source-based install." + ], + "warnings": [ + "Media, exports, imports and logs live in /opt/journiv_data; entries and metadata are in the local PostgreSQL database 'journiv'. Back up both." + ], + "port": 8000, + "website": "https://journiv.com/", + "documentation": "https://github.com/journiv/journiv-app#readme", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/journiv.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", "os": "debian" }, { @@ -9039,7 +10004,7 @@ "pve" ], "config_path": "", - "os": "debian" + "os": "ubuntu" }, { "name": "Kan", @@ -9051,10 +10016,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00025" + "scriptcat000026" ], "category_names": [ - "Business & ERP" + "Productivity & Workflows" ], "notes": [ "Update NEXT_PUBLIC_BASE_URL in /opt/kan/.env if accessing from a different hostname." @@ -9073,7 +10038,44 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/kan/.env", + "config_path": "", + "os": "debian" + }, + { + "name": "Kaneo", + "slug": "kaneo", + "desc": "Kaneo is an open source project management platform with kanban boards, task tracking, time tracking and team workspaces.", + "script": "ct/kaneo.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/kaneo.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/kaneo.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat000026" + ], + "category_names": [ + "Productivity & Workflows" + ], + "notes": [ + "The first registered account becomes the instance admin.", + "Image and file attachments require object storage. Add S3_ENDPOINT, S3_BUCKET, S3_ACCESS_KEY_ID and S3_SECRET_ACCESS_KEY to /opt/kaneo/.env and restart the service." + ], + "warnings": [ + "Registration and guest sign-in both stay open after that. Set DISABLE_REGISTRATION=true and DISABLE_GUEST_ACCESS=true in /opt/kaneo/.env and restart the service to close the instance; DISABLE_REGISTRATION alone still leaves the guest login available.", + "The API URL is baked into the frontend at build time. To move Kaneo to another IP or a custom domain, set KANEO_CLIENT_URL and KANEO_API_URL in /opt/kaneo/.env and the matching VITE_API_URL and VITE_CLIENT_URL in /opt/kaneo/apps/web/.env.production, then rebuild with 'cd /opt/kaneo && pnpm exec turbo build --filter=@kaneo/web'." + ], + "port": 5173, + "website": "https://kaneo.app/", + "documentation": "https://kaneo.app/docs", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/kaneo.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", "os": "debian" }, { @@ -9135,7 +10137,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/karakeep/karakeep.env", + "config_path": "", "os": "debian" }, { @@ -9148,10 +10150,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00009" + "scriptcat000027" ], "category_names": [ - "Monitoring & Analytics" + "Remote Access & VPN" ], "notes": [ "Show credentials: `cat ~/kasm.creds`" @@ -9220,7 +10222,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within the Proxmox shell" @@ -9253,7 +10255,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within the Proxmox shell" @@ -9305,7 +10307,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/keycloak/conf/keycloak.conf", + "config_path": "", "default_credentials": { "username": "tmpadm", "password": "admin123" @@ -9345,7 +10347,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/kima-hub/backend/.env", + "config_path": "", "os": "debian" }, { @@ -9358,10 +10360,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00025" + "scriptcat00025", + "scriptcat000026" ], "category_names": [ - "Business & ERP" + "Business & ERP", + "Productivity & Workflows" ], "notes": [], "warnings": [], @@ -9376,7 +10380,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/kimai/.env", + "config_path": "", "default_credentials": { "username": "admin@community-scripts.org", "password": "community-scripts.org" @@ -9393,10 +10397,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00013" + "scriptcat00024" ], "category_names": [ - "Media & Streaming" + "Gaming & Leisure" ], "notes": [], "warnings": [], @@ -9411,7 +10415,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/kitchenowl/kitchenowl.env", + "config_path": "", "os": "debian" }, { @@ -9424,10 +10428,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00012" ], "category_names": [ - "Miscellaneous" + "Documents & Notes" ], "notes": [ "Place your .zim files in /data inside the container (local files work out of the box). Optional: you can bind-mount a host directory to /data if you want external storage." @@ -9481,7 +10485,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/koel/.env", + "config_path": "", "default_credentials": { "username": "admin@koel.dev", "password": "KoelIsCool" @@ -9519,10 +10523,6 @@ "lxc" ], "config_path": "", - "default_credentials": { - "username": "", - "password": "shopping123" - }, "os": "debian" }, { @@ -9553,7 +10553,7 @@ "execute_in": [ "pve" ], - "config_path": "ct/koillection.sh", + "config_path": "", "os": "debian" }, { @@ -9587,7 +10587,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/kometa/config/config.yml", + "config_path": "", "os": "debian" }, { @@ -9620,7 +10620,7 @@ "execute_in": [ "pve" ], - "config_path": "~/.komga/application.yml", + "config_path": "", "os": "debian" }, { @@ -9657,7 +10657,7 @@ "lxc", "vm" ], - "config_path": "/opt/komodo/compose.env", + "config_path": "", "os": "debian" }, { @@ -9721,7 +10721,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/kutt/.env", + "config_path": "", "os": "debian" }, { @@ -9734,10 +10734,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00012" ], "category_names": [ - "Miscellaneous" + "Documents & Notes" ], "notes": [ "API is available at `http://:8081/v2`." @@ -9754,7 +10754,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/LanguageTool/server.properties", + "config_path": "", "os": "debian" }, { @@ -9785,7 +10785,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/LazyLibrarian/config.ini", + "config_path": "", "os": "debian" }, { @@ -9836,10 +10836,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat000026" ], "category_names": [ - "Documents & Notes" + "Productivity & Workflows" ], "notes": [], "warnings": [], @@ -9854,7 +10854,42 @@ "execute_in": [ "pve" ], - "config_path": "/opt/Leantime/config/.env", + "config_path": "", + "os": "debian" + }, + { + "name": "Lemonade Server", + "slug": "lemonade-server", + "desc": "Lemonade Server is an open-source local AI runtime with OpenAI-compatible APIs for chat, vision, image generation, transcription, and speech. It auto-detects GPU and NPU hardware and provides a web control panel for model management.", + "script": "ct/lemonade-server.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/lemonade-server.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/lemonade-server.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00020" + ], + "category_names": [ + "AI / Coding & Dev-Tools" + ], + "notes": [ + "Models download on demand — increase disk size if you plan to run large models." + ], + "warnings": [ + "Remote access is configured with `host=0.0.0.0`. Set `LEMONADE_API_KEY` via a systemd override at `/etc/systemd/system/lemond.service.d/override.conf` before exposing the service." + ], + "port": 13305, + "website": "https://lemonade-server.ai/", + "documentation": "https://lemonade-server.ai/docs/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/lemonade-ai.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", "os": "debian" }, { @@ -9890,7 +10925,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/librechat/.env", + "config_path": "", "os": "debian" }, { @@ -9923,7 +10958,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/librenms/config.php and /opt/librenms/.env", + "config_path": "", "os": "debian" }, { @@ -9954,7 +10989,7 @@ "execute_in": [ "pve" ], - "config_path": "/var/lib/librespeed-rs/configs.toml", + "config_path": "", "os": "debian" }, { @@ -9967,10 +11002,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00020" ], "category_names": [ - "Miscellaneous" + "AI / Coding & Dev-Tools" ], "notes": [ "During the installation, application will download language models used for translation. Depending on how fast your internet/host is, this can take 5-10 minutes.", @@ -9988,7 +11023,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/libretranslate/.env", + "config_path": "", "os": "debian" }, { @@ -10019,7 +11054,7 @@ "execute_in": [ "pve" ], - "config_path": "/var/lib/lidarr/config.xml", + "config_path": "", "os": "debian" }, { @@ -10055,6 +11090,43 @@ "config_path": "", "os": "debian" }, + { + "name": "Lingarr", + "slug": "lingarr", + "desc": "Lingarr translates subtitles in your Radarr and Sonarr libraries. It watches for media without subtitles in the languages you want and translates existing ones automatically, using either a self-hosted LibreTranslate instance or a hosted provider such as DeepL, OpenAI, Anthropic or Gemini.", + "script": "ct/lingarr.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/lingarr.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/lingarr.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00014" + ], + "category_names": [ + "*Arr Suite" + ], + "notes": [ + "Needs the .NET 10 SDK, which Debian does not ship - it comes from the Microsoft repository. The build is therefore large; the compiled output lands in /opt/lingarr_app while the source tree stays in /opt/lingarr.", + "Metadata is stored in the local PostgreSQL database 'lingarr'. Upstream also supports MySQL and SQLite via DB_CONNECTION." + ], + "warnings": [ + "Set a translation backend in /opt/lingarr.env before use. The default points at a LibreTranslate instance that does not exist yet - either deploy one and set LIBRE_TRANSLATE_URL, or switch SERVICE_TYPE to a hosted provider and add its API key.", + "Mount your media libraries into the LXC and connect Radarr/Sonarr through the web UI. Lingarr writes subtitle files next to the media, so it needs write access to those paths." + ], + "port": 9876, + "website": "https://github.com/lingarr-translate/lingarr", + "documentation": "https://lingarr.com/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/lingarr.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, { "name": "linkding", "slug": "linkding", @@ -10085,7 +11157,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/linkding/.env", + "config_path": "", "default_credentials": { "username": "admin", "password": "" @@ -10102,10 +11174,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00009" + "scriptcat00010" ], "category_names": [ - "Monitoring & Analytics" + "Dashboards & Frontends" ], "notes": [ "LinkStack can be updated via the user interface.", @@ -10123,7 +11195,7 @@ "execute_in": [ "pve" ], - "config_path": "/var/www/html/linkstack/.env", + "config_path": "", "os": "debian" }, { @@ -10154,8 +11226,8 @@ "execute_in": [ "pve" ], - "config_path": "/opt/linkwarden/.env", - "os": "debian" + "config_path": "", + "os": "ubuntu" }, { "name": "listmonk", @@ -10167,10 +11239,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00022" ], "category_names": [ - "Miscellaneous" + "Communication & Community" ], "notes": [], "warnings": [], @@ -10185,7 +11257,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/listmonk/config.toml", + "config_path": "", "os": "debian" }, { @@ -10218,7 +11290,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/litellm/litellm.yaml", + "config_path": "", "default_credentials": { "username": "admin", "password": "sk-1234" @@ -10258,6 +11330,43 @@ "config_path": "", "os": "ubuntu" }, + { + "name": "llama.cpp", + "slug": "llama-cpp", + "desc": "llama.cpp runs GGUF language models directly in C/C++ with no Python runtime. This installs llama-server, which serves a built-in web chat UI plus an OpenAI-compatible API on the same port, so it can back tools like AnythingLLM, Open WebUI or Claude Code. Lighter and closer to the metal than Ollama.", + "script": "ct/llama-cpp.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/llama-cpp.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/llama-cpp.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00020" + ], + "category_names": [ + "AI / Coding & Dev-Tools" + ], + "notes": [ + "On first start llama-server downloads the model set in LLAMA_ARG_HF_REPO (default: ggml-org/gemma-3-1b-it-GGUF, roughly 800 MB) into /opt/llama-cpp_data/models, so the container is usable straight away. Swap it for any GGUF repo, or point LLAMA_ARG_MODEL at a local file, then restart.", + "The build variant is chosen at install time: cpu or vulkan, or auto to follow the passed-through GPU. Upstream publishes no Linux CUDA or ROCm build, so every GPU is served by the vulkan build - AMD through RADV, NVIDIA through the driver's Vulkan ICD, which has to be present in the container. The choice is remembered in /opt/llama-cpp_data/.backend so updates keep it.", + "RAM is the limiting factor: the model must fit alongside the KV cache. 8 GB comfortably runs models up to roughly 7B at Q4. Raise LLAMA_ARG_CTX_SIZE only if you have headroom." + ], + "warnings": [ + "The web UI and the OpenAI-compatible API share port 8080: /v1/chat/completions, /v1/models and friends. There is no authentication unless an API key is set - supply one at install time or set LLAMA_ARG_API_KEY in /opt/llama-cpp.env." + ], + "port": 8080, + "website": "https://github.com/ggml-org/llama.cpp", + "documentation": "https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.md", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/llama-cpp.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, { "name": "lldap", "slug": "lldap", @@ -10326,7 +11435,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/lobehub/.env", + "config_path": "", "os": "debian" }, { @@ -10362,7 +11471,79 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/localagi/.env", + "config_path": "", + "os": "debian" + }, + { + "name": "Logseq", + "slug": "logseq", + "desc": "Logseq is a privacy-first, open-source knowledge base and outliner for organizing notes, tasks and connected thoughts with Markdown and a local-first graph. This deployment builds and serves the self-hosted web version behind Nginx.", + "script": "ct/logseq.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/logseq.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/logseq.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00012" + ], + "category_names": [ + "Documents & Notes" + ], + "notes": [ + "Open the app at https:// and accept the self-signed certificate. HTTPS is required: Logseq's local database uses OPFS (navigator.storage.getDirectory) and SharedArrayBuffer, which browsers only expose in a secure, cross-origin-isolated context — over plain HTTP the graph fails to load. nginx serves it over TLS with the COOP/COEP isolation headers set.", + "This is the self-hosted web build. Logseq does not ship a sync server (Logseq Sync is a separate paid hosted service), so graphs do not sync across devices or browsers.", + "The initial build compiles ClojureScript and can take 10+ minutes; generous RAM is required." + ], + "warnings": [ + "All graphs are stored locally in the browser (IndexedDB/OPFS). Clearing browser data removes your notes, so export and back up regularly." + ], + "port": 80, + "website": "https://logseq.com/", + "documentation": "https://docs.logseq.com/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/logseq.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, + { + "name": "Logto", + "slug": "logto", + "desc": "Logto is an open-source identity and access management (IAM) platform for building sign-in, authentication, and authorization. It provides OIDC-based auth, a prebuilt sign-in experience, user and role management, and an Admin Console, backed by PostgreSQL.", + "script": "ct/logto.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/logto.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/logto.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00006" + ], + "category_names": [ + "Authentication & Security" + ], + "notes": [ + "Open the Admin Console at https://:3002 and accept the self-signed certificate. The sign-in flow redirects to the Core at https://logto..nip.io:3001 (a nip.io hostname that auto-resolves to the container) — open that URL once too and accept its certificate before signing in. Then complete the Welcome flow to create your first admin account." + ], + "warnings": [ + "HTTPS with two distinct hostnames is required: the console uses Web Crypto (crypto.subtle, HTTPS-only), and Logto's OIDC needs the Core (logto..nip.io:3001) and Console (:3002) on different hostnames so their session cookies don't collide (a bare IP on two ports causes an 'invalid session' error). If your router blocks nip.io (DNS-rebinding protection), or for a browser-trusted cert, front Logto with your own domain + reverse proxy and set ENDPOINT/ADMIN_ENDPOINT in /opt/logto/.env accordingly." + ], + "port": 3002, + "website": "https://logto.io/", + "documentation": "https://docs.logto.io/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/logto.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", "os": "debian" }, { @@ -10395,7 +11576,7 @@ "execute_in": [ "pve" ], - "config_path": "Debian: /etc/loki/config.yml | Alpine: /etc/loki/loki-local-config.yaml", + "config_path": "", "os": "debian" }, { @@ -10428,9 +11609,48 @@ "execute_in": [ "pve" ], - "config_path": "Debian: /etc/loki/config.yml | Alpine: /etc/loki/loki-local-config.yaml", + "config_path": "", "os": "alpine" }, + { + "name": "Lore", + "slug": "lore", + "desc": "Lore is Epic Games' open-source, centralized, self-hostable version control server. Teams push to, clone from, and resolve conflicts through the loreserver endpoint over QUIC and gRPC, backed by durable local-disk storage.", + "script": "ct/lore.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/lore.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/lore.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00020" + ], + "category_names": [ + "AI / Coding & Dev-Tools" + ], + "notes": [ + "Disk usage scales with total repository size. The default 20 GB is a starting point; size the container to your data.", + "Ports: 41337 (main endpoint, gRPC over TCP + QUIC over UDP), 41339 (HTTP health check), 41340 (internal mTLS replication, disabled by default).", + "A self-signed TLS certificate is generated at install (/etc/ssl/lore). Clients must trust it or be configured to accept it.", + "This is the Lore SERVER (loreserver). Developers connect to it with the 'lore' client CLI." + ], + "warnings": [ + "Lore is pre-1.0: on-disk formats may still change between versions, though committed-data durability is guaranteed. Intended for the experimental VED repo only.", + "Authentication is disabled by default (demo mode): the public endpoint accepts unauthenticated clients. Enable JWT verification via [server.auth.jwk] against an external identity provider in /opt/lore/local.toml before exposing it." + ], + "port": 41337, + "website": "https://epicgames.github.io/lore/", + "documentation": "https://epicgames.github.io/lore/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/lore-epic-games.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, { "name": "LubeLogger", "slug": "lubelogger", @@ -10459,7 +11679,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/lubelogger/appsettings.json", + "config_path": "", "os": "debian" }, { @@ -10475,7 +11695,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within the Proxmox shell" @@ -10526,7 +11746,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/lychee/.env", + "config_path": "", "os": "debian" }, { @@ -10557,7 +11777,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/default/lyrionmusicserver", + "config_path": "", "os": "debian" }, { @@ -10590,7 +11810,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/mafl/data/config.yml", + "config_path": "", "os": "debian" }, { @@ -10603,10 +11823,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00024" + "scriptcat00016" ], "category_names": [ - "Gaming & Leisure" + "IoT & Smart Home" ], "notes": [ "Configuration Path: `/opt/magicmirror/config/config.js`" @@ -10623,7 +11843,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/magicmirror/config/config.js", + "config_path": "", "os": "debian" }, { @@ -10636,10 +11856,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00007" + "scriptcat00007", + "scriptcat00022" ], "category_names": [ - "Backup & Recovery" + "Backup & Recovery", + "Communication & Community" ], "notes": [], "warnings": [], @@ -10654,7 +11876,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/mail-archiver/.env, /opt/mail-archiver/appsettings.json", + "config_path": "", "default_credentials": { "username": "admin", "password": "secure123!" @@ -10689,7 +11911,7 @@ "updateable": true, "privileged": false, "has_arm": true, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -10724,7 +11946,7 @@ "updateable": true, "privileged": false, "has_arm": false, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -10741,10 +11963,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat000026" ], "category_names": [ - "Miscellaneous" + "Productivity & Workflows" ], "notes": [], "warnings": [], @@ -10759,7 +11981,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/mmdl/.env", + "config_path": "", "os": "debian" }, { @@ -10792,7 +12014,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/manyfold/.env", + "config_path": "", "os": "debian" }, { @@ -10871,10 +12093,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00022" ], "category_names": [ - "Miscellaneous" + "Communication & Community" ], "notes": [ "Installation compiles Ruby 4.0.5 and ffmpeg from source — this takes 15–30 minutes.", @@ -10893,7 +12115,7 @@ "updateable": true, "privileged": false, "has_arm": true, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -10937,6 +12159,43 @@ "config_path": "", "os": "debian" }, + { + "name": "Home Assistant Matter Hub", + "slug": "matter-hub", + "desc": "Home Assistant Matter Hub publishes your Home Assistant entities as Matter devices, so Apple Home, Google Home, Amazon Alexa and any other Matter controller can see and control them. It acts as a Matter bridge in front of Home Assistant and needs only a long-lived access token to connect. This installs the actively maintained RiDDiX fork - the original t0bst4r project reached end of maintenance in January 2026.", + "script": "ct/matter-hub.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/matter-hub.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/matter-hub.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00017" + ], + "category_names": [ + "ZigBee, Z-Wave & Matter" + ], + "notes": [ + "Bridge data and fabric credentials are stored in /opt/matter-hub_data. Deleting that directory unpairs every controller and requires re-commissioning.", + "This is the community fork by RiDDiX. The original t0bst4r/home-assistant-matter-hub ended maintenance in January 2026 and receives no further fixes." + ], + "warnings": [ + "Set HAMH_HOME_ASSISTANT_URL and HAMH_HOME_ASSISTANT_ACCESS_TOKEN in /opt/matter-hub.env, then run 'systemctl restart matter-hub'. Create the long-lived access token in Home Assistant under your user profile, Security tab.", + "Matter relies on IPv6 and mDNS. The container needs working IPv6 and must be on the same L2 network as your Matter controllers. Access points and switches that filter or rate-limit multicast are the most common cause of devices going 'No Response' after a while - check for IGMP snooping, mDNS/Bonjour filtering and AP isolation." + ], + "port": 8482, + "website": "https://github.com/RiDDiX/home-assistant-matter-hub", + "documentation": "https://riddix.github.io/home-assistant-matter-hub", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/home-assistant.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, { "name": "Matter Server", "slug": "matter-server", @@ -11052,10 +12311,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00025" + "scriptcat00022" ], "category_names": [ - "Business & ERP" + "Communication & Community" ], "notes": [], "warnings": [ @@ -11072,8 +12331,8 @@ "execute_in": [ "pve" ], - "config_path": "/opt/mattermost/config/config.json", - "os": "debian" + "config_path": "", + "os": "ubuntu" }, { "name": "Mealie", @@ -11085,10 +12344,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00024" ], "category_names": [ - "Documents & Notes" + "Gaming & Leisure" ], "notes": [], "warnings": [], @@ -11103,7 +12362,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/mealie/mealie.env", + "config_path": "", "os": "debian" }, { @@ -11139,7 +12398,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/mm/config/config.toml", + "config_path": "", "default_credentials": { "username": "", "password": "admin" @@ -11174,7 +12433,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/mediamtx/mediamtx.yml", + "config_path": "", "os": "debian" }, { @@ -11238,7 +12497,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/meilisearch.toml", + "config_path": "", "os": "debian" }, { @@ -11282,10 +12541,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00004" + "scriptcat000027" ], "category_names": [ - "Network & Firewall" + "Remote Access & VPN" ], "notes": [], "warnings": [], @@ -11300,7 +12559,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/meshcentral/meshcentral-data/config.json", + "config_path": "", "os": "debian" }, { @@ -11331,7 +12590,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/metabase/.env", + "config_path": "", "os": "debian" }, { @@ -11344,10 +12603,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00011" + "scriptcat00013" ], "category_names": [ - "Files & Downloads" + "Media & Streaming" ], "notes": [], "warnings": [], @@ -11362,7 +12621,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/metube/.env", + "config_path": "", "os": "debian" }, { @@ -11378,7 +12637,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within the Proxmox shell", @@ -11400,9 +12659,9 @@ "os": "debian" }, { - "name": "Mikrotik RouterOS CHR", + "name": "MikroTik RouterOS", "slug": "mikrotik-routeros", - "desc": "Mikrotik RouterOS CHR is a Linux-based operating system that transforms a computer into a router. It provides a wide range of features for network routing, firewall, bandwidth management, wireless access point, backhaul link, hotspot gateway, VPN server, and many others. RouterOS is a versatile solution that supports various network configurations, including those with multiple WAN links, hotspots, and VPNs. It is highly customizable, allowing administrators to configure and manage their networks according to their specific requirements. With RouterOS, network administrators can monitor and control the performance and security of their networks, ensuring reliable and secure communication for their users. The software is designed to be easy to use and provides a wide range of tools for network management, making it a valuable solution for small and large networks alike.", + "desc": "RouterOS is MikroTik's network operating system, offering routing, firewalling, VPN and wireless management. The Cloud Hosted Router image runs as a VM.", "script": "vm/mikrotik-routeros.sh", "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/mikrotik-routeros.sh", "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/mikrotik-routeros.sh", @@ -11413,28 +12672,26 @@ "scriptcat00004" ], "category_names": [ - "Operating Systems", + "Operating Systems & Appliances", "Network & Firewall" ], - "notes": [], + "notes": [ + "This VM boots an installer image. Open the console after creation and complete the installation there." + ], "warnings": [], "port": 0, - "website": "https://mikrotik.com", - "documentation": "https://help.mikrotik.com/docs/spaces/ROS/pages/18350234/Cloud+Hosted+Router+CHR", + "website": "https://mikrotik.com/software", + "documentation": "https://help.mikrotik.com/docs/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/mikrotik.webp", - "updateable": true, + "updateable": false, "privileged": false, "has_arm": false, - "is_dev": false, + "is_dev": true, "execute_in": [ - "pve" + "vm" ], "config_path": "", - "default_credentials": { - "username": "admin", - "password": "none" - }, - "os": "debian" + "os": "" }, { "name": "Minarca", @@ -11464,7 +12721,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/minarca/minarca-server.conf", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin123" @@ -11532,7 +12789,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/miniflux.conf", + "config_path": "", "default_credentials": { "username": "admin", "password": "randomly generated during installation process" @@ -11549,10 +12806,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00008" + "scriptcat00011" ], "category_names": [ - "Databases" + "Files & Downloads" ], "notes": [ "Application credentials: `cat ~/minio.creds`" @@ -11569,7 +12826,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/default/minio", + "config_path": "", "default_credentials": { "username": "minioadmin", "password": "" @@ -11606,7 +12863,7 @@ "execute_in": [ "lxc" ], - "config_path": "/var/www/MintHCM", + "config_path": "", "default_credentials": { "username": "admin", "password": "minthcm" @@ -11654,10 +12911,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00024" + "scriptcat000026" ], "category_names": [ - "Gaming & Leisure" + "Productivity & Workflows" ], "notes": [], "warnings": [], @@ -11672,7 +12929,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/monica/.env", + "config_path": "", "default_credentials": { "username": "admin@community-scripts.org", "password": "community-scripts.org" @@ -11692,7 +12949,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within the Proxmox shell", @@ -11748,7 +13005,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/motioneye/motioneye.conf", + "config_path": "", "default_credentials": { "username": "admin", "password": "none" @@ -11768,7 +13025,7 @@ "scriptcat00018" ], "category_names": [ - "MQTT & Messaging" + "Messaging & Queues" ], "notes": [ "You can find post-install info here: `https://github.com/community-scripts/ProxmoxVE/discussions/782`" @@ -11785,7 +13042,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/mosquitto/conf.d/default.conf", + "config_path": "", "os": "debian" }, { @@ -11801,7 +13058,7 @@ "scriptcat00022" ], "category_names": [ - "Bots & ChatOps" + "Communication & Community" ], "notes": [ "Allow both TCP and UDP traffic on port 64738 through any firewall or router.", @@ -11817,7 +13074,7 @@ "updateable": true, "privileged": false, "has_arm": true, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -11828,42 +13085,6 @@ }, "os": "debian" }, - { - "name": "MusicSeerr", - "slug": "musicseerr", - "desc": "MusicSeerr is a self-hosted music request and discovery app for Lidarr. Search MusicBrainz, request albums, stream from Jellyfin, Navidrome, Plex, or local files, and scrobble to ListenBrainz and Last.fm.", - "script": "ct/musicseerr.sh", - "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/musicseerr.sh", - "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/musicseerr.sh", - "type": "lxc", - "type_id": "nm9bra8mzye2scg", - "categories": [ - "scriptcat00014" - ], - "category_names": [ - "*Arr Suite" - ], - "notes": [ - "Requires a running Lidarr instance. Configure Lidarr and other integrations in the web UI after installation.", - "For local file playback, mount your music library into the container and set the path in Settings > Local Files." - ], - "warnings": [ - "Initial install includes a frontend build and may take several minutes." - ], - "port": 8688, - "website": "https://github.com/HabiRabbu/Musicseerr", - "documentation": "https://musicseerr.com/", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/musicseerr.webp", - "updateable": true, - "privileged": false, - "has_arm": true, - "is_dev": false, - "execute_in": [ - "lxc" - ], - "config_path": "", - "os": "debian" - }, { "name": "MyIP", "slug": "myip", @@ -11892,7 +13113,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/myip/.env", + "config_path": "", "os": "debian" }, { @@ -11936,10 +13157,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00004" + "scriptcat00009" ], "category_names": [ - "Network & Firewall" + "Monitoring & Analytics" ], "notes": [], "warnings": [], @@ -11967,10 +13188,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00016" + "scriptcat00019" ], "category_names": [ - "IoT & Smart Home" + "Automation & Scheduling" ], "notes": [ "You may need to configure the `WEBHOOK_URL` in the config file when using a domain." @@ -11987,7 +13208,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/n8n.env", + "config_path": "", "os": "debian" }, { @@ -12059,7 +13280,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/nametag/.env", + "config_path": "", "os": "debian" }, { @@ -12092,7 +13313,44 @@ "execute_in": [ "pve" ], - "config_path": "/etc/navidrome/navidrome.toml", + "config_path": "", + "os": "debian" + }, + { + "name": "nebula-sync", + "slug": "nebula-sync", + "desc": "nebula-sync keeps multiple Pi-hole v6 instances in sync by replicating the configuration of a primary Pi-hole to one or more replicas over the Pi-hole API. It can run a full Teleporter import/export or sync only selected features, on a cron schedule.", + "script": "tools/addon/nebula-sync.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/nebula-sync.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/tools/addon/nebula-sync.sh", + "type": "addon", + "type_id": "88xtxy57q80v38v", + "categories": [ + "scriptcat00005" + ], + "category_names": [ + "Adblock & DNS" + ], + "notes": [ + "Until PRIMARY and REPLICAS are configured the service restarts every 30 seconds. Check progress with 'journalctl -u nebula-sync -f'. The default schedule is CRON='0 * * * *' (hourly).", + "Requires Pi-hole v6 or newer on all instances - the v5 API is not supported. This is a third-party project and not part of the official Pi-hole project." + ], + "warnings": [ + "This has no web interface. Edit /opt/nebula-sync.env and set PRIMARY and REPLICAS to your Pi-hole instances in the format 'http://host|password' (replicas comma-separated), then run 'systemctl restart nebula-sync'." + ], + "port": 0, + "website": "https://github.com/lovelaze/nebula-sync", + "documentation": "https://github.com/lovelaze/nebula-sync#configuration", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pi-hole.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": true, + "execute_in": [ + "lxc", + "vm" + ], + "config_path": "", "os": "debian" }, { @@ -12127,7 +13385,7 @@ "execute_in": [ "lxc" ], - "config_path": "/etc/neko/neko.yaml", + "config_path": "", "default_credentials": { "username": "", "password": "admin" @@ -12179,10 +13437,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00004" + "scriptcat000027" ], "category_names": [ - "Network & Firewall" + "Remote Access & VPN" ], "notes": [ "The NetBird client (agent) allows a peer to join a pre-existing NetBird deployment. If a NetBird deployment is not yet available, there are both managed and self-hosted options available.", @@ -12202,7 +13460,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/netbird/config.json", + "config_path": "", "os": "debian" }, { @@ -12238,7 +13496,7 @@ "execute_in": [ "lxc" ], - "config_path": "/var/www/html/boot.cfg", + "config_path": "", "os": "debian" }, { @@ -12271,7 +13529,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/netbox/netbox/netbox/configuration.py", + "config_path": "", "os": "debian" }, { @@ -12284,10 +13542,12 @@ "type": "addon", "type_id": "88xtxy57q80v38v", "categories": [ - "scriptcat00001" + "scriptcat00001", + "scriptcat00009" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management", + "Monitoring & Analytics" ], "notes": [ "Execute within the Proxmox shell" @@ -12304,7 +13564,47 @@ "execute_in": [ "pve" ], - "config_path": "/etc/netdata/netdata.conf", + "config_path": "", + "os": "debian" + }, + { + "name": "NetworkOptimizer", + "slug": "networkoptimizer", + "desc": "Network Optimizer is a self-hosted optimization, monitoring (NMS) and security audit tool for UniFi networks. It scores and optimizes Wi-Fi, runs DNS, VLAN and firewall security checks, hosts a centralized WAN and LAN speed test server with L2 tracing, and monitors ISP and WAN health. Built on .NET 10 / Blazor Server with a local SQLite database.", + "script": "ct/networkoptimizer.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/networkoptimizer.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/networkoptimizer.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00004" + ], + "category_names": [ + "Network & Firewall" + ], + "notes": [ + "Edit ASPNETCORE_URLS, HOST_IP and Iperf3Server__Enabled in /opt/networkoptimizer/networkoptimizer.env, then restart the service.", + "Licensed under the Business Source License 1.1: free for personal use of up to 3 sites; commercial use requires a license." + ], + "warnings": [ + "On first start an admin password is auto-generated. Retrieve it with: journalctl -u networkoptimizer | grep -i password" + ], + "port": 8042, + "website": "https://ozarkconnect.net/network-optimizer", + "documentation": "https://github.com/Ozark-Connect/NetworkOptimizer", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/network-optimizer.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "admin", + "password": "" + }, "os": "debian" }, { @@ -12317,10 +13617,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00004" + "scriptcat000027" ], "category_names": [ - "Network & Firewall" + "Remote Access & VPN" ], "notes": [ "Requires a running Pangolin server to connect to.", @@ -12334,7 +13634,7 @@ "updateable": true, "privileged": false, "has_arm": false, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -12370,45 +13670,41 @@ "lxc", "vm" ], - "config_path": "/etc/nextcloud-exporter.env", + "config_path": "", "os": "debian" }, { "name": "Nextcloud", "slug": "nextcloud-vm", - "desc": "TurnKey Nextcloud is an open-source file sharing server and collaboration platform that can store your personal content, like documents and pictures, in a centralized location.", + "desc": "Nextcloud is a self-hosted platform for files, calendars, contacts and collaboration. This installs the TurnKey appliance as a VM.", "script": "vm/nextcloud-vm.sh", "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/nextcloud-vm.sh", "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/nextcloud-vm.sh", "type": "vm", "type_id": "lte524abgx960bd", "categories": [ - "scriptcat00002" + "scriptcat00011" ], "category_names": [ - "Operating Systems" + "Files & Downloads" ], - "notes": [], - "warnings": [ - "This VM requires extra installation steps, see install guide at `https://github.com/community-scripts/ProxmoxVE/discussions/144`" + "notes": [ + "This VM boots an installer image. Open the console after creation and complete the installation there." ], + "warnings": [], "port": 80, - "website": "https://www.turnkeylinux.org/nextcloud", - "documentation": "https://docs.nextcloud.com/server/21/admin_manual/contents.html", + "website": "https://nextcloud.com/", + "documentation": "https://docs.nextcloud.com/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/nextcloud.webp", - "updateable": true, + "updateable": false, "privileged": false, "has_arm": false, "is_dev": false, "execute_in": [ - "pve" + "vm" ], "config_path": "", - "default_credentials": { - "username": "admin", - "password": "" - }, - "os": "debian" + "os": "" }, { "name": "NextcloudPi", @@ -12420,10 +13716,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00002" + "scriptcat00011" ], "category_names": [ - "Operating Systems" + "Files & Downloads" ], "notes": [], "warnings": [ @@ -12453,10 +13749,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00010" + "scriptcat000027" ], "category_names": [ - "Dashboards & Frontends" + "Remote Access & VPN" ], "notes": [], "warnings": [], @@ -12506,7 +13802,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/nextExplorer/.env", + "config_path": "", "os": "debian" }, { @@ -12537,7 +13833,7 @@ "execute_in": [ "pve" ], - "config_path": "/var/opt/nextpvr/config.xml", + "config_path": "", "default_credentials": { "username": "admin", "password": "password" @@ -12572,7 +13868,7 @@ "updateable": true, "privileged": false, "has_arm": false, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -12600,7 +13896,8 @@ ], "notes": [ "Nginx runs on ports 80/443, Nginx UI management interface on port 9000.", - "SSL certificates can be managed automatically with Let's Encrypt integration." + "SSL certificates can be managed automatically with Let's Encrypt integration.", + "Nginx UI Install Secret: `cat /usr/local/etc/nginx-ui/.install_secret`. This Secret is valid for 10 minutes after service start, then removed.\nNew secret: systemctl restart nginx-ui && cat /usr/local/etc/nginx-ui/.install_secret" ], "warnings": [ "On first visit, the setup wizard will guide you to create an admin account and configure ACME email." @@ -12616,7 +13913,7 @@ "execute_in": [ "pve" ], - "config_path": "/usr/local/etc/nginx-ui/app.ini", + "config_path": "", "os": "debian" }, { @@ -12666,7 +13963,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within the Proxmox shell" @@ -12696,10 +13993,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00009", + "scriptcat00016" ], "category_names": [ - "Miscellaneous" + "Monitoring & Analytics", + "IoT & Smart Home" ], "notes": [ "Nightscout requires configuring `my.env` with your Mongo connection string. API_SECRET has been generated and saved to `~/nightscout.creds`.", @@ -12720,7 +14019,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/nightscout/my.env", + "config_path": "", "os": "debian" }, { @@ -12733,9 +14032,11 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ + "scriptcat00008", "scriptcat00025" ], "category_names": [ + "Databases", "Business & ERP" ], "notes": [], @@ -12764,10 +14065,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00016" + "scriptcat00016", + "scriptcat00019" ], "category_names": [ - "IoT & Smart Home" + "IoT & Smart Home", + "Automation & Scheduling" ], "notes": [ "To install themes, type `update` in the LXC console. (debian/ubuntu only)" @@ -12784,7 +14087,7 @@ "execute_in": [ "pve" ], - "config_path": "~/.node-red/settings.js", + "config_path": "", "os": "debian" }, { @@ -12797,10 +14100,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00016" + "scriptcat00016", + "scriptcat00019" ], "category_names": [ - "IoT & Smart Home" + "IoT & Smart Home", + "Automation & Scheduling" ], "notes": [ "To install themes, type `update` in the LXC console. (debian/ubuntu only)" @@ -12817,7 +14122,7 @@ "execute_in": [ "pve" ], - "config_path": "~/.node-red/settings.js", + "config_path": "", "os": "alpine" }, { @@ -12959,7 +14264,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/notifiarr/notifiarr.conf", + "config_path": "", "os": "debian" }, { @@ -12993,7 +14298,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/compose.yaml", + "config_path": "", "default_credentials": { "username": "admin@local.com", "password": "community-scripts.org" @@ -13028,7 +14333,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/ntfy/server.yml", + "config_path": "", "os": "debian" }, { @@ -13059,9 +14364,50 @@ "execute_in": [ "pve" ], - "config_path": "/etc/ntfy/server.yml", + "config_path": "", "os": "alpine" }, + { + "name": "ntopng", + "slug": "ntopng", + "desc": "ntopng is a network traffic probe and analyser. It shows who is talking to whom, which protocols and applications are in use, and keeps historical traffic statistics, with alerting and flow export on top. This installs the free Community Edition from the official ntop repository.", + "script": "ct/ntopng.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/ntopng.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/ntopng.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00009" + ], + "category_names": [ + "Monitoring & Analytics" + ], + "notes": [ + "This is the Community Edition. Retention, historical flow drilldown and some alerting features are reserved for the paid Pro/Enterprise editions.", + "Installed from the official ntop apt repository (packages.ntop.org/apt-stable), which pulls in redis-server and its other dependencies automatically. Updates go through apt." + ], + "warnings": [ + "Log in at http://:3000 with admin/admin and change the password immediately.", + "By default ntopng only sees the container's own traffic. To analyse the whole network you have to feed it traffic - a mirror/SPAN port on your switch, or a flow exporter (NetFlow/sFlow/IPFIX) from your router. Set the interface with the -i line in /etc/ntopng/ntopng.conf." + ], + "port": 3000, + "website": "https://www.ntop.org/products/traffic-analysis/ntop/", + "documentation": "https://www.ntop.org/guides/ntopng/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ntopng.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "admin", + "password": "admin" + }, + "os": "debian" + }, { "name": "Nx Witness", "slug": "nxwitness", @@ -13091,7 +14437,7 @@ "pve" ], "config_path": "", - "os": "debian" + "os": "ubuntu" }, { "name": "NZBGet", @@ -13121,7 +14467,7 @@ "execute_in": [ "pve" ], - "config_path": "/usr/share/nzbget/nzbget.conf", + "config_path": "", "default_credentials": { "username": "nzbget", "password": "tegbzn6789" @@ -13161,7 +14507,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/oauth2-proxy/config.toml", + "config_path": "", "os": "debian" }, { @@ -13193,7 +14539,7 @@ "updateable": true, "privileged": false, "has_arm": false, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -13214,10 +14560,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00024" + "scriptcat00016" ], "category_names": [ - "Gaming & Leisure" + "IoT & Smart Home" ], "notes": [], "warnings": [], @@ -13265,7 +14611,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/odoo/odoo.conf", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin" @@ -13282,10 +14628,12 @@ "type": "addon", "type_id": "88xtxy57q80v38v", "categories": [ - "scriptcat00010" + "scriptcat00001", + "scriptcat00019" ], "category_names": [ - "Dashboards & Frontends" + "Host Management", + "Automation & Scheduling" ], "notes": [ "Configuration Path: `/etc/OliveTin/config.yaml`" @@ -13303,7 +14651,7 @@ "lxc", "vm" ], - "config_path": "/etc/OliveTin/config.yaml", + "config_path": "", "os": "debian" }, { @@ -13334,7 +14682,7 @@ "execute_in": [ "pve" ], - "config_path": "/usr/local/lib/ollama", + "config_path": "", "os": "ubuntu" }, { @@ -13382,10 +14730,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00013" + "scriptcat00013", + "scriptcat00014" ], "category_names": [ - "Media & Streaming" + "Media & Streaming", + "*Arr Suite" ], "notes": [], "warnings": [], @@ -13403,6 +14753,42 @@ "config_path": "", "os": "debian" }, + { + "name": "OmniRoute", + "slug": "omniroute", + "desc": "OmniRoute is a self-hosted, OpenAI-compatible AI gateway that routes requests across 290+ providers and 500+ models with quota-aware auto-fallback, prompt compression and a management dashboard. Works with Claude Code, Cursor, Cline, Codex and any OpenAI-compatible client.", + "script": "ct/omniroute.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/omniroute.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/omniroute.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00020" + ], + "category_names": [ + "AI / Coding & Dev-Tools" + ], + "notes": [ + "Reset the admin password anytime with: omniroute-reset-password" + ], + "warnings": [ + "The generated admin password and secrets (JWT_SECRET, API_KEY_SECRET, STORAGE_ENCRYPTION_KEY) are set once at install and stored in /opt/omniroute/.env. The dashboard login uses INITIAL_PASSWORD from that file.", + "STORAGE_ENCRYPTION_KEY encrypts the SQLite database at rest. Do not lose /opt/omniroute/.env or the encrypted data becomes unrecoverable." + ], + "port": 20128, + "website": "https://omniroute.online", + "documentation": "https://github.com/diegosouzapw/OmniRoute/tree/main/docs", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/omniroute.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, { "name": "OmniTools", "slug": "omnitools", @@ -13413,10 +14799,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00020" ], "category_names": [ - "Miscellaneous" + "AI / Coding & Dev-Tools" ], "notes": [ "Files are processed locally in the user's browser and are not uploaded to the OmniTools LXC.", @@ -13430,7 +14816,7 @@ "updateable": true, "privileged": false, "has_arm": true, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -13450,7 +14836,7 @@ "scriptcat00002" ], "category_names": [ - "Operating Systems" + "Operating Systems & Appliances" ], "notes": [], "warnings": [ @@ -13502,7 +14888,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/onedev/conf", + "config_path": "", "os": "debian" }, { @@ -13571,7 +14957,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/onlyoffice/documentserver/local.json", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin" @@ -13608,9 +14994,79 @@ "execute_in": [ "pve" ], - "config_path": "/opt/openarchiver/.env", + "config_path": "", "os": "debian" }, + { + "name": "OpenBao", + "slug": "openbao", + "desc": "OpenBao is a community-driven, open-source fork of HashiCorp Vault for managing, storing and distributing secrets such as tokens, passwords, certificates and encryption keys.", + "script": "ct/openbao.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/openbao.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/openbao.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00006" + ], + "category_names": [ + "Authentication & Security" + ], + "notes": [ + "The initial root token (BAO_ROOT_TOKEN) and unseal key (BAO_UNSEAL_KEY) are written to /etc/openbao/openbao.env (Debian) or /etc/conf.d/openbao (Alpine)." + ], + "warnings": [ + "OpenBao is unsealed automatically on every boot, reading the unseal key from that same file. To unseal manually instead, remove the BAO_UNSEAL_KEY line and delete /etc/systemd/system/openbao.service.d/unseal.conf (Debian) or the start_post block in /etc/init.d/openbao (Alpine)." + ], + "port": 8200, + "website": "https://openbao.org/", + "documentation": "https://openbao.org/docs/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/openbao.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, + { + "name": "OpenBao", + "slug": "openbao", + "desc": "OpenBao is a community-driven, open-source fork of HashiCorp Vault for managing, storing and distributing secrets such as tokens, passwords, certificates and encryption keys.", + "script": "ct/openbao.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/openbao.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/openbao.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00006" + ], + "category_names": [ + "Authentication & Security" + ], + "notes": [ + "The initial root token (BAO_ROOT_TOKEN) and unseal key (BAO_UNSEAL_KEY) are written to /etc/openbao/openbao.env (Debian) or /etc/conf.d/openbao (Alpine)." + ], + "warnings": [ + "OpenBao is unsealed automatically on every boot, reading the unseal key from that same file. To unseal manually instead, remove the BAO_UNSEAL_KEY line and delete /etc/systemd/system/openbao.service.d/unseal.conf (Debian) or the start_post block in /etc/init.d/openbao (Alpine)." + ], + "port": 8200, + "website": "https://openbao.org/", + "documentation": "https://openbao.org/docs/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/openbao.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "alpine" + }, { "name": "OpenCloud", "slug": "opencloud", @@ -13648,13 +15104,48 @@ "execute_in": [ "pve" ], - "config_path": "/etc/opencloud/opencloud.env, /etc/opencloud/opencloud.yaml, /etc/opencloud/csp.yaml", + "config_path": "", "default_credentials": { "username": "admin", "password": "randomly generated during the installation process" }, "os": "debian" }, + { + "name": "openEuler", + "slug": "openeuler", + "desc": "openEuler is an open-source Linux distribution designed for servers and cloud computing.", + "script": "ct/openeuler.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/openeuler.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/openeuler.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00002" + ], + "category_names": [ + "Operating Systems & Appliances" + ], + "notes": [], + "warnings": [], + "port": 0, + "website": "https://www.openeuler.org/", + "documentation": "https://docs.openeuler.org/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/openeuler.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "root", + "password": "" + }, + "os": "openeuler" + }, { "name": "Opengist", "slug": "opengist", @@ -13665,9 +15156,11 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ + "scriptcat00012", "scriptcat00020" ], "category_names": [ + "Documents & Notes", "AI / Coding & Dev-Tools" ], "notes": [], @@ -13683,7 +15176,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/opengist/config.yml", + "config_path": "", "os": "debian" }, { @@ -13747,7 +15240,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/openobserve/data/.env", + "config_path": "", "os": "debian" }, { @@ -13760,10 +15253,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00025" + "scriptcat000026" ], "category_names": [ - "Business & ERP" + "Productivity & Workflows" ], "notes": [], "warnings": [ @@ -13780,13 +15273,48 @@ "execute_in": [ "pve" ], - "config_path": "/etc/openproject/conf.d/env", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin" }, "os": "debian" }, + { + "name": "openSUSE", + "slug": "opensuse", + "desc": "openSUSE is a stable, easy-to-use Linux distribution with the YaST configuration tool and zypper package manager.", + "script": "ct/opensuse.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/opensuse.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/opensuse.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00002" + ], + "category_names": [ + "Operating Systems & Appliances" + ], + "notes": [], + "warnings": [], + "port": 0, + "website": "https://www.opensuse.org/", + "documentation": "https://doc.opensuse.org/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/opensuse.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "root", + "password": "" + }, + "os": "opensuse" + }, { "name": "OpenThread Border Router", "slug": "openthread-br", @@ -13804,7 +15332,8 @@ ], "notes": [ "Services are enabled but not started at install. Configure `/etc/default/otbr-agent` with your RCP device, then run: `systemctl restart otbr-agent otbr-web`", - "Home Assistant: Add 'OpenThread Border Router' integration with URL `http://:8081`. Web UI is on port 80." + "Home Assistant: Add 'OpenThread Border Router' integration with URL `http://:8081`. Web UI is on port 80.", + "Some features like NAT64 or a custom MDNS hostname must be enabled at runtime using ot-ctl commands. The script at `/usr/local/bin/otbr-post-start.sh` can be used to specify those commands" ], "warnings": [ "Requires a Thread Radio Co-Processor (RCP) device. USB: pass through to LXC (e.g. /dev/ttyACM0). TCP: use socat forkpty pattern (see `/etc/default/otbr-agent` for examples)." @@ -13820,7 +15349,7 @@ "execute_in": [ "lxc" ], - "config_path": "/etc/default/otbr-agent", + "config_path": "", "os": "debian" }, { @@ -13855,13 +15384,13 @@ "execute_in": [ "pve" ], - "config_path": "/root/.env", + "config_path": "", "os": "debian" }, { "name": "OpenWrt", "slug": "openwrt-vm", - "desc": "OpenWrt is a powerful open-source firmware that can transform a wide range of networking devices into highly customizable and feature-rich routers, providing users with greater control and flexibility over their network infrastructure.", + "desc": "OpenWrt is a Linux distribution for routers and embedded devices, with a full package manager and writable filesystem. Running it as a VM turns the host into a router.", "script": "vm/openwrt-vm.sh", "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/openwrt-vm.sh", "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/openwrt-vm.sh", @@ -13873,25 +15402,25 @@ ], "category_names": [ "Network & Firewall", - "Operating Systems" + "Operating Systems & Appliances" ], "notes": [ - "If you use VLANs (default LAN is set to VLAN 999), make sure the Proxmox Linux Bridge is configured as VLAN-aware, otherwise the VM may fail to start." + "This VM boots an installer image. Open the console after creation and complete the installation there." ], "warnings": [], "port": 0, "website": "https://openwrt.org/", "documentation": "https://openwrt.org/docs/start", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/openwrt.webp", - "updateable": true, + "updateable": false, "privileged": false, "has_arm": false, "is_dev": false, "execute_in": [ - "pve" + "vm" ], "config_path": "", - "os": "debian" + "os": "" }, { "name": "openziti-controller", @@ -13903,10 +15432,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00004" + "scriptcat000027" ], "category_names": [ - "Network & Firewall" + "Remote Access & VPN" ], "notes": [ "The Openziti Controller installation will prompt for configuration settings during installation." @@ -13923,7 +15452,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/openziti/etc/controller/bootstrap.env", + "config_path": "", "os": "debian" }, { @@ -13936,10 +15465,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00004" + "scriptcat000027" ], "category_names": [ - "Network & Firewall" + "Remote Access & VPN" ], "notes": [ "The Openziti tunnel is installed in host mode; please see documentation for more information", @@ -13963,7 +15492,7 @@ { "name": "OPNsense", "slug": "opnsense-vm", - "desc": "OPNsense is an open-source firewall and routing platform based on FreeBSD. It provides advanced security features, including intrusion detection, VPN support, traffic shaping, and web filtering, with an intuitive web interface for easy management. Known for its reliability and regular updates, OPNsense is a popular choice for both businesses and home networks.", + "desc": "OPNsense is a FreeBSD-based firewall and routing platform with a web interface, IDS/IPS and VPN support. Installation is completed in the installer console.", "script": "vm/opnsense-vm.sh", "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/opnsense-vm.sh", "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/opnsense-vm.sh", @@ -13975,29 +15504,61 @@ ], "category_names": [ "Network & Firewall", - "Operating Systems" + "Operating Systems & Appliances" ], - "notes": [], - "warnings": [ - "It will fail with default settings if there is no vmbr0 and vmbr1 on your node. Use advanced settings in this case." + "notes": [ + "This VM boots an installer image. Open the console after creation and complete the installation there." ], + "warnings": [], "port": 443, "website": "https://opnsense.org/", "documentation": "https://docs.opnsense.org/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/opnsense.webp", - "updateable": true, + "updateable": false, "privileged": false, "has_arm": false, "is_dev": false, "execute_in": [ - "pve" + "vm" ], "config_path": "", - "default_credentials": { - "username": "root", - "password": "opnsense" - }, - "os": "freebsd" + "os": "" + }, + { + "name": "Orb", + "slug": "orb", + "desc": "Orb continuously measures internet quality rather than just speed, scoring responsiveness, reliability and bandwidth into a single Orb Score. The sensor is a headless agent that runs 24/7, uploads its measurements to your Orb account, and is viewed from the Orb mobile or desktop app. Orb is free for up to five sensors.", + "script": "ct/orb.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/orb.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/orb.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00009", + "scriptcat00004" + ], + "category_names": [ + "Monitoring & Analytics", + "Network & Firewall" + ], + "notes": [ + "The sensor starts unlinked and must be claimed before it appears in your account. Run `runuser -u orb -- orb link` inside the container to sign into Orb.", + "View measurements in the Orb app or at https://app.orb.net, or run `runuser -u orb -- orb summary` in the container for the latest scores as JSON." + ], + "warnings": [], + "port": 0, + "website": "https://orb.net/", + "documentation": "https://orb.net/docs", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/orb.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" }, { "name": "OTS", @@ -14029,7 +15590,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/ots/.env", + "config_path": "", "os": "debian" }, { @@ -14063,7 +15624,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/outline/.env", + "config_path": "", "os": "debian" }, { @@ -14104,39 +15665,35 @@ { "name": "ownCloud", "slug": "owncloud-vm", - "desc": "TurnKey ownCloud is an open-source file sharing server and collaboration platform that can store your personal content, like documents and pictures, in a centralized location.", + "desc": "ownCloud is a self-hosted file sync and share platform. This installs the TurnKey appliance as a VM.", "script": "vm/owncloud-vm.sh", "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/owncloud-vm.sh", "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/owncloud-vm.sh", "type": "vm", "type_id": "lte524abgx960bd", "categories": [ - "scriptcat00002" + "scriptcat00011" ], "category_names": [ - "Operating Systems" + "Files & Downloads" ], - "notes": [], - "warnings": [ - "This VM requires extra installation steps, see install guide at `https://github.com/community-scripts/ProxmoxVE/discussions/144`" + "notes": [ + "This VM boots an installer image. Open the console after creation and complete the installation there." ], + "warnings": [], "port": 80, - "website": "https://www.turnkeylinux.org/owncloud", + "website": "https://owncloud.com/", "documentation": "https://doc.owncloud.com/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/owncloud.webp", - "updateable": true, + "updateable": false, "privileged": false, "has_arm": false, "is_dev": false, "execute_in": [ - "pve" + "vm" ], "config_path": "", - "default_credentials": { - "username": "admin", - "password": "" - }, - "os": "debian" + "os": "" }, { "name": "Ownfoil", @@ -14170,7 +15727,44 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/ownfoil/app/config/settings.yaml", + "config_path": "", + "os": "debian" + }, + { + "name": "OwnTracks Recorder", + "slug": "owntracks-recorder", + "desc": "OwnTracks Recorder stores and serves the location data published by the OwnTracks apps for iOS and Android. It subscribes to an MQTT broker, keeps the history in a local LMDB store, and provides a web interface plus an HTTP API for maps, tracks and friend positions - a self-hosted alternative to commercial location sharing.", + "script": "ct/owntracks-recorder.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/owntracks-recorder.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/owntracks-recorder.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00016" + ], + "category_names": [ + "IoT & Smart Home" + ], + "notes": [ + "A local Mosquitto broker is installed and the recorder subscribes to it on 127.0.0.1:1883. Configure the OwnTracks app on your phone to publish to :1883 in MQTT mode.", + "Location history is stored in /opt/owntracks_data (LMDB plus the recorder's own store), outside the app directory. Back that up - it is the entire tracking history.", + "Installed from the official OwnTracks apt repository (repo.owntracks.org/debian), so updates go through apt. The recorder can also run in HTTP mode instead of MQTT - see the upstream README." + ], + "warnings": [ + "Mosquitto is installed with its default configuration, which allows anonymous local connections. Before exposing port 1883 beyond your LAN, add authentication and TLS in /etc/mosquitto/conf.d/." + ], + "port": 8083, + "website": "https://owntracks.org/", + "documentation": "https://github.com/owntracks/recorder#readme", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/owntracks.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", "os": "debian" }, { @@ -14203,7 +15797,7 @@ "execute_in": [ "lxc" ], - "config_path": "/etc/oxicloud/.env", + "config_path": "", "os": "debian" }, { @@ -14247,10 +15841,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00021" + "scriptcat000027" ], "category_names": [ - "Webservers & Proxies" + "Remote Access & VPN" ], "notes": [ "Type `journalctl -u pangolin | grep -oP 'Token:\\s*\\K\\w+'` into LXC console to get admin token which you will use to create admin account.", @@ -14271,7 +15865,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/pangolin/config/config.yml", + "config_path": "", "os": "debian" }, { @@ -14284,10 +15878,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00020" + "scriptcat000026" ], "category_names": [ - "AI / Coding & Dev-Tools" + "Productivity & Workflows" ], "notes": [ "Credentials and the initial CEO bootstrap invite are stored in `~/paperclip.creds`. Open the invite link to complete admin setup; generate a new one with `pnpm paperclipai auth bootstrap-ceo` from `/opt/paperclip` after sourcing `.env`.", @@ -14319,9 +15913,11 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ + "scriptcat00012", "scriptcat00020" ], "category_names": [ + "Documents & Notes", "AI / Coding & Dev-Tools" ], "notes": [], @@ -14339,7 +15935,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/paperless-ai/data/.env", + "config_path": "", "os": "debian" }, { @@ -14352,9 +15948,11 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ + "scriptcat00012", "scriptcat00020" ], "category_names": [ + "Documents & Notes", "AI / Coding & Dev-Tools" ], "notes": [ @@ -14372,7 +15970,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/paperless-gpt-data/.env", + "config_path": "", "os": "debian" }, { @@ -14407,7 +16005,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/paperless/paperless.conf", + "config_path": "", "os": "debian" }, { @@ -14429,7 +16027,7 @@ "First visit will prompt you to create an account", "Tesseract OCR is pre-installed for all languages", "Documents are stored in /opt/papra/app-data/documents", - "Ingestion folder available at /opt/papra/ingestion for automatic document import" + "Ingestion folder available at /opt/papra_data/ingestion for automatic document import" ], "warnings": [ "Email functionality runs in dry-run mode by default" @@ -14445,7 +16043,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/papra/apps/papra-server/.env", + "config_path": "", "os": "debian" }, { @@ -14478,7 +16076,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/partdb/.env.local", + "config_path": "", "os": "debian" }, { @@ -14512,7 +16110,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/passbolt/passbolt.php", + "config_path": "", "os": "debian" }, { @@ -14541,11 +16139,11 @@ "port": 5100, "website": "https://pwpush.com", "documentation": "https://docs.pwpush.com", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pwpush.webp", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/password-pusher.webp", "updateable": true, "privileged": false, "has_arm": true, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -14580,7 +16178,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/patchmon/backend/.env, /opt/patchmon/frontend/.env", + "config_path": "", "os": "debian" }, { @@ -14593,10 +16191,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00021" + "scriptcat00025" ], "category_names": [ - "Webservers & Proxies" + "Business & ERP" ], "notes": [ "After installation, navigate to the directory with `cd /opt/paymenter` and run `php artisan app:init`. An interactive setup will prompt you to enter your company name and application URL." @@ -14613,7 +16211,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/paymenter/.env", + "config_path": "", "default_credentials": { "username": "admin@paymenter.org", "password": "paymenter" @@ -14633,7 +16231,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within the Proxmox Backup Server shell on a bare metal system. The script will exit if it detects that it is running in a virtualized environment.", @@ -14667,7 +16265,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute this script directly on the PBS 3.x host as root.", @@ -14701,10 +16299,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00004" + "scriptcat00009" ], "category_names": [ - "Network & Firewall" + "Monitoring & Analytics" ], "notes": [], "warnings": [], @@ -14719,7 +16317,85 @@ "execute_in": [ "pve" ], - "config_path": "/etc/peanut/settings.yml", + "config_path": "", + "os": "debian" + }, + { + "name": "PeerTube", + "slug": "peertube", + "desc": "PeerTube is a federated, self-hosted video platform. Videos are distributed peer-to-peer via WebTorrent to reduce bandwidth on the origin server, and instances federate over ActivityPub so users can follow channels across the fediverse, including Mastodon.", + "script": "ct/peertube.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/peertube.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/peertube.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00013" + ], + "category_names": [ + "Media & Streaming" + ], + "notes": [ + "Videos, thumbnails and logs live in /opt/peertube_data/storage, the configuration in /opt/peertube_data/config, and metadata in the PostgreSQL database 'peertube_prod'. Transcoding is CPU-heavy - give the container more cores if you upload a lot." + ], + "warnings": [ + "The initial 'root' password is generated on first start and written to the log. Read it with: journalctl -u peertube | grep -i 'User password'", + "PeerTube does not support changing the webserver hostname after the fact - it is a documented, risky operation. Set webserver.hostname in /opt/peertube_data/config/production.yaml to your final domain BEFORE creating any content, then restart the service.", + "For federation and normal use PeerTube needs HTTPS on a public domain. The install is configured for plain HTTP on port 9000 for initial setup; put it behind a TLS reverse proxy and set webserver.https to true and port to 443." + ], + "port": 9000, + "website": "https://joinpeertube.org/", + "documentation": "https://docs.joinpeertube.org/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/peertube.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "root", + "password": "" + }, + "os": "debian" + }, + { + "name": "PegaProx", + "slug": "pegaprox", + "desc": "PegaProx is a third-party multi-cluster web UI for Proxmox VE (and XCP-ng): unified datacenter management, cross-cluster VM migrations, intelligent load balancing, and integrated VNC/SSH consoles. It connects to your clusters remotely over the Proxmox API and SSH and stores its config in an encrypted local SQLite database.", + "script": "ct/pegaprox.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/pegaprox.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/pegaprox.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00001" + ], + "category_names": [ + "Host Management" + ], + "notes": [ + "The web UI is served over HTTPS on port 5000 with a self-signed certificate on first boot - accept the browser certificate warning. The first login creates the admin account.", + "PegaProx connects to Proxmox clusters remotely via the Proxmox API and SSH - add your cluster credentials in the web UI after first login. It does not need to run on a PVE node.", + "Besides port 5000 (web), PegaProx also uses port 5001 (VNC WebSocket) and port 5002 (SSH WebSocket) for the in-browser consoles." + ], + "warnings": [ + "PegaProx is pre-1.0 BETA software with frequent, sometimes breaking releases. This script lives in the experimental ProxmoxVED repo - snapshot/back up before updating." + ], + "port": 5000, + "website": "https://pegaprox.com/", + "documentation": "https://docs.pegaprox.com/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pegaprox.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", "os": "debian" }, { @@ -14819,7 +16495,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/photoprism/config/.env", + "config_path": "", "default_credentials": { "username": "admin", "password": "changeme" @@ -14859,7 +16535,7 @@ "lxc", "vm" ], - "config_path": "Debian/Ubuntu: /var/www/html/phpMyAdmin | Alpine: /usr/share/phpmyadmin", + "config_path": "", "os": "debian" }, { @@ -14872,10 +16548,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00004" + "scriptcat00009" ], "category_names": [ - "Network & Firewall" + "Monitoring & Analytics" ], "notes": [], "warnings": [], @@ -14890,7 +16566,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/pialert/config/pialert.conf", + "config_path": "", "os": "debian" }, { @@ -14927,7 +16603,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/pihole/pihole.toml", + "config_path": "", "os": "debian" }, { @@ -14959,7 +16635,7 @@ "lxc", "vm" ], - "config_path": "/opt/pihole-exporter.env", + "config_path": "", "os": "debian" }, { @@ -14991,13 +16667,13 @@ "lxc", "vm" ], - "config_path": "/opt/pihole-exporter.env", + "config_path": "", "os": "alpine" }, { - "name": "PiMox HAOS", + "name": "Home Assistant OS (ARM64)", "slug": "pimox-haos-vm", - "desc": "The script automates the manual process of finding, downloading and extracting the aarch64 (qcow2) disk image provided by the Home Assistant Team, creating a VM with user defined settings, importing and attaching the disk, setting the boot order and starting the VM.", + "desc": "Home Assistant OS built for ARM64 hosts running Pimox. The same appliance image as the amd64 VM, different architecture.", "script": "vm/pimox-haos-vm.sh", "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/pimox-haos-vm.sh", "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/pimox-haos-vm.sh", @@ -15010,22 +16686,22 @@ "IoT & Smart Home" ], "notes": [ - "After the script completes, click on the VM, then on the Summary or Console tab to find the VM IP." + "This VM boots an installer image. Open the console after creation and complete the installation there." ], "warnings": [], "port": 8123, - "website": "https://github.com/jiangcuo/Proxmox-Port", - "documentation": "", + "website": "https://www.home-assistant.io/", + "documentation": "https://www.home-assistant.io/docs/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/home-assistant.webp", - "updateable": true, + "updateable": false, "privileged": false, "has_arm": false, "is_dev": false, "execute_in": [ - "pve" + "vm" ], "config_path": "", - "os": "debian" + "os": "" }, { "name": "Pinchflat", @@ -15073,10 +16749,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00022" ], "category_names": [ - "Miscellaneous" + "Communication & Community" ], "notes": [ "Credentials are stored in /opt/pixelfed/.env", @@ -15097,7 +16773,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/pixelfed/.env", + "config_path": "", "os": "debian" }, { @@ -15110,10 +16786,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00025" + "scriptcat000026" ], "category_names": [ - "Business & ERP" + "Productivity & Workflows" ], "notes": [ "First user to sign up becomes the instance admin. Initial build takes 10-15 minutes.", @@ -15134,7 +16810,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/plane/apps/api/.env", + "config_path": "", "os": "debian" }, { @@ -15147,10 +16823,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat000026" ], "category_names": [ - "Documents & Notes" + "Productivity & Workflows" ], "notes": [ "Type `cat ~/planka.creds` inside LXC to see admin user and database credentials." @@ -15167,7 +16843,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/planka/.env", + "config_path": "", "os": "debian" }, { @@ -15201,7 +16877,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/plant-it/backend/server.env", + "config_path": "", "os": "debian" }, { @@ -15234,7 +16910,7 @@ "execute_in": [ "pve" ], - "config_path": "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Preferences.xml", + "config_path": "", "os": "ubuntu" }, { @@ -15300,7 +16976,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/pocket-id/.env", + "config_path": "", "os": "debian" }, { @@ -15369,9 +17045,84 @@ "execute_in": [ "pve" ], - "config_path": "/var/lib/containers/storage/volumes/hass_config/_data", + "config_path": "", "os": "debian" }, + { + "name": "Portabase", + "slug": "portabase", + "desc": "Portabase is a self-hosted dashboard to schedule, run and restore database backups for PostgreSQL, MySQL, MariaDB, MsSQL, Firebird, SQLite, MongoDB, Redis and Docker volumes. It supports retention policies, notifications and multiple storage backends (local, S3, Azure, GCS).", + "script": "ct/portabase.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/portabase.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/portabase.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00007" + ], + "category_names": [ + "Backup & Recovery" + ], + "notes": [ + "SMTP, storage backends and auth providers can be configured in /opt/portabase/.env - restart with 'systemctl restart portabase' after changes." + ], + "warnings": [ + "Change the default admin password (admin@example.com / Portabase123!) after the first login." + ], + "port": 3000, + "website": "https://portabase.io", + "documentation": "https://portabase.io/docs", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/portabase.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "admin@example.com", + "password": "Portabase123!" + }, + "os": "debian" + }, + { + "name": "Portainer", + "slug": "portainer", + "desc": "

Portainer Community Edition is a lightweight service delivery platform for containerized applications that can be used to manage Docker, Swarm, Kubernetes and ACI environments. It is designed to be as simple to deploy as it is to use. The application allows you to manage all your orchestrator resources (containers, images, volumes, networks and more) through a ‘smart’ GUI and/or an extensive API.

", + "script": "tools/addon/portainer.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/portainer.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/tools/addon/portainer.sh", + "type": "addon", + "type_id": "88xtxy57q80v38v", + "categories": [ + "scriptcat00003" + ], + "category_names": [ + "Containers & Docker" + ], + "notes": [ + "This is an addon script intended to be used on top of an existing Docker container.", + "Execute within an existing LXC console (Debian / Ubuntu / Alpine supported)", + "To update, run the addon script again and select Update, or use: bash <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/portainer.sh)" + ], + "warnings": [], + "port": 9443, + "website": "https://www.portainer.io/", + "documentation": "https://docs.portainer.io/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/portainer.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": false, + "execute_in": [ + "lxc", + "vm" + ], + "config_path": "", + "os": "" + }, { "name": "PBS Post Install", "slug": "post-pbs-install", @@ -15385,7 +17136,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Proxmox Backup Server ONLY", @@ -15407,6 +17158,43 @@ "config_path": "", "os": "debian" }, + { + "name": "Proxmox Datacenter Manager Post Install", + "slug": "post-pdm-install", + "desc": "This script performs post-installation routines on a Proxmox Datacenter Manager host: it corrects the Debian sources, manages the pdm-enterprise, pdm-no-subscription and pdm-test repositories, optionally removes the subscription nag, and runs a distribution upgrade. Each step is a separate prompt, so nothing is changed without being asked.", + "script": "tools/pve/post-pdm-install.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/post-pdm-install.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/tools/pve/post-pdm-install.sh", + "type": "pve", + "type_id": "1uyjfno0fpf5buh", + "categories": [ + "scriptcat00001" + ], + "category_names": [ + "Host Management" + ], + "notes": [ + "Execute within the Proxmox Datacenter Manager shell. The script aborts if the proxmox-datacenter-manager package is not installed.", + "After the run, clear your browser cache or do a hard reload (Ctrl+Shift+R) before using the PDM web interface, otherwise the old JavaScript stays cached." + ], + "warnings": [ + "The pdm-enterprise repository is enabled by default after a fresh install and makes 'apt update' fail without a subscription. Disabling it and enabling pdm-no-subscription instead is the usual fix.", + "Proxmox Datacenter Manager is still under active development. Do not make it the only management path to your nodes - keep direct access to the PVE web interfaces." + ], + "port": 0, + "website": "https://pdm.proxmox.com/", + "documentation": "https://pdm.proxmox.com/docs/installation.html", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/proxmox.webp", + "updateable": false, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [ + "pdm" + ], + "config_path": "", + "os": "" + }, { "name": "PMG Post Install", "slug": "post-pmg-install", @@ -15420,7 +17208,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within the Proxmox Mail Gateway Shell", @@ -15456,7 +17244,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within the Proxmox shell", @@ -15555,10 +17343,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00019" + "scriptcat00019", + "scriptcat00022" ], "category_names": [ - "Automation & Scheduling" + "Automation & Scheduling", + "Communication & Community" ], "notes": [ "NEXT_PUBLIC_* variables are baked at build time. If you change the IP/URL or add social provider keys, rebuild with: postiz-rebuild" @@ -15577,7 +17367,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/postiz/.env", + "config_path": "", "os": "debian" }, { @@ -15610,7 +17400,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/poweradmin/config/settings.php", + "config_path": "", "os": "debian" }, { @@ -15640,7 +17430,7 @@ "updateable": true, "privileged": false, "has_arm": true, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -15679,7 +17469,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/privatebin/cfg/conf.php", + "config_path": "", "os": "debian" }, { @@ -15710,7 +17500,7 @@ "execute_in": [ "pve" ], - "config_path": "/config", + "config_path": "", "os": "debian" }, { @@ -15743,7 +17533,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/projectsend/includes/sys.config.php", + "config_path": "", "os": "debian" }, { @@ -15774,7 +17564,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/prometheus/prometheus.yml", + "config_path": "", "os": "debian" }, { @@ -15805,7 +17595,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/prometheus/prometheus.yml", + "config_path": "", "os": "alpine" }, { @@ -15836,7 +17626,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/alertmanager/alertmanager.yml", + "config_path": "", "os": "debian" }, { @@ -15849,11 +17639,9 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00001", "scriptcat00009" ], "category_names": [ - "Proxmox & Virtualization", "Monitoring & Analytics" ], "notes": [ @@ -15871,7 +17659,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/blackbox-exporter/blackbox.yml", + "config_path": "", "os": "debian" }, { @@ -15903,7 +17691,7 @@ "lxc", "vm" ], - "config_path": "/etc/prometheus-paperless-ngx-exporter/config.env", + "config_path": "", "os": "debian" }, { @@ -15920,7 +17708,7 @@ "scriptcat00009" ], "category_names": [ - "Proxmox & Virtualization", + "Host Management", "Monitoring & Analytics" ], "notes": [ @@ -15938,7 +17726,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/prometheus-pve-exporter/pve.yml", + "config_path": "", "os": "debian" }, { @@ -15951,10 +17739,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00018" + "scriptcat00022" ], "category_names": [ - "MQTT & Messaging" + "Communication & Community" ], "notes": [ "After install, run protonmailbridge-configure inside the container for first-time setup.", @@ -16004,7 +17792,7 @@ "execute_in": [ "pve" ], - "config_path": "/var/lib/prowlarr/", + "config_path": "", "os": "debian" }, { @@ -16020,7 +17808,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [], "warnings": [ @@ -16058,7 +17846,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Set a root password if using autologin. This will be the Proxmox-Datacenter-Manager password. `sudo passwd root`" @@ -16091,7 +17879,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [], "warnings": [ @@ -16128,7 +17916,7 @@ "scriptcat00018" ], "category_names": [ - "MQTT & Messaging" + "Messaging & Queues" ], "notes": [ "After installation, the MQTT endpoint must be configured. The configuration file is located within the LXC container at: `/opt/.config/ps5-mqtt/config.json`" @@ -16145,7 +17933,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/.config/ps5-mqtt/config.json", + "config_path": "", "os": "debian" }, { @@ -16178,7 +17966,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/pterodactyl-panel/.env", + "config_path": "", "os": "debian" }, { @@ -16211,13 +17999,13 @@ "execute_in": [ "pve" ], - "config_path": "/etc/pterodactyl/config.yml", + "config_path": "", "os": "debian" }, { "name": "Pulse", "slug": "pulse", - "desc": "A lightweight monitoring application for Proxmox VE that displays real-time status for VMs and containers via a simple web interface.", + "desc": "

Self-hosted monitoring for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway, extending to Docker, TrueNAS, and desktop machines, with live state, history, alerts, backup and recovery visibility, and scheduled health checks.

", "script": "ct/pulse.sh", "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/pulse.sh", "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/pulse.sh", @@ -16229,11 +18017,14 @@ "category_names": [ "Monitoring & Analytics" ], - "notes": [], + "notes": [ + "Get the first-run bootstrap token on the Proxmox host with `pct exec -- /usr/local/bin/pulse bootstrap-token`, then open the web UI and complete the setup wizard.", + "Add a host node under Settings then Infrastructure, and run the setup command Pulse generates on the Proxmox host." + ], "warnings": [], "port": 7655, "website": "https://github.com/rcourtman/Pulse", - "documentation": "", + "documentation": "https://github.com/rcourtman/Pulse/blob/main/docs/README.md", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pulse.webp", "updateable": true, "privileged": false, @@ -16242,7 +18033,43 @@ "execute_in": [ "pve" ], - "config_path": "/etc/pulse", + "config_path": "", + "os": "debian" + }, + { + "name": "Puter", + "slug": "puter", + "desc": "Puter is an open-source personal cloud and web desktop environment that runs in your browser, providing a full desktop experience with file management, app ecosystem, and cloud storage.", + "script": "ct/puter.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/puter.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/puter.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat000026" + ], + "category_names": [ + "Productivity & Workflows" + ], + "notes": [ + "Access via http://<IP>.nip.io:4100 (not the raw IP). nip.io is required for Puter's subdomain routing.", + "Configuration is stored in /etc/puter/config.json and data in /var/puter." + ], + "warnings": [ + "Camera, microphone, and other media capture features require HTTPS (a secure context). They will not work on the default HTTP setup." + ], + "port": 4100, + "website": "https://puter.com/", + "documentation": "https://docs.puter.com/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/puter.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", "os": "debian" }, { @@ -16258,7 +18085,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute this script inside the Proxmox shell as root.", @@ -16294,7 +18121,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [], "warnings": [], @@ -16309,7 +18136,123 @@ "execute_in": [ "pve" ], - "config_path": "/opt/PVEScripts-Local/.env", + "config_path": "", + "os": "debian" + }, + { + "name": "PVE-UPS", + "slug": "pve-ups", + "desc": "PVE-UPS is a web-based UPS shutdown appliance for Proxmox VE. It monitors UPS devices via SNMP (RFC 1628 or vendor MIB) or NUT and automatically shuts down Proxmox hosts during power outages, replacing vendor-locked solutions like APC PowerChute.", + "script": "ct/pve-ups.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/pve-ups.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/pve-ups.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00001", + "scriptcat00009" + ], + "category_names": [ + "Host Management", + "Monitoring & Analytics" + ], + "notes": [ + "Requires a UPS with an SNMP network card (RFC 1628 or a vendor MIB such as APC PowerNet) or a reachable NUT server on TCP port 3493." + ], + "warnings": [ + "Set a password and configure your Proxmox API token (requires Sys.PowerMgmt privilege) through the first-access setup wizard at http://CT-IP:8080." + ], + "port": 8080, + "website": "https://github.com/ffind-dev/pve-ups", + "documentation": "https://github.com/ffind-dev/pve-ups/blob/main/README.md", + "logo": "https://github.com/ffind-dev/pve-ups/raw/refs/heads/main/Screenshots/logo/favicon.svg", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, + { + "name": "pyLoad", + "slug": "pyload", + "desc": "pyLoad is a lightweight download manager written in Python. It handles one-click hosters, container files (DLC, RSDF, CCF) and direct links, supports premium accounts, captcha solving and a plugin system, and is controlled through a web interface, a CLI or third-party clients.", + "script": "ct/pyload.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/pyload.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/pyload.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00011" + ], + "category_names": [ + "Files & Downloads" + ], + "notes": [ + "pyLoad binds its web interface to localhost by default. The installer rewrites the webui host in /opt/pyload_data/userdir/settings/pyload.cfg to 0.0.0.0 so the container is reachable by IP - do not set it back to localhost unless you only access it through a reverse proxy on the same host.", + "Downloads go to /opt/pyload_data/downloads and the configuration lives in /opt/pyload_data/userdir. Both are outside the app directory so they survive updates.", + "pyLoad is still in pre-release; the installer uses the pyload-ng pre-release channel because no stable release exists yet.", + "The download folder defaults to /opt/pyload_data/downloads and can be changed in the web UI; the setting is stored in /opt/pyload_data/userdir/settings/pyload.cfg and survives updates." + ], + "warnings": [ + "Log in at http://:8000 with pyload/pyload and change the password immediately.", + "Do not set 'Change user of running process' in the web UI. pyLoad keeps its Jinja cache in /tmp/pyload, which the new user cannot write, and the web UI then answers with error 500. Set file ownership on downloads instead and leave the process as root." + ], + "port": 8000, + "website": "https://pyload.net/", + "documentation": "https://github.com/pyload/pyload/wiki", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/pyload.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "pyload", + "password": "pyload" + }, + "os": "debian" + }, + { + "name": "qBit Manage", + "slug": "qbit-manage", + "desc": "qBit Manage keeps a qBittorrent instance tidy: tagging by tracker, cross-seed handling, orphaned file cleanup, share-limit enforcement, recheck of paused torrents and automatic removal of unregistered ones. It runs on a schedule and ships a web UI to configure the rules and inspect runs.", + "script": "ct/qbit-manage.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/qbit-manage.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/qbit-manage.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00014" + ], + "category_names": [ + "*Arr Suite" + ], + "notes": [ + "The schedule defaults to once a day (QBT_SCHEDULE=1440 minutes) in /opt/qbit-manage.env. Accepts minutes or a cron expression." + ], + "warnings": [ + "Edit /opt/qbit-manage_data/config.yml (the upstream sample is placed there on install) and point the qbt section at your qBittorrent host, port and credentials, then run 'systemctl restart qbit-manage'. Until then the run fails on every schedule tick.", + "For the cleanup features to work, this container needs to see the same paths as qBittorrent - mount the download directories into it identically, otherwise orphan detection will misfire." + ], + "port": 8181, + "website": "https://github.com/StuffAnThings/qbit_manage", + "documentation": "https://github.com/StuffAnThings/qbit_manage/wiki", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/qbittorrent.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", "os": "debian" }, { @@ -16340,7 +18283,7 @@ "execute_in": [ "pve" ], - "config_path": "$HOME/.config/qBittorrent/qBittorrent.conf", + "config_path": "", "default_credentials": { "username": "admin", "password": "changeme" @@ -16376,7 +18319,7 @@ "lxc", "vm" ], - "config_path": "/opt/qbittorrent-exporter.env", + "config_path": "", "os": "debian" }, { @@ -16408,7 +18351,7 @@ "lxc", "vm" ], - "config_path": "/opt/qbittorrent-exporter.env", + "config_path": "", "os": "alpine" }, { @@ -16439,7 +18382,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/qdrant/config.yaml", + "config_path": "", "os": "debian" }, { @@ -16470,7 +18413,7 @@ "execute_in": [ "pve" ], - "config_path": "/root/.config/qui/config.toml", + "config_path": "", "os": "debian" }, { @@ -16486,7 +18429,7 @@ "scriptcat00018" ], "category_names": [ - "MQTT & Messaging" + "Messaging & Queues" ], "notes": [], "warnings": [], @@ -16501,7 +18444,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/rabbitmq/rabbitmq.conf", + "config_path": "", "default_credentials": { "username": "proxmox", "password": "proxmox" @@ -16528,7 +18471,7 @@ ], "warnings": [], "port": 80, - "website": "https://count.racku.la", + "website": "https://www.racku.la/", "documentation": "https://github.com/RackulaLives/Rackula", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/rackula.webp", "updateable": true, @@ -16582,10 +18525,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat000026" ], "category_names": [ - "Miscellaneous" + "Productivity & Workflows" ], "notes": [ "To view the user credentials : `cat radicale.creds`", @@ -16603,7 +18546,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/radicale/config", + "config_path": "", "os": "debian" }, { @@ -16637,7 +18580,7 @@ "execute_in": [ "pve" ], - "config_path": "~/.config/rclone/rclone.conf", + "config_path": "", "os": "debian" }, { @@ -16671,7 +18614,7 @@ "execute_in": [ "pve" ], - "config_path": "~/.config/rclone/rclone.conf", + "config_path": "", "os": "alpine" }, { @@ -16702,7 +18645,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/rdtc/appsettings.json", + "config_path": "", "os": "debian" }, { @@ -16715,18 +18658,18 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat000026" ], "category_names": [ - "Documents & Notes" + "Productivity & Workflows" ], "notes": [ "Currently the Service create an 500 HTTP issue, you should check this Solution until its fixed in Upstream. https://github.com/community-scripts/ProxmoxVE/pull/12705#issuecomment-4022106365." ], "warnings": [], "port": 3000, - "website": "https://rxresume.org", - "documentation": "https://docs.rxresume.org/", + "website": "https://rxresu.me/", + "documentation": "https://docs.rxresu.me", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/reactive-resume.webp", "updateable": true, "privileged": false, @@ -16735,7 +18678,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/reactive-resume/.env", + "config_path": "", "os": "debian" }, { @@ -16766,7 +18709,44 @@ "execute_in": [ "pve" ], - "config_path": "/opt/readeck/config.toml", + "config_path": "", + "os": "debian" + }, + { + "name": "ReadMeABook", + "slug": "readmeabook", + "desc": "ReadMeABook is a request and download platform for audiobooks - the audiobook counterpart to Sonarr and Radarr. Users request titles, ReadMeABook finds and fetches them, and the result drops into a library that Audiobookshelf or a similar player can serve.", + "script": "ct/readmeabook.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/readmeabook.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/readmeabook.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00014" + ], + "category_names": [ + "*Arr Suite" + ], + "notes": [ + "Create your account through the web UI at http://:3030 on first visit - the first user becomes the administrator.", + "NEXTAUTH_SECRET is generated at install and stored in /opt/readmeabook/.env. Changing it invalidates all existing sessions. The update path backs the file up and restores it around the source refresh.", + "Next.js build with Prisma migrations against the local PostgreSQL. The build needs roughly 4 GB RAM; less tends to end in an out-of-memory kill." + ], + "warnings": [ + "Mount your audiobook library into the LXC and point the download directory at it, otherwise finished downloads stay inside the container." + ], + "port": 3030, + "website": "https://github.com/kikootwo/ReadMeABook", + "documentation": "https://github.com/kikootwo/ReadMeABook#readme", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/readmeabook.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", "os": "debian" }, { @@ -16834,7 +18814,7 @@ "execute_in": [ "pve" ], - "config_path": "Debian /etc/redis/redis.conf | Alpine: /etc/redis.conf", + "config_path": "", "os": "debian" }, { @@ -16867,7 +18847,7 @@ "execute_in": [ "pve" ], - "config_path": "Debian /etc/redis/redis.conf | Alpine: /etc/redis.conf", + "config_path": "", "os": "alpine" }, { @@ -16898,7 +18878,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/reitti/application.properties", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin" @@ -16935,7 +18915,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/resilio-sync/config.json", + "config_path": "", "os": "debian" }, { @@ -16968,7 +18948,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/revealjs/gulpfile.js", + "config_path": "", "os": "debian" }, { @@ -16999,7 +18979,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/romm/.env", + "config_path": "", "os": "debian" }, { @@ -17012,10 +18992,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00013" ], "category_names": [ - "Miscellaneous" + "Media & Streaming" ], "notes": [], "warnings": [], @@ -17026,7 +19006,7 @@ "updateable": true, "privileged": false, "has_arm": false, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -17046,7 +19026,7 @@ "scriptcat00002" ], "category_names": [ - "Operating Systems" + "Operating Systems & Appliances" ], "notes": [ "This is an addon script intended to be used on top of an existing Docker container.", @@ -17068,7 +19048,7 @@ "lxc", "vm" ], - "config_path": "/opt/runtipi/state/settings.json", + "config_path": "", "os": "debian" }, { @@ -17081,10 +19061,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00021" + "scriptcat000027" ], "category_names": [ - "Webservers & Proxies" + "Remote Access & VPN" ], "notes": [ "Check our configuration guide for help: `https://github.com/community-scripts/ProxmoxVE/discussions/2388`", @@ -17117,10 +19097,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00021" + "scriptcat000027" ], "category_names": [ - "Webservers & Proxies" + "Remote Access & VPN" ], "notes": [ "Check our configuration guide for help: `https://github.com/community-scripts/ProxmoxVE/discussions/2388`", @@ -17144,12 +19124,12 @@ "os": "alpine" }, { - "name": "RustyPaste", - "slug": "rustypaste", - "desc": "Rustypaste is a minimal file upload/pastebin service.", - "script": "ct/rustypaste.sh", - "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/rustypaste.sh", - "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/rustypaste.sh", + "name": "RustFS", + "slug": "rustfs", + "desc": "RustFS is an S3-compatible object storage server written in Rust. It covers the S3 core API, versioning, bucket replication, lifecycle management, bitrot protection and multi-tenancy, and is a drop-in target for anything that speaks S3 - backup tools, media apps or CI artifacts. Frequently named as a MinIO alternative.", + "script": "ct/rustfs.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/rustfs.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/rustfs.sh", "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ @@ -17159,21 +19139,25 @@ "Files & Downloads" ], "notes": [ - "When updating the script it will backup the whole project including all the uploaded files, make sure to extract it to a safe location or remove" + "Two ports: 9000 serves the S3 API, 9001 the web console. Object data lives in /opt/rustfs_data/data - back that up, or better, give the container a dedicated disk and point RUSTFS_VOLUMES at it.", + "Distributed mode and lifecycle management are marked as under testing upstream. Single-node operation is the supported path today.", + "The binary comes from the official artifact server at dl.rustfs.com rather than GitHub, because the project publishes tags but no release assets. The URL is a stable 'latest' path, so updates just re-download it." ], - "warnings": [], - "port": 8000, - "website": "https://github.com/orhun/rustypaste", - "documentation": "https://github.com/orhun/rustypaste", - "logo": "https://github.com/orhun/rustypaste/raw/master/img/rustypaste_logo.png", + "warnings": [ + "Access key and secret key are generated at install and stored in /etc/default/rustfs. Use them to log into the console on port 9001 and for any S3 client." + ], + "port": 9001, + "website": "https://rustfs.com/", + "documentation": "https://docs.rustfs.com/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/rustfs.webp", "updateable": true, "privileged": false, - "has_arm": false, - "is_dev": false, + "has_arm": true, + "is_dev": true, "execute_in": [ "lxc" ], - "config_path": "/opt/rustypaste/config.toml", + "config_path": "", "os": "debian" }, { @@ -17206,7 +19190,40 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/rustypaste/config.toml", + "config_path": "", + "os": "debian" + }, + { + "name": "RustyPaste", + "slug": "rustypaste", + "desc": "Rustypaste is a minimal file upload/pastebin service.", + "script": "ct/rustypaste.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/rustypaste.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/rustypaste.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00011" + ], + "category_names": [ + "Files & Downloads" + ], + "notes": [ + "When updating the script it will backup the whole project including all the uploaded files, make sure to extract it to a safe location or remove" + ], + "warnings": [], + "port": 8000, + "website": "https://github.com/orhun/rustypaste", + "documentation": "https://github.com/orhun/rustypaste", + "logo": "https://github.com/orhun/rustypaste/raw/master/img/rustypaste_logo.png", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", "os": "alpine" }, { @@ -17237,7 +19254,7 @@ "execute_in": [ "pve" ], - "config_path": "/.sabnzbd/sabnzbd.ini", + "config_path": "", "os": "debian" }, { @@ -17308,7 +19325,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/salt/.env", + "config_path": "", "os": "debian" }, { @@ -17340,7 +19357,7 @@ "updateable": true, "privileged": false, "has_arm": false, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -17360,7 +19377,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within the Proxmox shell" @@ -17390,9 +19407,11 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ + "scriptcat00006", "scriptcat00009" ], "category_names": [ + "Authentication & Security", "Monitoring & Analytics" ], "notes": [ @@ -17411,7 +19430,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/scanopy/.env, OIDC: /opt/scanopy/oidc.toml", + "config_path": "", "os": "debian" }, { @@ -17444,7 +19463,49 @@ "execute_in": [ "pve" ], - "config_path": "/scraparr/config/config.yaml", + "config_path": "", + "os": "debian" + }, + { + "name": "Seanime", + "slug": "seanime", + "desc": "Seanime is a self-hosted server for an anime and manga library, built around AniList. It scans local media, tracks progress back to AniList, searches torrents through extension-based providers, downloads through qBittorrent, Transmission, Torbox, Real-Debrid, AllDebrid or Premiumize, streams torrent and debrid content straight to a player, auto-downloads airing episodes, and includes a manga reader and online streaming via extensions.", + "script": "ct/seanime.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/seanime.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/seanime.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00013" + ], + "category_names": [ + "Media & Streaming" + ], + "notes": [ + "A random server password is generated at install and saved to `/root/seanime.creds`. Seanime authenticates with that password alone — there is no username. Change it under `[server]` in /opt/seanime-data/config.toml and restart seanime.service.", + "Attach your existing library to the container, then point Seanime at it under Settings: pct set -mp0 /path/on/host,mp=/mnt/anime", + "GPU passthrough is enabled by default during installation and can be turned off in the Advanced install options. The matching Intel/AMD/NVIDIA drivers and jellyfin-ffmpeg7 are installed for it. Transcoding itself is off by default: enable it under Settings > Transcoding / Direct Play, then set Hardware acceleration to Intel (QSV), Intel (QSV Low-Power), VAAPI or NVIDIA (NVENC). That choice is stored in Seanime's database, so the installer cannot preset it.", + "The data directory /opt/seanime-data lives on the container disk and holds config.toml, the database, logs, the transcode cache, downloaded manga and — when the built-in torrent client is used — downloads. It is kept outside /opt/seanime so updates can replace the binary cleanly. Increase the disk size or bind-mount storage before building a large library." + ], + "warnings": [ + "Seanime is built around a single AniList account per instance and has no multi-user accounts or role-based access. Trakt and SIMKL are not supported, and MyAnimeList is limited to optional progress sync." + ], + "port": 43211, + "website": "https://seanime.app/", + "documentation": "https://seanime.app/docs", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/seanime.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "", + "password": "auto-generated" + }, "os": "debian" }, { @@ -17457,10 +19518,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00004" ], "category_names": [ - "Miscellaneous" + "Network & Firewall" ], "notes": [], "warnings": [], @@ -17475,7 +19536,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/searxng/settings.yml", + "config_path": "", "os": "debian" }, { @@ -17513,6 +19574,42 @@ "config_path": "", "os": "debian" }, + { + "name": "Securo", + "slug": "securo", + "desc": "Securo is a self-hosted personal finance manager for tracking accounts, transactions, budgets and assets. It ships a FastAPI backend with PostgreSQL and Celery, a React frontend, optional bank synchronization (Pluggy, Enable Banking, SimpleFIN), OIDC login and optional AI agents. All data stays on your own infrastructure.", + "script": "ct/securo.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/securo.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/securo.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00023" + ], + "category_names": [ + "Finance & Budgeting" + ], + "notes": [ + "Open https:// and accept the self-signed certificate, then register the first account. HTTPS is served by nginx (self-signed) because the frontend and passkey/WebAuthn login require a secure browser context.", + "Application secrets and the database URL live in /opt/securo_data/.env, kept outside the app directory so they survive updates. Optional integrations (Pluggy, Enable Banking, SimpleFIN, OIDC, AI agents) can be added there; restart with 'systemctl restart securo securo-worker securo-beat' after changes." + ], + "warnings": [ + "Passkey/WebAuthn registration does not work against a bare IP address (WebAuthn requires a real domain). Use email/password login on the IP, or put Securo behind a real domain with valid TLS to enable passkeys." + ], + "port": 443, + "website": "https://www.usesecuro.com", + "documentation": "https://github.com/securo-finance/securo", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/securo.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, { "name": "seelf", "slug": "seelf", @@ -17556,10 +19653,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00013" + "scriptcat00013", + "scriptcat00014" ], "category_names": [ - "Media & Streaming" + "Media & Streaming", + "*Arr Suite" ], "notes": [], "warnings": [], @@ -17574,7 +19673,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/seerr/seerr.conf", + "config_path": "", "os": "debian" }, { @@ -17608,7 +19707,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/semaphore/config.json", + "config_path": "", "default_credentials": { "username": "admin@community-scripts.org", "password": "" @@ -17643,7 +19742,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/sftpgo/sftpgo.json", + "config_path": "", "os": "debian" }, { @@ -17677,7 +19776,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/shelfmark", + "config_path": "", "os": "debian" }, { @@ -17708,12 +19807,12 @@ "execute_in": [ "pve" ], - "config_path": "/opt/Shinobi/conf.json", + "config_path": "", "default_credentials": { "username": "admin@shinobi.video", "password": "admin" }, - "os": "debian" + "os": "ubuntu" }, { "name": "Shiori", @@ -17743,7 +19842,7 @@ "updateable": true, "privileged": false, "has_arm": false, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -17764,10 +19863,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00021" ], "category_names": [ - "Miscellaneous" + "Webservers & Proxies" ], "notes": [ "Configure your short domain by editing DEFAULT_DOMAIN in /opt/shlink/.env and restarting the service.", @@ -17790,6 +19889,43 @@ "config_path": "", "os": "debian" }, + { + "name": "Shoko Server", + "slug": "shoko", + "desc": "Shoko Server organizes anime collections. It identifies files by hash against AniDB, pulls in metadata from TvDB, TMDB and Trakt, and tracks watched state and series relations. Plugins expose the result to Plex, Jellyfin and Kodi, so the library stays correct even with inconsistently named files.", + "script": "ct/shoko.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/shoko.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/shoko.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00013" + ], + "category_names": [ + "Media & Streaming" + ], + "notes": [ + "Your anime files are not stored in the container - mount the library into the LXC and add it as an import folder. Shoko's own database and settings live in /opt/shoko_data.", + "Runs on the framework-dependent release build with the ASP.NET Core 8 runtime from Debian, so no .NET SDK and no compilation is needed. Upstream also documents a source build, which this script does not use." + ], + "warnings": [ + "Complete the first-run wizard at http://:8111. An AniDB account is required - Shoko identifies files against AniDB and without it the whole point is lost.", + "AniDB enforces strict rate limits and bans clients that hammer the API. Leave the default throttling alone when importing a large collection, or the account gets temporarily banned." + ], + "port": 8111, + "website": "https://shokoanime.com/", + "documentation": "https://docs.shokoanime.com/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/shoko-server.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, { "name": "SigNoz", "slug": "signoz", @@ -17820,7 +19956,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/signoz/conf/systemd.env", + "config_path": "", "os": "debian" }, { @@ -17854,6 +19990,46 @@ "config_path": "", "os": "debian" }, + { + "name": "SimpleLogin", + "slug": "simplelogin", + "desc": "SimpleLogin is an open-source email alias solution that lets you create anonymous email aliases to protect your real email address from spam, trackers and data breaches.", + "script": "ct/simplelogin.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/simplelogin.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/simplelogin.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00006", + "scriptcat00022" + ], + "category_names": [ + "Authentication & Security", + "Communication & Community" + ], + "notes": [ + "DKIM keys are generated in /opt/simplelogin/dkim/. The ready-to-use DNS TXT record is saved to /opt/simplelogin/dkim/dkim.dns.txt (public key also at dkim.public.key). Add it as a TXT record at dkim._domainkey.yourdomain.com, replacing EMAIL_DOMAIN with your domain.", + "Create your first admin account by visiting the web interface and registering." + ], + "warnings": [ + "After installation, update EMAIL_DOMAIN and URL in /opt/simplelogin/.env with your actual domain and configure DNS (MX, SPF, DKIM) accordingly.", + "A working SMTP setup (Postfix + valid domain/DNS) is required. Registration sends an activation email that must be delivered.", + "For real email delivery, edit /etc/postfix/main.cf with your values: myhostname (e.g. sl.yourdomain.com), mydomain (yourdomain.com), myorigin = $mydomain, inet_interfaces = all, and add your LXC subnet to mynetworks; then 'systemctl restart postfix'. SimpleLogin requires a fully configured mail domain (MX, SPF, DKIM, PTR/rDNS)." + ], + "port": 80, + "website": "https://simplelogin.io/", + "documentation": "https://github.com/simple-login/app/blob/master/docs/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/simplelogin.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, { "name": "Skylite-UX", "slug": "skylite-ux", @@ -17918,7 +20094,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/slskd/config/slskd.yml", + "config_path": "", "default_credentials": { "username": "slskd", "password": "slskd" @@ -17953,7 +20129,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/smokeping/config.d/Targets", + "config_path": "", "os": "debian" }, { @@ -18025,7 +20201,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/snipe-it/.env", + "config_path": "", "os": "debian" }, { @@ -18056,7 +20232,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/snowshare.env", + "config_path": "", "os": "debian" }, { @@ -18069,13 +20245,16 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00023" + "scriptcat00023", + "scriptcat00025" ], "category_names": [ - "Finance & Budgeting" + "Finance & Budgeting", + "Business & ERP" ], "notes": [ - "App startup could be slow. Once the app has started, complete the setup wizard via the web interface on first access." + "App startup could be slow. Once the app has started, complete the setup wizard via the web interface on first access.", + "Reverse proxy: the container ships with HTTPS disabled and its bundled webserver bound to all hostnames, so terminate TLS on your proxy (HAProxy, nginx, Traefik, Cloudflare) and forward to http://:8765. To let the app manage its own certificate instead, set SOLIDINVOICE_DOMAIN and disable SOLIDINVOICE_DISABLE_HTTPS in /etc/solidinvoice/solidinvoice.env." ], "warnings": [], "port": 8765, @@ -18085,7 +20264,7 @@ "updateable": true, "privileged": false, "has_arm": true, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -18102,10 +20281,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00025" + "scriptcat00025", + "scriptcat000026" ], "category_names": [ - "Business & ERP" + "Business & ERP", + "Productivity & Workflows" ], "notes": [ "Create your first account by registering via the web interface." @@ -18135,12 +20316,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00020", - "scriptcat00019" + "scriptcat00020" ], "category_names": [ - "AI / Coding & Dev-Tools", - "Automation & Scheduling" + "AI / Coding & Dev-Tools" ], "notes": [], "warnings": [], @@ -18155,7 +20334,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/sonarqube/conf/sonar.properties", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin" @@ -18190,7 +20369,7 @@ "execute_in": [ "pve" ], - "config_path": "/var/lib/sonarr/config.xml", + "config_path": "", "os": "debian" }, { @@ -18223,7 +20402,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/sonobarr/.env", + "config_path": "", "os": "debian" }, { @@ -18258,7 +20437,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/soulsync/config", + "config_path": "", "os": "debian" }, { @@ -18289,7 +20468,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/sparkyfitness/.env", + "config_path": "", "os": "debian" }, { @@ -18321,7 +20500,7 @@ "lxc", "vm" ], - "config_path": "/etc/sparkyfitness-garmin/.env", + "config_path": "", "os": "" }, { @@ -18352,7 +20531,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/speedtest-tracker/.env", + "config_path": "", "default_credentials": { "username": "admin@example.com", "password": "password" @@ -18424,7 +20603,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/split-pro/.env", + "config_path": "", "os": "debian" }, { @@ -18473,10 +20652,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00024" + "scriptcat00016" ], "category_names": [ - "Gaming & Leisure" + "IoT & Smart Home" ], "notes": [], "warnings": [], @@ -18491,7 +20670,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/spoolman/.env", + "config_path": "", "os": "debian" }, { @@ -18524,7 +20703,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/sportarr/.env, /opt/sportarr-data/config/config.xml", + "config_path": "", "os": "debian" }, { @@ -18611,10 +20790,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00004" + "scriptcat00021" ], "category_names": [ - "Network & Firewall" + "Webservers & Proxies" ], "notes": [ "Create a proxy user after installation with `htpasswd /etc/squid/passwords `." @@ -18634,6 +20813,83 @@ "config_path": "", "os": "debian" }, + { + "name": "Stalwart", + "slug": "stalwart", + "desc": "Stalwart is an all-in-one mail and collaboration server written in Rust. A single binary provides SMTP, IMAP, POP3, JMAP, CalDAV, CardDAV and WebDAV plus spam filtering, DKIM/SPF/DMARC and a web admin interface, with no external database required for a default install.", + "script": "ct/stalwart.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/stalwart.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/stalwart.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00022" + ], + "category_names": [ + "Communication & Community" + ], + "notes": [ + "Configuration and mail data live in /opt/stalwart_data (etc, data, logs), outside the app directory, so they survive updates. Include this directory in your backups.", + "The default datastore is embedded RocksDB - no external database needed. PostgreSQL, MySQL, SQLite, S3, Redis and NATS backends can be configured later through the admin UI." + ], + "warnings": [ + "On first start Stalwart runs in bootstrap mode and generates a temporary admin password. Read it with: journalctl -u stalwart | grep -A8 'bootstrap mode'. Then finish setup at http://:8080/admin.", + "Running a mail server that is reachable from the internet needs correct DNS (MX, SPF, DKIM, DMARC, rDNS/PTR) and a valid TLS certificate. Set STALWART_HOSTNAME and STALWART_PUBLIC_URL in /opt/stalwart_data/etc/stalwart.env, then restart the service." + ], + "port": 8080, + "website": "https://stalw.art/", + "documentation": "https://stalw.art/docs/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/stalwart.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "admin", + "password": "" + }, + "os": "debian" + }, + { + "name": "Stash", + "slug": "stash", + "desc": "Stash is a self-hosted organizer for adult media collections. It scans your library, then enriches it with performers, studios, tags and scene metadata pulled from stash-box instances such as StashDB and from community scrapers, and serves everything through a web interface.", + "script": "ct/stash.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/stash.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/stash.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00013" + ], + "category_names": [ + "Media & Streaming" + ], + "notes": [ + "On first start Stash runs a setup wizard at http://:9999 where you pick your media directories and optionally set a username and password.", + "Configuration, database and generated content live in /opt/stash_data, outside the app directory, so they survive updates. Include this directory in your backups." + ], + "warnings": [ + "Media files are not stored in the container. Mount your library into the LXC (for example via a Proxmox bind mount) and point the Stash scan directories at the mount path." + ], + "port": 9999, + "website": "https://stashapp.cc/", + "documentation": "https://docs.stashapp.cc/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/stash.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, { "name": "step-ca", "slug": "step-ca", @@ -18664,7 +20920,7 @@ "execute_in": [ "lxc" ], - "config_path": "/etc/step-ca", + "config_path": "", "default_credentials": { "username": "root", "password": "" @@ -18699,7 +20955,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/Stirling-PDF/.env", + "config_path": "", "default_credentials": { "username": "admin", "password": "stirling" @@ -18719,7 +20975,7 @@ "scriptcat00022" ], "category_names": [ - "Bots & ChatOps" + "Communication & Community" ], "notes": [ "The first account registered becomes the instance administrator. Registration is open by default; set invite_only = true in /Revolt.toml to restrict it.", @@ -18756,7 +21012,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Visit for full guide with all vars our docs: `https://community-scripts.org/docs/tools/pve/storage-share-helper`" @@ -18843,7 +21099,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/storyteller/.env", + "config_path": "", "os": "debian" }, { @@ -18856,10 +21112,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00021" ], "category_names": [ - "Documents & Notes" + "Webservers & Proxies" ], "notes": [ "First-time setup requires creating an admin account at http://IP:1337/admin", @@ -18879,7 +21135,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/strapi/.env", + "config_path": "", "os": "debian" }, { @@ -18892,10 +21148,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00011" + "scriptcat00013" ], "category_names": [ - "Files & Downloads" + "Media & Streaming" ], "notes": [ "This app requires a Twitch cliend_ID and client_secret, set it in the config file. Look in the application documentation on how to obtain it." @@ -18912,7 +21168,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/streamlink-webui.env", + "config_path": "", "default_credentials": { "username": "null", "password": "null" @@ -18947,7 +21203,77 @@ "execute_in": [ "pve" ], - "config_path": "/opt/stylus/config.yaml", + "config_path": "", + "os": "debian" + }, + { + "name": "SuggestArr", + "slug": "suggestarr", + "desc": "SuggestArr watches what you actually play on Jellyfin, Plex or Emby, looks up similar titles on TMDB, and automatically files requests for them in Jellyseerr or Overseerr. It turns your viewing history into an automatically growing library without manual searching.", + "script": "ct/suggestarr.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/suggestarr.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/suggestarr.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00014" + ], + "category_names": [ + "*Arr Suite" + ], + "notes": [ + "Everything is configured through the setup wizard at http://:5000: your media server (Jellyfin/Plex/Emby), a TMDB API key, and the Jellyseerr or Overseerr instance that receives the requests.", + "Configuration and the local database live in /opt/suggestarr_data, outside the app directory, so they survive updates." + ], + "warnings": [ + "SuggestArr files requests automatically. Start with a conservative job configuration and keep approval enabled in Jellyseerr/Overseerr, otherwise it can fill your disks faster than expected." + ], + "port": 5000, + "website": "https://github.com/giuseppe99barchetta/SuggestArr", + "documentation": "https://giuseppe99barchetta.github.io/SuggestArr/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/suggestarr.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, + { + "name": "Super Productivity", + "slug": "super-productivity", + "desc": "Super Productivity is a privacy-focused, open-source to-do list, task manager and time tracker that helps you organize tasks, plan your day and track time. This deploys the self-hostable web (PWA) build as static files served by nginx.", + "script": "ct/super-productivity.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/super-productivity.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/super-productivity.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat000026" + ], + "category_names": [ + "Productivity & Workflows" + ], + "notes": [ + "Task data is stored locally in your browser (IndexedDB). Use the app's built-in export/backup or configure sync to avoid data loss when clearing browser data.", + "Optional cross-device sync is available via WebDAV, Dropbox or SuperSync and can be configured in the app settings." + ], + "warnings": [], + "port": 80, + "website": "https://super-productivity.com/", + "documentation": "https://github.com/super-productivity/super-productivity", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/super-productivity.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", "os": "debian" }, { @@ -18978,7 +21304,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/sure/.env", + "config_path": "", "os": "debian" }, { @@ -19012,7 +21338,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/surrealdb/.env", + "config_path": "", "default_credentials": { "username": "root", "password": "" @@ -19053,7 +21379,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/swizzin/", + "config_path": "", "os": "debian" }, { @@ -19091,8 +21417,8 @@ ], "config_path": "", "default_credentials": { - "username": "sync-in", - "password": "sync-in" + "username": "admin", + "password": "cat /root/sync-in.creds" }, "os": "debian" }, @@ -19106,10 +21432,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00011" ], "category_names": [ - "Documents & Notes" + "Files & Downloads" ], "notes": [], "warnings": [], @@ -19124,7 +21450,7 @@ "execute_in": [ "pve" ], - "config_path": "/root/.local/state/syncthing/config.xml - Alpine: /var/lib/syncthing/.local/state/syncthing/config.xml", + "config_path": "", "os": "debian" }, { @@ -19137,10 +21463,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00011" ], "category_names": [ - "Documents & Notes" + "Files & Downloads" ], "notes": [], "warnings": [], @@ -19155,7 +21481,7 @@ "execute_in": [ "pve" ], - "config_path": "/root/.local/state/syncthing/config.xml - Alpine: /var/lib/syncthing/.local/state/syncthing/config.xml", + "config_path": "", "os": "alpine" }, { @@ -19188,7 +21514,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/tandoor/.env", + "config_path": "", "os": "debian" }, { @@ -19281,7 +21607,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/Tautulli/config.ini", + "config_path": "", "os": "debian" }, { @@ -19349,7 +21675,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/teable/.env", + "config_path": "", "os": "debian" }, { @@ -19362,10 +21688,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00024" + "scriptcat00022" ], "category_names": [ - "Gaming & Leisure" + "Communication & Community" ], "notes": [ "Use `journalctl -u teamspeak-server.service` inside Debian LXC console to check for admin credentials!", @@ -19396,10 +21722,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00024" + "scriptcat00022" ], "category_names": [ - "Gaming & Leisure" + "Communication & Community" ], "notes": [ "Use `journalctl -u teamspeak-server.service` inside Debian LXC console to check for admin credentials!", @@ -19461,10 +21787,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00013" + "scriptcat00016" ], "category_names": [ - "Media & Streaming" + "IoT & Smart Home" ], "notes": [], "warnings": [], @@ -19512,7 +21838,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/telegraf/telegraf.conf", + "config_path": "", "os": "debian" }, { @@ -19525,13 +21851,15 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00006" + "scriptcat00006", + "scriptcat000027" ], "category_names": [ - "Authentication & Security" + "Authentication & Security", + "Remote Access & VPN" ], "notes": [ - "After installation finishes, do `cat ~/teleportadmin.creds` inside LXC to get admin creation URL." + "After installation finishes, do `cat ~/teleportadmin.txt` inside LXC to get admin creation URL." ], "warnings": [], "port": 3080, @@ -19545,7 +21873,7 @@ "execute_in": [ "lxc" ], - "config_path": "/etc/teleport.yaml", + "config_path": "", "os": "debian" }, { @@ -19558,10 +21886,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00006" + "scriptcat00006", + "scriptcat000027" ], "category_names": [ - "Authentication & Security" + "Authentication & Security", + "Remote Access & VPN" ], "notes": [ "Guacamole (guacd) is running at 127.0.0.1:4822. If RDP/VNC connections fail, verify the Guacamole URL in Termix Admin Settings is set to 127.0.0.1:4822." @@ -19581,6 +21911,50 @@ "config_path": "", "os": "debian" }, + { + "name": "TeslaMate", + "slug": "teslamate", + "desc": "TeslaMate is a self-hosted data logger for Tesla vehicles. It records drives, charges, battery health, efficiency and vehicle updates into PostgreSQL and visualizes everything through a set of prebuilt Grafana dashboards, with optional MQTT publishing for home automation.", + "script": "ct/teslamate.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/teslamate.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/teslamate.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00009", + "scriptcat00016" + ], + "category_names": [ + "Monitoring & Analytics", + "IoT & Smart Home" + ], + "notes": [ + "A local Mosquitto broker is installed and TeslaMate publishes to it on 127.0.0.1. Point your home automation at port 1883, or set DISABLE_MQTT=true in /opt/teslamate.env if you do not need it.", + "Built from source with Elixir/Phoenix - the initial build takes several minutes." + ], + "warnings": [ + "Two web interfaces: TeslaMate on port 4000 (sign in with your Tesla account there) and Grafana on port 3000 with the TeslaMate dashboards. The Grafana credentials admin/admin must be changed on first login.", + "TeslaMate has no authentication of its own. Your Tesla API tokens are stored in it, so never expose port 4000 to the internet without putting an authenticating reverse proxy in front of it.", + "ENCRYPTION_KEY in /opt/teslamate.env encrypts the stored Tesla tokens - losing it means re-authenticating every vehicle. Set TZ to your local timezone for correct drive and charge timestamps. Vehicle data lives in the PostgreSQL database 'teslamate'." + ], + "port": 4000, + "website": "https://github.com/teslamate-org/teslamate", + "documentation": "https://docs.teslamate.org/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/teslamate.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "default_credentials": { + "username": "admin", + "password": "admin" + }, + "os": "debian" + }, { "name": "The Lounge", "slug": "the-lounge", @@ -19594,7 +21968,7 @@ "scriptcat00022" ], "category_names": [ - "Bots & ChatOps" + "Communication & Community" ], "notes": [ "The Lounge is running in private mode. Use `runuser -u thelounge -- thelounge add usernamehere` to create users." @@ -19611,7 +21985,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/thelounge/config.js", + "config_path": "", "os": "debian" }, { @@ -19647,7 +22021,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/thingsboard/conf/thingsboard.conf", + "config_path": "", "default_credentials": { "username": "sysadmin@thingsboard.org", "password": "sysadmin" @@ -19713,7 +22087,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/tianji/src/server/.env", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin" @@ -19750,7 +22124,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/tinyauth/.env", + "config_path": "", "os": "debian" }, { @@ -19783,7 +22157,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/tinyauth/.env", + "config_path": "", "os": "alpine" }, { @@ -19845,7 +22219,7 @@ "updateable": true, "privileged": false, "has_arm": false, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -19862,10 +22236,12 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00009", + "scriptcat00016" ], "category_names": [ - "Miscellaneous" + "Monitoring & Analytics", + "IoT & Smart Home" ], "notes": [], "warnings": [], @@ -19880,7 +22256,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/traccar/conf/traccar.xml", + "config_path": "", "os": "debian" }, { @@ -19944,7 +22320,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/tracktor.env", + "config_path": "", "default_credentials": { "username": "", "password": "123456" @@ -19979,7 +22355,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/traefik/traefik.yaml", + "config_path": "", "os": "debian" }, { @@ -20010,7 +22386,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/traefik/traefik.yaml", + "config_path": "", "os": "alpine" }, { @@ -20044,7 +22420,7 @@ "execute_in": [ "pve" ], - "config_path": "Debian `/etc/transmission-daemon/settings.json` | Alpine `/var/lib/transmission/config/settings.json`", + "config_path": "", "default_credentials": { "username": "transmission", "password": "transmission" @@ -20082,7 +22458,7 @@ "execute_in": [ "pve" ], - "config_path": "Debian `/etc/transmission-daemon/settings.json` | Alpine `/var/lib/transmission/config/settings.json`", + "config_path": "", "default_credentials": { "username": "transmission", "password": "transmission" @@ -20099,10 +22475,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00011" + "scriptcat00013" ], "category_names": [ - "Files & Downloads" + "Media & Streaming" ], "notes": [ "Create your first account via the web UI — it becomes the admin account." @@ -20119,7 +22495,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/transmute/backend/.env", + "config_path": "", "os": "debian" }, { @@ -20152,7 +22528,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/trek/server/.env", + "config_path": "", "default_credentials": { "username": "admin@trek.local", "password": "see /opt/trek/server/.env" @@ -20187,7 +22563,7 @@ "execute_in": [ "pve" ], - "config_path": "/root/trilium-data/config.ini", + "config_path": "", "os": "debian" }, { @@ -20218,13 +22594,13 @@ "execute_in": [ "pve" ], - "config_path": "/opt/trip.env", + "config_path": "", "os": "debian" }, { - "name": "TrueNAS Community Edition", + "name": "TrueNAS", "slug": "truenas-vm", - "desc": "TrueNAS Community Edition is the world's most deployed storage software. Free, flexible and build on OpenZFS with Docker.", + "desc": "TrueNAS is a ZFS-based storage operating system with snapshots, replication and shares over SMB, NFS and iSCSI. Installation is completed in the installer console.", "script": "vm/truenas-vm.sh", "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/truenas-vm.sh", "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/truenas-vm.sh", @@ -20234,14 +22610,15 @@ "scriptcat00002" ], "category_names": [ - "Operating Systems" + "Operating Systems & Appliances" ], "notes": [ - "Once the script finishes, proceed with the OS installation via the console. For more details, please refer to this discussion: `https://github.com/community-scripts/ProxmoxVE/discussions/11344`" + "This VM boots an installer image. Open the console after creation and complete the installation there.", + "See this guide for some specifics: https://github.com/community-scripts/ProxmoxVE/discussions/11344" ], "warnings": [], "port": 0, - "website": "https://www.truenas.com/truenas-community-edition/", + "website": "https://www.truenas.com/", "documentation": "https://www.truenas.com/docs/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/truenas-core.webp", "updateable": false, @@ -20249,10 +22626,10 @@ "has_arm": false, "is_dev": false, "execute_in": [ - "pve" + "vm" ], "config_path": "", - "os": "debian" + "os": "" }, { "name": "Tube Archivist", @@ -20271,7 +22648,8 @@ ], "notes": [ "ElasticSearch is configured with 1GB heap. Adjust `/etc/elasticsearch/jvm.options.d/heap.options` for larger collections.", - "Admin password is stored in `/opt/tubearchivist/.env`." + "Admin password is stored in `/opt/tubearchivist/.env`.", + "To enable the built in POT Provider, go to Settings>Application>Cookie and set PO Token Provider URL to http://127.0.0.1:4416" ], "warnings": [ "Requires `vm.max_map_count=262144` on the Proxmox host. Run `sysctl -w vm.max_map_count=262144` on the host and add it to `/etc/sysctl.conf` for persistence.", @@ -20288,13 +22666,50 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/tubearchivist/.env", + "config_path": "", "default_credentials": { "username": "admin", "password": "" }, "os": "debian" }, + { + "name": "TubeSync", + "slug": "tubesync", + "desc": "TubeSync is a PVR (personal video recorder) for YouTube. It synchronizes channels and playlists to your local storage, downloading media automatically via yt-dlp so you can keep an offline library and watch it in your media player of choice.", + "script": "ct/tubesync.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/tubesync.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/tubesync.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00013" + ], + "category_names": [ + "Media & Streaming" + ], + "notes": [ + "Downloaded media is stored in /opt/tubesync-downloads and app data (SQLite database, cache, cookies) in /opt/tubesync-config. Increase the container disk to fit your library.", + "SQLite is used by default. For PostgreSQL, set DATABASE_CONNECTION in /opt/tubesync.env (e.g. postgresql://user:pass@host:5432/tubesync) before first start.", + "MySQL/MariaDB is not bundled (the mysqlclient driver needs a native build). To use it, install the driver first: 'apt install -y build-essential default-libmysqlclient-dev pkg-config && uv pip install --python /opt/tubesync/.venv/bin/python mysqlclient', then set DATABASE_CONNECTION=mysql://user:pass@host:3306/tubesync in /opt/tubesync.env." + ], + "warnings": [ + "The web interface has no authentication by default. Set HTTP_USER and HTTP_PASS in /opt/tubesync.env to enable HTTP basic auth." + ], + "port": 4848, + "website": "https://github.com/meeb/tubesync", + "documentation": "https://github.com/meeb/tubesync/blob/main/README.md", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/tubesync.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, { "name": "Tududi", "slug": "tududi", @@ -20305,10 +22720,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat000026" ], "category_names": [ - "Documents & Notes" + "Productivity & Workflows" ], "notes": [ "Create users like this: `cd /opt/tududi` => `npm run user:create `", @@ -20326,7 +22741,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/tududi/backend/.env", + "config_path": "", "os": "debian" }, { @@ -20357,7 +22772,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/tunarr/.env", + "config_path": "", "os": "debian" }, { @@ -20373,7 +22788,7 @@ "scriptcat00002" ], "category_names": [ - "Operating Systems" + "Operating Systems & Appliances" ], "notes": [ "The script creates a `*.creds` file in the Proxmox root directory with the password of the newly created TurnKey LXC Appliance.", @@ -20427,7 +22842,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/twenty/.env", + "config_path": "", "os": "debian" }, { @@ -20440,10 +22855,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00004" + "scriptcat000027" ], "category_names": [ - "Network & Firewall" + "Remote Access & VPN" ], "notes": [ "You can get your Twingate access or refresh tokens from the Twingate Admin Console. `https://auth.twingate.com/signup-v2`", @@ -20461,13 +22876,13 @@ "execute_in": [ "pve" ], - "config_path": "/etc/twingate/connector.conf", + "config_path": "", "os": "ubuntu" }, { "name": "Ubuntu", "slug": "ubuntu", - "desc": "Ubuntu is a distribution based on Debian, designed to have regular releases and a consistent user experience.", + "desc": "Ubuntu is a popular Debian-based Linux distribution with regular releases and long-term support editions.", "script": "ct/ubuntu.sh", "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/ubuntu.sh", "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/ubuntu.sh", @@ -20477,32 +22892,32 @@ "scriptcat00002" ], "category_names": [ - "Operating Systems" + "Operating Systems & Appliances" ], "notes": [], "warnings": [], "port": 0, "website": "https://ubuntu.com/", - "documentation": "", + "documentation": "https://help.ubuntu.com/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ubuntu.webp", "updateable": true, "privileged": false, "has_arm": true, "is_dev": false, "execute_in": [ - "pve" + "lxc" ], "config_path": "", "default_credentials": { "username": "root", "password": "" }, - "os": "debian" + "os": "ubuntu" }, { "name": "Ubuntu 22.04", "slug": "ubuntu2204-vm", - "desc": "Ubuntu is a distribution based on Debian, designed to have regular releases and a consistent user experience.", + "desc": "Ubuntu 22.04 LTS (Jammy Jellyfish) as a cloud image, supported until 2027.", "script": "vm/ubuntu2204-vm.sh", "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/ubuntu2204-vm.sh", "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/ubuntu2204-vm.sh", @@ -20512,30 +22927,31 @@ "scriptcat00002" ], "category_names": [ - "Operating Systems" + "Operating Systems & Appliances" ], "notes": [ - "This VM uses Cloud-init, for more information see cloud-init discussion: `https://github.com/community-scripts/ProxmoxVE/discussions/272`" + "Cloud-Init is enabled by default. Configure your SSH key and credentials in the Proxmox Cloud-Init tab before starting the VM.", + "If you use Cloud-init, checkout cloud-init discussion: `https://github.com/community-scripts/ProxmoxVE/discussions/272`" ], "warnings": [], "port": 0, "website": "https://ubuntu.com/", - "documentation": "", + "documentation": "https://help.ubuntu.com/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ubuntu.webp", - "updateable": true, + "updateable": false, "privileged": false, "has_arm": false, "is_dev": false, "execute_in": [ - "pve" + "vm" ], "config_path": "", - "os": "debian" + "os": "" }, { "name": "Ubuntu 24.04", "slug": "ubuntu2404-vm", - "desc": "Ubuntu is a distribution based on Debian, designed to have regular releases and a consistent user experience.", + "desc": "Ubuntu 24.04 LTS (Noble Numbat) as a cloud image, supported until 2029.", "script": "vm/ubuntu2404-vm.sh", "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/ubuntu2404-vm.sh", "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/ubuntu2404-vm.sh", @@ -20545,30 +22961,31 @@ "scriptcat00002" ], "category_names": [ - "Operating Systems" + "Operating Systems & Appliances" ], "notes": [ - "This VM uses Cloud-init, for more information see cloud-init discussion: `https://github.com/community-scripts/ProxmoxVE/discussions/272`" + "Cloud-Init is enabled by default. Configure your SSH key and credentials in the Proxmox Cloud-Init tab before starting the VM.", + "If you use Cloud-init, checkout cloud-init discussion: `https://github.com/community-scripts/ProxmoxVE/discussions/272`" ], "warnings": [], "port": 0, "website": "https://ubuntu.com/", - "documentation": "", + "documentation": "https://help.ubuntu.com/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ubuntu.webp", - "updateable": true, + "updateable": false, "privileged": false, "has_arm": false, "is_dev": false, "execute_in": [ - "pve" + "vm" ], "config_path": "", - "os": "ubuntu" + "os": "" }, { "name": "Ubuntu 25.04", "slug": "ubuntu2504-vm", - "desc": "Ubuntu is a distribution based on Debian, designed to have regular releases and a consistent user experience.", + "desc": "Ubuntu 25.04 (Plucky Puffin) as a cloud image. An interim release with a nine-month support window.", "script": "vm/ubuntu2504-vm.sh", "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/ubuntu2504-vm.sh", "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/ubuntu2504-vm.sh", @@ -20578,25 +22995,26 @@ "scriptcat00002" ], "category_names": [ - "Operating Systems" + "Operating Systems & Appliances" ], "notes": [ - "This VM uses Cloud-init, for more information see cloud-init discussion: `https://github.com/community-scripts/ProxmoxVE/discussions/272`" + "Cloud-Init is enabled by default. Configure your SSH key and credentials in the Proxmox Cloud-Init tab before starting the VM.", + "If you use Cloud-init, checkout cloud-init discussion: `https://github.com/community-scripts/ProxmoxVE/discussions/272`" ], "warnings": [], "port": 0, "website": "https://ubuntu.com/", - "documentation": "", + "documentation": "https://help.ubuntu.com/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/ubuntu.webp", - "updateable": true, + "updateable": false, "privileged": false, "has_arm": false, "is_dev": false, "execute_in": [ - "pve" + "vm" ], "config_path": "", - "os": "ubuntu" + "os": "" }, { "name": "UHF Server", @@ -20628,7 +23046,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/uhf-server/", + "config_path": "", "os": "debian" }, { @@ -20661,7 +23079,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/umami/.env", + "config_path": "", "default_credentials": { "username": "admin", "password": "umami" @@ -20678,10 +23096,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00025" + "scriptcat00021" ], "category_names": [ - "Business & ERP" + "Webservers & Proxies" ], "notes": [ "Cridentials are saved in /root", @@ -20695,7 +23113,7 @@ "updateable": true, "privileged": false, "has_arm": false, - "is_dev": true, + "is_dev": false, "execute_in": [ "lxc" ], @@ -20705,7 +23123,7 @@ { "name": "Umbrel OS", "slug": "umbrel-os-vm", - "desc": "Take control of your digital life with Umbrel — a private, personal server that lets you self-host powerful open source apps with ease. Whether you want to run a Bitcoin or Lightning node, manage your files with Nextcloud, stream media, block ads across your network, or explore self-hosted AI tools, Umbrel gives you full ownership and privacy. All through a beautiful, user-friendly interface — no cloud, no tracking, just your data under your control.", + "desc": "Umbrel OS is a personal server operating system with an app store for self-hosted software. This installs the official image as a VM.", "script": "vm/umbrel-os-vm.sh", "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/umbrel-os-vm.sh", "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/umbrel-os-vm.sh", @@ -20715,29 +23133,25 @@ "scriptcat00002" ], "category_names": [ - "Operating Systems" + "Operating Systems & Appliances" ], "notes": [ - "This VM use as base a Debian 12 OS with a custom kernel and some additional packages to run Umbrel OS. It is not a standard Debian VM, but it is optimized for Umbrel OS." + "This VM boots an installer image. Open the console after creation and complete the installation there." ], "warnings": [], "port": 80, "website": "https://umbrel.com/", - "documentation": "https://community.umbrel.com/c/guides/", + "documentation": "https://umbrel.com/umbrelos", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/umbrelos.webp", - "updateable": true, + "updateable": false, "privileged": false, "has_arm": false, "is_dev": false, "execute_in": [ - "pve" + "vm" ], "config_path": "", - "default_credentials": { - "username": "umbrel", - "password": "umbrel" - }, - "os": "debian" + "os": "" }, { "name": "UmlautAdaptarr", @@ -20767,7 +23181,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/UmlautAdaptarr/appsettings.json", + "config_path": "", "os": "debian" }, { @@ -20800,7 +23214,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/unbound/unbound.conf.d/unbound.conf", + "config_path": "", "os": "debian" }, { @@ -20844,10 +23258,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00013" ], "category_names": [ - "Miscellaneous" + "Media & Streaming" ], "notes": [], "warnings": [], @@ -20875,10 +23289,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00011" + "scriptcat00014" ], "category_names": [ - "Files & Downloads" + "*Arr Suite" ], "notes": [ "Configure at least one Sonarr, Radarr, Lidarr, Readarr or folder watch section in /etc/unpackerr/unpackerr.conf before Unpackerr can process archives." @@ -20893,6 +23307,45 @@ "updateable": true, "privileged": false, "has_arm": true, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, + { + "name": "Unsloth", + "slug": "unsloth", + "desc": "Unsloth Studio is a local web UI for running and fine-tuning language models. It can search, download and serve GGUF, LoRA and safetensors models, compare two models side by side, export to other formats, and expose OpenAI- and Anthropic-compatible endpoints so local models can be used from Claude Code, Codex and similar tools. Fine-tuning with LoRA is configured entirely through the UI.", + "script": "ct/unsloth.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/unsloth.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/unsloth.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00020" + ], + "category_names": [ + "AI / Coding & Dev-Tools" + ], + "notes": [ + "The generated web UI password is saved to /root/unsloth.creds inside the container (user: unsloth). Run 'unsloth studio reset-password' to issue a new one.", + "Log in as the user 'unsloth'; the generated password is in ~/unsloth.creds inside the container. Rotate it with 'unsloth studio reset-password', which prints a new one and needs no restart.", + "Web search only works with an external provider (OpenAI, Anthropic, OpenRouter, Gemini or Kimi) configured in the settings, because the search runs server-side at the provider. Local GGUF models do not offer it and the search button stays hidden for them.", + "Models and Hugging Face caches land in /opt/unsloth_data, which fills up quickly - a single 7B model at Q4 is roughly 4 GB. Give the container more disk if you plan to keep several, and back that directory up rather than /opt/unsloth.", + "PyTorch is installed with uv's --torch-backend=auto, so a CPU-only container gets the CPU wheels and a GPU container the matching CUDA build. Re-run the update after adding a GPU so the right backend is pulled." + ], + "warnings": [ + "Fine-tuning requires an NVIDIA GPU. Without one, inference, model management, export and the OpenAI-compatible API work, but training does not. Pass a card through and install the NVIDIA driver in the container to enable it." + ], + "port": 8888, + "website": "https://unsloth.ai/", + "documentation": "https://unsloth.ai/docs/new/studio", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/unsloth.webp", + "updateable": true, + "privileged": false, + "has_arm": false, "is_dev": true, "execute_in": [ "lxc" @@ -20913,7 +23366,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Only containers with `community-script` or `proxmox-helper-scripts` tags are listed for update.", @@ -20949,7 +23402,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within the Proxmox shell" @@ -20984,7 +23437,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within the Proxmox shell" @@ -21054,7 +23507,7 @@ "Network & Firewall" ], "notes": [ - "The first user to register becomes the admin (visit `http://IP:8090/_/`)." + "First run: get the one-time superuser setup URL via `journalctl -u upsnap --no-pager`, Or set a superuser directly: `systemctl stop upsnap; cd /opt/upsnap; ./upsnap superuser upsert EMAIL 'PASSWORD'; systemctl start upsnap`" ], "warnings": [ "Do not expose UpSnap to the internet — shutdown commands can execute shell commands. Use a VPN for remote access." @@ -21238,7 +23691,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/vaultwarden/.env", + "config_path": "", "os": "debian" }, { @@ -21273,7 +23726,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/vaultwarden/.env", + "config_path": "", "os": "alpine" }, { @@ -21308,7 +23761,7 @@ "execute_in": [ "lxc" ], - "config_path": "/etc/versitygw.d/gateway.conf", + "config_path": "", "os": "debian" }, { @@ -21372,7 +23825,44 @@ "execute_in": [ "pve" ], - "config_path": "/etc/vikunja/config.yml", + "config_path": "", + "os": "debian" + }, + { + "name": "vLLM", + "slug": "vllm", + "desc": "vLLM is a high-throughput, memory-efficient inference and serving engine for LLMs. It exposes an OpenAI-compatible HTTP API (/v1) so existing OpenAI clients can serve local models.", + "script": "ct/vllm.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/vllm.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/vllm.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00020" + ], + "category_names": [ + "AI / Coding & Dev-Tools" + ], + "notes": [ + "Model, port, dtype, VRAM share and HuggingFace token can be chosen up front in the script generator; they are written to /opt/vllm/vllm.env. Restart the service after changing the file: systemctl restart vllm", + "Flags not covered by a field go into VLLM_SERVE_ARGS in /opt/vllm/vllm.env, which is appended to 'vllm serve' verbatim.", + "The configured model is downloaded from HuggingFace on first service start, which needs internet access and disk space. For gated/private models set HF_TOKEN in /opt/vllm/vllm.env. Resource needs scale heavily with the chosen model." + ], + "warnings": [ + "Select NVIDIA GPU passthrough at container creation. vLLM installs the CUDA build by default and requires an NVIDIA GPU for usable performance; CPU-only inference is impractically slow." + ], + "port": 8000, + "website": "https://vllm.ai/", + "documentation": "https://docs.vllm.ai/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/vllm.webp", + "updateable": true, + "privileged": false, + "has_arm": false, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", "os": "debian" }, { @@ -21405,7 +23895,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/wallabag/app/config/parameters.yml", + "config_path": "", "os": "debian" }, { @@ -21469,7 +23959,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/wanderer/.env", + "config_path": "", "os": "debian" }, { @@ -21502,7 +23992,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/.env", + "config_path": "", "os": "debian" }, { @@ -21533,7 +24023,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/wastebin-data/.env", + "config_path": "", "os": "debian" }, { @@ -21595,7 +24085,7 @@ "execute_in": [ "pve" ], - "config_path": "/data/config.yaml", + "config_path": "", "os": "debian" }, { @@ -21628,7 +24118,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/wavelog/application/config/config.php", + "config_path": "", "os": "debian" }, { @@ -21641,9 +24131,11 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ + "scriptcat00006", "scriptcat00009" ], "category_names": [ + "Authentication & Security", "Monitoring & Analytics" ], "notes": [ @@ -21700,7 +24192,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/wealthfolio/.env", + "config_path": "", "default_credentials": { "username": "", "password": "See ~/wealthfolio.creds" @@ -21735,7 +24227,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/web-check/.env", + "config_path": "", "os": "debian" }, { @@ -21751,7 +24243,7 @@ "scriptcat00001" ], "category_names": [ - "Proxmox & Virtualization" + "Host Management" ], "notes": [ "Execute within an existing LXC Console" @@ -21787,10 +24279,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00012" ], "category_names": [ - "Miscellaneous" + "Documents & Notes" ], "notes": [ "Setup is fully automated. Login credentials are stored in '/root/webtrees.creds' inside the container." @@ -21844,7 +24336,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/wikijs/config.yml", + "config_path": "", "default_credentials": { "username": "admin", "password": "adminadmin" @@ -21882,6 +24374,42 @@ "config_path": "", "os": "debian" }, + { + "name": "Whisparr-Eros", + "slug": "whisparr-eros", + "desc": "Whisparr V3 (\"eros\") is an adult movie and scene collection manager for Usenet and BitTorrent users. It monitors RSS feeds for new items, interfaces with download clients and indexers to grab, sort and rename them, and can automatically upgrade existing files when a better quality release appears. V3 is the Radarr-based train and is developed in its own repository, separate from the Sonarr-based Whisparr V2.", + "script": "ct/whisparr-eros.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/whisparr-eros.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/whisparr-eros.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00014" + ], + "category_names": [ + "*Arr Suite" + ], + "notes": [ + "The in-app updater cannot update this install. The Servarr `eros` update channel has not advanced past 3.1.0.2116 (2026-01-14) and reports no update available for current releases, so Whisparr will log \"Update mechanism ... changing to BuiltIn\" and then find nothing. Update with this script's update option instead, which pulls the latest stable release from Whisparr/Whisparr-Eros.", + "Configuration and the database live in /var/lib/whisparr-eros and survive updates — the update replaces /opt/Whisparr-Eros only. Attach your media and download directories before use: pct set -mp0 /path/on/host,mp=/media" + ], + "warnings": [ + "Whisparr V3 (\"eros\") is not an upgrade of Whisparr V2 — they are two different applications developed in parallel. V2 is based on Sonarr and uses whisparr.db, V3 is based on Radarr and uses whisparr3.db, and neither can read the other's database. Use the `whisparr` script for V2 and this one for V3; do not point one at the other's data directory." + ], + "port": 6969, + "website": "https://github.com/Whisparr/Whisparr-Eros", + "documentation": "https://wiki.servarr.com/whisparr", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/whisparr.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, { "name": "WhoDB", "slug": "whodb", @@ -21943,7 +24471,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/wikijs/config.yml", + "config_path": "", "os": "debian" }, { @@ -21956,10 +24484,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00004" + "scriptcat000027" ], "category_names": [ - "Network & Firewall" + "Remote Access & VPN" ], "notes": [ "Wireguard and WGDashboard are not the same. More info: `https://wgdashboard.dev/`", @@ -21977,7 +24505,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/wireguard/wg0.conf", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin" @@ -21994,10 +24522,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00004" + "scriptcat000027" ], "category_names": [ - "Network & Firewall" + "Remote Access & VPN" ], "notes": [ "Wireguard and WGDashboard are not the same. More info: `https://wgdashboard.dev/`", @@ -22015,7 +24543,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/wireguard/wg0.conf", + "config_path": "", "default_credentials": { "username": "admin", "password": "admin" @@ -22052,7 +24580,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/wishlist/.env", + "config_path": "", "os": "debian" }, { @@ -22085,7 +24613,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/wizarr/.env", + "config_path": "", "os": "debian" }, { @@ -22116,7 +24644,7 @@ "execute_in": [ "pve" ], - "config_path": "/var/www/html/wordpress/wp-config.php", + "config_path": "", "os": "debian" }, { @@ -22129,13 +24657,13 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00012" + "scriptcat00022" ], "category_names": [ - "Documents & Notes" + "Communication & Community" ], "notes": [ - "After installation execute `writefreely user create --admin :` to create your user." + "After installation execute `cd /opt/writefreely && writefreely user create --admin :` to create your user." ], "warnings": [], "port": 80, @@ -22149,7 +24677,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/writefreely/config.ini", + "config_path": "", "os": "debian" }, { @@ -22207,7 +24735,7 @@ ], "notes": [ "Set API keys (TMDB_API, MAL_API, IGDB_ID, IGDB_SECRET) in /opt/yamtrack/src/.env to enable media search from external providers.", - "If you need to access the python console of Yamtrack (e.g. creating a user) with the console), you can call `/opt/yamtrack/.venv/bin/python manage.py shell`" + "If you need to access the python console of Yamtrack (e.g. creating a user) with the console), you can call `/opt/yamtrack/.venv/bin/python /opt/yamtrack/src/manage.py shell`" ], "warnings": [ "If using a reverse proxy, set the URLS variable in .env to your external URL (e.g., URLS=https://yamtrack.example.com)." @@ -22223,7 +24751,80 @@ "execute_in": [ "pve" ], - "config_path": "/opt/yamtrack/src/.env", + "config_path": "", + "os": "debian" + }, + { + "name": "Yopass", + "slug": "yopass", + "desc": "Yopass shares secrets through one-time links. The secret is encrypted in the browser before it is sent, so the server only ever stores an opaque blob with an expiry, and the decryption key travels in the URL fragment which is never transmitted. Opening the link destroys the secret.", + "script": "ct/yopass.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/yopass.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/yopass.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00006" + ], + "category_names": [ + "Authentication & Security" + ], + "notes": [ + "Secrets live in the local Redis with a TTL and are gone once fetched or expired. Redis persistence is not configured, so a restart clears pending secrets - which is arguably the desired behaviour here.", + "Options are passed as flags in /etc/systemd/system/yopass.service and can equally be set as uppercase environment variables. Useful ones: --force-onetime-secrets, --disable-upload, --max-length." + ], + "warnings": [ + "Serve this over HTTPS. Encryption happens in the browser, and without a secure context the page cannot be trusted to do that - put it behind a TLS reverse proxy before using it for anything real." + ], + "port": 1337, + "website": "https://yopass.se/", + "documentation": "https://github.com/jhaals/yopass#readme", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/yopass.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": false, + "execute_in": [ + "lxc" + ], + "config_path": "", + "os": "debian" + }, + { + "name": "Your Spotify", + "slug": "your-spotify", + "desc": "Your Spotify records your Spotify listening history and turns it into statistics: top tracks, artists and albums over any period, listening habits by time of day, and long-term trends. Past history can be imported from a Spotify privacy data export.", + "script": "ct/your-spotify.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/your-spotify.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/ct/your-spotify.sh", + "type": "lxc", + "type_id": "nm9bra8mzye2scg", + "categories": [ + "scriptcat00013" + ], + "category_names": [ + "Media & Streaming" + ], + "notes": [ + "Two services run here: your-spotify (API on 8080) and your-spotify-web (UI on 3000). Point the reverse proxy at both.", + "Listening history is stored in the local MongoDB database 'your_spotify'. Back that up rather than /opt." + ], + "warnings": [ + "Spotify only accepts https redirect URIs (loopback excepted), so the Spotify login cannot be completed on the container's plain IP - it fails with 'redirect_uri: Insecure'. A TLS reverse proxy with a real domain is required for normal use.", + "Create an app at https://developer.spotify.com/dashboard, put its client ID and secret into SPOTIFY_PUBLIC and SPOTIFY_SECRET in /opt/your-spotify.env, set API_ENDPOINT and CLIENT_ENDPOINT to your https URLs, and register /oauth/spotify/callback in the dashboard. The API endpoint is baked into the built frontend; set both endpoints at install time, or change them in /opt/your-spotify.env and run 'update' inside the container, which re-applies them." + ], + "port": 3000, + "website": "https://github.com/Yooooomi/your_spotify", + "documentation": "https://github.com/Yooooomi/your_spotify#readme", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/your-spotify.webp", + "updateable": true, + "privileged": false, + "has_arm": true, + "is_dev": true, + "execute_in": [ + "lxc" + ], + "config_path": "", "os": "debian" }, { @@ -22236,10 +24837,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00000" + "scriptcat00021" ], "category_names": [ - "Miscellaneous" + "Webservers & Proxies" ], "notes": [ "After installation, visit /admin/install.php once to initialize the database and complete setup.", @@ -22274,10 +24875,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00011" + "scriptcat00013" ], "category_names": [ - "Files & Downloads" + "Media & Streaming" ], "notes": [ "Show password: `cat ~/yt-dlp-webui.creds`", @@ -22296,7 +24897,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/yt-dlp-webui/config.conf", + "config_path": "", "default_credentials": { "username": "admin", "password": "" @@ -22331,7 +24932,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/yubal.env", + "config_path": "", "os": "debian" }, { @@ -22347,7 +24948,7 @@ "scriptcat00002" ], "category_names": [ - "Operating Systems" + "Operating Systems & Appliances" ], "notes": [], "warnings": [ @@ -22435,7 +25036,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/zabbix/zabbix_server.conf", + "config_path": "", "default_credentials": { "username": "Admin", "password": "zabbix" @@ -22470,7 +25071,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/nginx/sites-available/zammad.conf", + "config_path": "", "os": "debian" }, { @@ -22503,7 +25104,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/zerobyte/.env", + "config_path": "", "os": "debian" }, { @@ -22516,10 +25117,10 @@ "type": "lxc", "type_id": "nm9bra8mzye2scg", "categories": [ - "scriptcat00004" + "scriptcat000027" ], "category_names": [ - "Network & Firewall" + "Remote Access & VPN" ], "notes": [], "warnings": [], @@ -22534,7 +25135,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/key-networks/ztncui/.env", + "config_path": "", "default_credentials": { "username": "admin", "password": "password" @@ -22607,6 +25208,37 @@ "config_path": "", "os": "alpine" }, + { + "name": "ZimaOS", + "slug": "zimaos-vm", + "desc": "ZimaOS is the successor to CasaOS: a NAS operating system with an app store, ZFS-backed storage, RAID support and A/B system updates. It targets the Zima hardware line but runs on any x86-64 machine with UEFI.", + "script": "vm/zimaos-vm.sh", + "script_url": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/zimaos-vm.sh", + "script_url_mirror": "https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/vm/zimaos-vm.sh", + "type": "vm", + "type_id": "lte524abgx960bd", + "categories": [], + "category_names": [], + "notes": [ + "This VM boots an installer image. Open the console after creation and complete the installation there, selecting scsi0 as the target disk.", + "ZimaOS does not print its IP address on the console. Read it from the Proxmox summary once the guest agent is running.", + "For a real NAS, add a second disk in Proxmox and let ZimaOS manage it. Keeping data off the system disk survives reinstalls." + ], + "warnings": [], + "port": 80, + "website": "https://github.com/IceWhaleTech/ZimaOS", + "documentation": "https://www.zimaspace.com/docs/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/zimaos.webp", + "updateable": false, + "privileged": false, + "has_arm": false, + "is_dev": true, + "execute_in": [ + "vm" + ], + "config_path": "", + "os": "" + }, { "name": "Zipline", "slug": "zipline", @@ -22635,7 +25267,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/zipline/.env", + "config_path": "", "default_credentials": { "username": "administrator", "password": "password" @@ -22673,7 +25305,7 @@ "execute_in": [ "lxc" ], - "config_path": "/opt/zitadel/config.yaml", + "config_path": "", "default_credentials": { "username": "zitadel-admin@zitadel.localhost", "password": "Password1!" @@ -22739,7 +25371,7 @@ "execute_in": [ "pve" ], - "config_path": "/etc/zot/config.json", + "config_path": "", "os": "debian" }, { @@ -22770,7 +25402,7 @@ "execute_in": [ "pve" ], - "config_path": "/opt/.env", + "config_path": "", "os": "debian" } ] \ No newline at end of file