Add vitest, add json validation tests, fix broken json files (#566)

This commit is contained in:
Håvard Gjøby Thom 2024-11-28 15:50:40 +01:00 committed by GitHub
parent 000f206d90
commit 03be08be63
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
208 changed files with 3312 additions and 928 deletions

View File

@ -20,7 +20,7 @@ echo -e "Loading..."
APP="Aria2" APP="Aria2"
var_disk="8" var_disk="8"
var_cpu="2" var_cpu="2"
var_ram="1028" var_ram="1024"
var_os="debian" var_os="debian"
var_version="12" var_version="12"
variables variables

File diff suppressed because it is too large Load Diff

View File

@ -13,6 +13,7 @@
"build": "next build", "build": "next build",
"start": "next start", "start": "next start",
"lint": "next lint", "lint": "next lint",
"test": "vitest",
"deploy": "next build && touch out/.nojekyll && git add out/ && git commit -m \"Deploy\" && git subtree push --prefix out origin gh-pages", "deploy": "next build && touch out/.nojekyll && git add out/ && git commit -m \"Deploy\" && git subtree push --prefix out origin gh-pages",
"format:write": "prettier --write \"**/*.{ts,tsx,mdx}\" --cache", "format:write": "prettier --write \"**/*.{ts,tsx,mdx}\" --cache",
"format:check": "prettier --check \"**/*.{ts,tsx,mdx}\" --cache", "format:check": "prettier --check \"**/*.{ts,tsx,mdx}\" --cache",
@ -59,20 +60,26 @@
"zod": "^3.23.8" "zod": "^3.23.8"
}, },
"devDependencies": { "devDependencies": {
"@testing-library/dom": "^10.4.0",
"@testing-library/react": "^16.0.1",
"@types/node": "^22", "@types/node": "^22",
"@types/react": "npm:types-react@19.0.0-rc.1",
"@types/react-dom": "npm:types-react-dom@19.0.0-rc.1", "@types/react-dom": "npm:types-react-dom@19.0.0-rc.1",
"@types/react": "npm:types-react@19.0.0-rc.1",
"@typescript-eslint/eslint-plugin": "^8.8.1", "@typescript-eslint/eslint-plugin": "^8.8.1",
"@typescript-eslint/parser": "^8.8.1", "@typescript-eslint/parser": "^8.8.1",
"@vitejs/plugin-react": "^4.3.4",
"eslint-config-next": "15.0.2", "eslint-config-next": "15.0.2",
"postcss": "^8",
"eslint": "^9.13.0", "eslint": "^9.13.0",
"prettier": "^3.2.5", "jsdom": "^25.0.1",
"postcss": "^8",
"prettier-plugin-tailwindcss": "^0.6.5", "prettier-plugin-tailwindcss": "^0.6.5",
"tailwindcss": "^3.4.9", "prettier": "^3.2.5",
"tailwindcss-animate": "^1.0.7", "tailwindcss-animate": "^1.0.7",
"tailwindcss-animated": "^1.1.2", "tailwindcss-animated": "^1.1.2",
"typescript": "^5" "tailwindcss": "^3.4.9",
"typescript": "^5",
"vite-tsconfig-paths": "^5.1.3",
"vitest": "^2.1.6"
}, },
"overrides": { "overrides": {
"@types/react": "npm:types-react@19.0.0-rc.1", "@types/react": "npm:types-react@19.0.0-rc.1",

View File

@ -0,0 +1,11 @@
import { screen } from "@testing-library/dom";
import { render } from "@testing-library/react";
import { describe, expect, it } from "vitest";
import Page from "@/app/page";
describe("Page", () => {
it("should show button to view scripts", () => {
render(<Page />);
expect(screen.getByRole("button", { name: "View Scripts" })).toBeDefined();
});
});

View File

@ -0,0 +1,53 @@
import { describe, it, assert, beforeAll } from "vitest";
import { promises as fs } from "fs";
import path from "path";
import { ScriptSchema, type Script } from "@/app/json-editor/_schemas/schemas";
import { Metadata } from "@/lib/types";
const jsonDir = "public/json";
const metadataFileName = "metadata.json";
const encoding = "utf-8";
const fileNames = (await fs.readdir(jsonDir))
.filter((fileName) => fileName !== metadataFileName)
describe.each(fileNames)("%s", async (fileName) => {
let script: Script;
beforeAll(async () => {
const filePath = path.resolve(jsonDir, fileName);
const fileContent = await fs.readFile(filePath, encoding)
script = JSON.parse(fileContent);
})
it("should have valid json according to script schema", () => {
ScriptSchema.parse(script);
});
it("should have a corresponding script file", () => {
script.install_methods.forEach((method) => {
const scriptPath = path.resolve("..", method.script)
assert(fs.stat(scriptPath), `Script file not found: ${scriptPath}`)
})
});
})
describe(`${metadataFileName}`, async () => {
let metadata: Metadata;
beforeAll(async () => {
const filePath = path.resolve(jsonDir, metadataFileName);
const fileContent = await fs.readFile(filePath, encoding)
metadata = JSON.parse(fileContent);
})
it("should have valid json according to metadata schema", () => {
// TODO: create zod schema for metadata. Move zod schemas to /lib/types.ts
assert(metadata.categories.length > 0);
metadata.categories.forEach((category) => {
assert.isString(category.name)
assert.isNumber(category.id)
assert.isNumber(category.sort_order)
});
});
})

View File

@ -0,0 +1,4 @@
import { vi } from "vitest";
// Mock canvas getContext
HTMLCanvasElement.prototype.getContext = vi.fn();

View File

@ -9,11 +9,9 @@ import {
import { Category } from "@/lib/types"; import { Category } from "@/lib/types";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { z } from "zod"; import { z } from "zod";
import { ScriptSchema } from "../_schemas/schemas"; import { type Script } from "../_schemas/schemas";
import { memo } from "react"; import { memo } from "react";
type Script = z.infer<typeof ScriptSchema>;
type CategoryProps = { type CategoryProps = {
script: Script; script: Script;
setScript: (script: Script) => void; setScript: (script: Script) => void;

View File

@ -9,11 +9,9 @@ import {
} from "@/components/ui/select"; } from "@/components/ui/select";
import { OperatingSystems } from "@/config/siteConfig"; import { OperatingSystems } from "@/config/siteConfig";
import { PlusCircle, Trash2 } from "lucide-react"; import { PlusCircle, Trash2 } from "lucide-react";
import { memo, useCallback, useEffect, useRef } from "react"; import { memo, useCallback, useRef } from "react";
import { z } from "zod"; import { z } from "zod";
import { InstallMethodSchema, ScriptSchema } from "../_schemas/schemas"; import { InstallMethodSchema, ScriptSchema, type Script } from "../_schemas/schemas";
type Script = z.infer<typeof ScriptSchema>;
type InstallMethodProps = { type InstallMethodProps = {
script: Script; script: Script;
@ -194,11 +192,11 @@ function InstallMethod({
</SelectContent> </SelectContent>
</Select> </Select>
<Select <Select
value={method.resources.version ? String(method.resources.version) : undefined} value={method.resources.version || undefined}
onValueChange={(value) => onValueChange={(value) =>
updateInstallMethod(index, "resources", { updateInstallMethod(index, "resources", {
...method.resources, ...method.resources,
version: value ? Number(value) : null, version: value || null,
}) })
} }
disabled={method.type === "alpine"} disabled={method.type === "alpine"}

View File

@ -11,11 +11,9 @@ import { AlertColors } from "@/config/siteConfig";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
import { PlusCircle, Trash2 } from "lucide-react"; import { PlusCircle, Trash2 } from "lucide-react";
import { z } from "zod"; import { z } from "zod";
import { ScriptSchema } from "../_schemas/schemas"; import { ScriptSchema, type Script } from "../_schemas/schemas";
import { memo, useCallback } from "react"; import { memo, useCallback } from "react";
type Script = z.infer<typeof ScriptSchema>;
type NoteProps = { type NoteProps = {
script: Script; script: Script;
setScript: (script: Script) => void; setScript: (script: Script) => void;

View File

@ -10,7 +10,7 @@ export const InstallMethodSchema = z.object({
ram: z.number().nullable(), ram: z.number().nullable(),
hdd: z.number().nullable(), hdd: z.number().nullable(),
os: z.string().nullable(), os: z.string().nullable(),
version: z.number().nullable(), version: z.string().nullable(),
}), }),
}); });
@ -24,8 +24,8 @@ export const ScriptSchema = z.object({
slug: z.string().min(1, "Slug is required"), slug: z.string().min(1, "Slug is required"),
categories: z.array(z.number()), categories: z.array(z.number()),
date_created: z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "Date must be in YYYY-MM-DD format").min(1, "Date is required"), date_created: z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "Date must be in YYYY-MM-DD format").min(1, "Date is required"),
type: z.enum(["vm", "ct", "misc"], { type: z.enum(["vm", "ct", "misc", "turnkey"], {
errorMap: () => ({ message: "Type must be either 'vm', 'ct', or 'misc'" }) errorMap: () => ({ message: "Type must be either 'vm', 'ct', 'misc' or 'turnkey'" })
}), }),
updateable: z.boolean(), updateable: z.boolean(),
privileged: z.boolean(), privileged: z.boolean(),
@ -41,3 +41,5 @@ export const ScriptSchema = z.object({
}), }),
notes: z.array(NoteSchema), notes: z.array(NoteSchema),
}); });
export type Script = z.infer<typeof ScriptSchema>;

View File

@ -5,7 +5,11 @@ import { Button } from "@/components/ui/button";
import { Calendar } from "@/components/ui/calendar"; import { Calendar } from "@/components/ui/calendar";
import { Input } from "@/components/ui/input"; import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label"; import { Label } from "@/components/ui/label";
import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"; import {
Popover,
PopoverContent,
PopoverTrigger,
} from "@/components/ui/popover";
import { import {
Select, Select,
SelectContent, SelectContent,
@ -26,9 +30,7 @@ import { z } from "zod";
import Categories from "./_components/Categories"; import Categories from "./_components/Categories";
import InstallMethod from "./_components/InstallMethod"; import InstallMethod from "./_components/InstallMethod";
import Note from "./_components/Note"; import Note from "./_components/Note";
import { ScriptSchema } from "./_schemas/schemas"; import { ScriptSchema, type Script } from "./_schemas/schemas";
type Script = z.infer<typeof ScriptSchema>;
const initialScript: Script = { const initialScript: Script = {
name: "", name: "",
@ -64,25 +66,29 @@ export default function JSONGenerator() {
.catch((error) => console.error("Error fetching categories:", error)); .catch((error) => console.error("Error fetching categories:", error));
}, []); }, []);
const updateScript = useCallback((key: keyof Script, value: Script[keyof Script]) => { const updateScript = useCallback(
setScript((prev) => { (key: keyof Script, value: Script[keyof Script]) => {
const updated = { ...prev, [key]: value }; setScript((prev) => {
const updated = { ...prev, [key]: value };
if (key === "type" || key === "slug") { if (key === "type" || key === "slug") {
updated.install_methods = updated.install_methods.map((method) => ({ updated.install_methods = updated.install_methods.map((method) => ({
...method, ...method,
script: method.type === "alpine" script:
? `/${updated.type}/alpine-${updated.slug}.sh` method.type === "alpine"
: `/${updated.type}/${updated.slug}.sh`, ? `/${updated.type}/alpine-${updated.slug}.sh`
})); : `/${updated.type}/${updated.slug}.sh`,
} }));
}
const result = ScriptSchema.safeParse(updated); const result = ScriptSchema.safeParse(updated);
setIsValid(result.success); setIsValid(result.success);
setZodErrors(result.success ? null : result.error); setZodErrors(result.success ? null : result.error);
return updated; return updated;
}); });
}, []); },
[],
);
const handleCopy = useCallback(() => { const handleCopy = useCallback(() => {
navigator.clipboard.writeText(JSON.stringify(script, null, 2)); navigator.clipboard.writeText(JSON.stringify(script, null, 2));
@ -91,37 +97,43 @@ export default function JSONGenerator() {
toast.success("Copied metadata to clipboard"); toast.success("Copied metadata to clipboard");
}, [script]); }, [script]);
const handleDateSelect = useCallback((date: Date | undefined) => { const handleDateSelect = useCallback(
updateScript( (date: Date | undefined) => {
"date_created", updateScript("date_created", format(date || new Date(), "yyyy-MM-dd"));
format(date || new Date(), "yyyy-MM-dd") },
); [updateScript],
}, [updateScript]);
const formattedDate = useMemo(() =>
script.date_created ? format(script.date_created, "PPP") : undefined,
[script.date_created]
); );
const validationAlert = useMemo(() => ( const formattedDate = useMemo(
<Alert className={cn("text-black", isValid ? "bg-green-100" : "bg-red-100")}> () =>
<AlertTitle>{isValid ? "Valid JSON" : "Invalid JSON"}</AlertTitle> script.date_created ? format(script.date_created, "PPP") : undefined,
<AlertDescription> [script.date_created],
{isValid );
? "The current JSON is valid according to the schema."
: "The current JSON does not match the required schema."} const validationAlert = useMemo(
</AlertDescription> () => (
{zodErrors && ( <Alert
<div className="mt-2 space-y-1"> className={cn("text-black", isValid ? "bg-green-100" : "bg-red-100")}
{zodErrors.errors.map((error, index) => ( >
<AlertDescription key={index} className="p-1 text-red-500"> <AlertTitle>{isValid ? "Valid JSON" : "Invalid JSON"}</AlertTitle>
{error.path.join(".")} - {error.message} <AlertDescription>
</AlertDescription> {isValid
))} ? "The current JSON is valid according to the schema."
</div> : "The current JSON does not match the required schema."}
)} </AlertDescription>
</Alert> {zodErrors && (
), [isValid, zodErrors]); <div className="mt-2 space-y-1">
{zodErrors.errors.map((error, index) => (
<AlertDescription key={index} className="p-1 text-red-500">
{error.path.join(".")} - {error.message}
</AlertDescription>
))}
</div>
)}
</Alert>
),
[isValid, zodErrors],
);
return ( return (
<div className="flex h-screen mt-20"> <div className="flex h-screen mt-20">
@ -222,14 +234,18 @@ export default function JSONGenerator() {
<div className="flex items-center space-x-2"> <div className="flex items-center space-x-2">
<Switch <Switch
checked={script.updateable} checked={script.updateable}
onCheckedChange={(checked) => updateScript("updateable", checked)} onCheckedChange={(checked) =>
updateScript("updateable", checked)
}
/> />
<label>Updateable</label> <label>Updateable</label>
</div> </div>
<div className="flex items-center space-x-2"> <div className="flex items-center space-x-2">
<Switch <Switch
checked={script.privileged} checked={script.privileged}
onCheckedChange={(checked) => updateScript("privileged", checked)} onCheckedChange={(checked) =>
updateScript("privileged", checked)
}
/> />
<label>Privileged</label> <label>Privileged</label>
</div> </div>
@ -238,7 +254,12 @@ export default function JSONGenerator() {
placeholder="Interface Port" placeholder="Interface Port"
type="number" type="number"
value={script.interface_port || ""} value={script.interface_port || ""}
onChange={(e) => updateScript("interface_port", e.target.value ? Number(e.target.value) : null)} onChange={(e) =>
updateScript(
"interface_port",
e.target.value ? Number(e.target.value) : null,
)
}
/> />
<div className="flex gap-2"> <div className="flex gap-2">
<Input <Input
@ -249,7 +270,9 @@ export default function JSONGenerator() {
<Input <Input
placeholder="Documentation URL" placeholder="Documentation URL"
value={script.documentation || ""} value={script.documentation || ""}
onChange={(e) => updateScript("documentation", e.target.value || null)} onChange={(e) =>
updateScript("documentation", e.target.value || null)
}
/> />
</div> </div>
<InstallMethod <InstallMethod
@ -262,18 +285,22 @@ export default function JSONGenerator() {
<Input <Input
placeholder="Username" placeholder="Username"
value={script.default_credentials.username || ""} value={script.default_credentials.username || ""}
onChange={(e) => updateScript("default_credentials", { onChange={(e) =>
...script.default_credentials, updateScript("default_credentials", {
username: e.target.value || null, ...script.default_credentials,
})} username: e.target.value || null,
})
}
/> />
<Input <Input
placeholder="Password" placeholder="Password"
value={script.default_credentials.password || ""} value={script.default_credentials.password || ""}
onChange={(e) => updateScript("default_credentials", { onChange={(e) =>
...script.default_credentials, updateScript("default_credentials", {
password: e.target.value || null, ...script.default_credentials,
})} password: e.target.value || null,
})
}
/> />
<Note <Note
script={script} script={script}

View File

@ -21,7 +21,7 @@ export type Script = {
ram: number | null; ram: number | null;
hdd: number | null; hdd: number | null;
os: string | null; os: string | null;
version: number | null; version: string | null;
}; };
}[]; }[];
default_credentials: { default_credentials: {

View File

@ -0,0 +1,11 @@
import { defineConfig } from 'vitest/config'
import react from '@vitejs/plugin-react'
import tsconfigPaths from 'vite-tsconfig-paths'
export default defineConfig({
plugins: [tsconfigPaths(), react()],
test: {
environment: "jsdom",
setupFiles: ["src/__tests__/setupTests.ts"]
},
})

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "5006", "interface_port": 5006,
"documentation": null, "documentation": null,
"website": "https://actualbudget.org/", "website": "https://actualbudget.org/",
"logo": "https://raw.githubusercontent.com/actualbudget/actual/master/packages/desktop-client/public/maskable-512x512.png", "logo": "https://raw.githubusercontent.com/actualbudget/actual/master/packages/desktop-client/public/maskable-512x512.png",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/actualbudget.sh", "script": "ct/actualbudget.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "3000", "interface_port": 3000,
"documentation": "https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started", "documentation": "https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started",
"website": "https://adguard.com/en/adguard-home/overview.html", "website": "https://adguard.com/en/adguard-home/overview.html",
"logo": "https://raw.githubusercontent.com/home-assistant/brands/master/core_integrations/adguard/icon.png", "logo": "https://raw.githubusercontent.com/home-assistant/brands/master/core_integrations/adguard/icon.png",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/adguard.sh", "script": "ct/adguard.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "2", "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "3000", "interface_port": 3000,
"documentation": null, "documentation": null,
"website": "https://adventurelog.app/", "website": "https://adventurelog.app/",
"logo": "https://raw.githubusercontent.com/seanmorley15/AdventureLog/refs/heads/main/documentation/static/img/favicon.png", "logo": "https://raw.githubusercontent.com/seanmorley15/AdventureLog/refs/heads/main/documentation/static/img/favicon.png",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/adventurelog.sh", "script": "ct/adventurelog.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "7", "hdd": 7,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": true, "privileged": true,
"interface_port": "8090", "interface_port": 8090,
"documentation": null, "documentation": null,
"website": "https://www.ispyconnect.com/", "website": "https://www.ispyconnect.com/",
"logo": "https://ispycontent.azureedge.net/img/ispy2.png?raw=true", "logo": "https://ispycontent.azureedge.net/img/ispy2.png?raw=true",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/agentdvr.sh", "script": "ct/agentdvr.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "8", "hdd": 8,
"os": "ubuntu", "os": "ubuntu",
"version": "22.04" "version": "22.04"
} }

View File

@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/alpine.sh", "script": "ct/alpine.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "0.1", "hdd": 0.1,
"os": "alpine", "os": "alpine",
"version": "3.19" "version": "3.19"
} }

View File

@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/apache-cassandra.sh", "script": "ct/apache-cassandra.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "2048", "ram": 2048,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "5984", "interface_port": 5984,
"documentation": null, "documentation": null,
"website": "https://couchdb.apache.org/", "website": "https://couchdb.apache.org/",
"logo": "https://couchdb.apache.org/image/couch@2x.png", "logo": "https://couchdb.apache.org/image/couch@2x.png",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/apache-couchdb.sh", "script": "ct/apache-couchdb.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "4096", "ram": 4096,
"hdd": "10", "hdd": 10,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "3142", "interface_port": 3142,
"documentation": null, "documentation": null,
"website": "https://www.unix-ag.uni-kl.de/~bloch/acng/", "website": "https://www.unix-ag.uni-kl.de/~bloch/acng/",
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/linux.svg", "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/linux.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/apt-cacher-ng.sh", "script": "ct/apt-cacher-ng.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "2", "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/archivebox.sh", "script": "ct/archivebox.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "1024", "ram": 1024,
"hdd": "8", "hdd": 8,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "6880", "interface_port": 6880,
"documentation": null, "documentation": null,
"website": "https://aria2.github.io/", "website": "https://aria2.github.io/",
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/linux.svg", "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/linux.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/aria2.sh", "script": "ct/aria2.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "1028", "ram": 1024,
"hdd": "8", "hdd": 8,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "13378", "interface_port": 13378,
"documentation": null, "documentation": null,
"website": "https://www.audiobookshelf.org/", "website": "https://www.audiobookshelf.org/",
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/audiobookshelf.svg", "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/audiobookshelf.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/audiobookshelf.sh", "script": "ct/audiobookshelf.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "7474", "interface_port": 7474,
"documentation": null, "documentation": null,
"website": "https://autobrr.com/", "website": "https://autobrr.com/",
"logo": "https://raw.githubusercontent.com/autobrr/autobrr/master/.github/images/logo.png", "logo": "https://raw.githubusercontent.com/autobrr/autobrr/master/.github/images/logo.png",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/autobrr.sh", "script": "ct/autobrr.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "8", "hdd": 8,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "6767", "interface_port": 6767,
"documentation": null, "documentation": null,
"website": "https://www.bazarr.media/", "website": "https://www.bazarr.media/",
"logo": "https://www.bazarr.media/assets/img/logo.png", "logo": "https://www.bazarr.media/assets/img/logo.png",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/bazarr.sh", "script": "ct/bazarr.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "1024", "ram": 1024,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "4000", "interface_port": 4000,
"documentation": null, "documentation": null,
"website": "https://0xerr0r.github.io/blocky/", "website": "https://0xerr0r.github.io/blocky/",
"logo": "https://raw.githubusercontent.com/0xERR0R/blocky/main/docs/blocky.svg", "logo": "https://raw.githubusercontent.com/0xERR0R/blocky/main/docs/blocky.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/blocky.sh", "script": "ct/blocky.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "2", "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "80", "interface_port": 80,
"documentation": null, "documentation": null,
"website": "https://www.bookstackapp.com/", "website": "https://www.bookstackapp.com/",
"logo": "https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fassets.stickpng.com%2Fimages%2F6308b74c61b3e2a522f0145e.png&f=1&nofb=1&ipt=7ce7870e5081489216eb3294b735356d1c7ede678f97cadba4392bd96e032170&ipo=images", "logo": "https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fassets.stickpng.com%2Fimages%2F6308b74c61b3e2a522f0145e.png&f=1&nofb=1&ipt=7ce7870e5081489216eb3294b735356d1c7ede678f97cadba4392bd96e032170&ipo=images",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/bookstack.sh", "script": "ct/bookstack.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "1024", "ram": 1024,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/bunkerweb.sh", "script": "ct/bunkerweb.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "1024", "ram": 1024,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "80", "interface_port": 80,
"documentation": "https://caddyserver.com/docs/", "documentation": "https://caddyserver.com/docs/",
"website": "https://caddyserver.com/", "website": "https://caddyserver.com/",
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/caddy.svg", "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/caddy.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/caddy.sh", "script": "ct/caddy.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "2", "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "8083", "interface_port": 8083,
"documentation": null, "documentation": null,
"website": "https://github.com/janeczku/calibre-web", "website": "https://github.com/janeczku/calibre-web",
"logo": "https://sasquatters.com/media/2017/04/Calibre-web-banner-768x512.jpg", "logo": "https://sasquatters.com/media/2017/04/Calibre-web-banner-768x512.jpg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/calibre-web.sh", "script": "ct/calibre-web.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "80", "interface_port": 80,
"documentation": null, "documentation": null,
"website": "https://www.casaos.io/", "website": "https://www.casaos.io/",
"logo": "https://wiki.casaos.io/_assets/casaos-no-text.svg", "logo": "https://wiki.casaos.io/_assets/casaos-no-text.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/casaos.sh", "script": "ct/casaos.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "8", "hdd": 8,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "5000", "interface_port": 5000,
"documentation": null, "documentation": null,
"website": "https://changedetection.io/", "website": "https://changedetection.io/",
"logo": "https://github.com/dgtlmoon/changedetection.io/blob/master/changedetectionio/static/images/avatar-256x256.png?raw=true", "logo": "https://github.com/dgtlmoon/changedetection.io/blob/master/changedetectionio/static/images/avatar-256x256.png?raw=true",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/changedetection.sh", "script": "ct/changedetection.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "1024", "ram": 1024,
"hdd": "8", "hdd": 8,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": true, "privileged": true,
"interface_port": "8089", "interface_port": 8089,
"documentation": null, "documentation": null,
"website": "https://getchannels.com/dvr-server/", "website": "https://getchannels.com/dvr-server/",
"logo": "https://getchannels.com/a/images/channels-logo.svg", "logo": "https://getchannels.com/a/images/channels-logo.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/channels.sh", "script": "ct/channels.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "1024", "ram": 1024,
"hdd": "8", "hdd": 8,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/cloudflared.sh", "script": "ct/cloudflared.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "2", "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "9090", "interface_port": 9090,
"documentation": null, "documentation": null,
"website": "https://cockpit-project.org/", "website": "https://cockpit-project.org/",
"logo": "https://i0.wp.com/easycode.page/wp-content/uploads/2021/10/cockpit.png?fit=400%2C400&ssl=1", "logo": "https://i0.wp.com/easycode.page/wp-content/uploads/2021/10/cockpit.png?fit=400%2C400&ssl=1",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/cockpit.sh", "script": "ct/cockpit.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "1024", "ram": 1024,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "misc", "type": "misc",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "8680", "interface_port": 8680,
"documentation": null, "documentation": null,
"website": null, "website": null,
"logo": "https://user-images.githubusercontent.com/674621/71187801-14e60a80-2280-11ea-94c9-e56576f76baf.png", "logo": "https://user-images.githubusercontent.com/674621/71187801-14e60a80-2280-11ea-94c9-e56576f76baf.png",

View File

@ -1,32 +0,0 @@
{
"name": "Collabora Online",
"slug": "collabora-online",
"categories": [],
"date_created": "2024-09-05",
"type": "LXC",
"updateable": 1,
"privileged": 0,
"interface_port": "9980",
"documentation": "",
"website": "https://www.collaboraonline.com/collabora-online/",
"logo": "https://wiki.calculate-linux.org/download_images/original/collabora-logo.png",
"description": "Collabora Online is a cloud-based office suite that enables real-time collaboration on documents, spreadsheets, and presentations. It supports multiple formats and integrates with platforms like Nextcloud and SharePoint",
"install_methods": [
{
"type": "default",
"script": "bash -c \"$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/collabora-online.sh)\"",
"resources": {
"cpu": "",
"ram": "",
"hdd": "",
"os": "",
"version": ""
}
}
],
"default_credentials": {
"username": "admin",
"password": "admin"
},
"alerts": []
}

View File

@ -1,32 +0,0 @@
{
"name": "Collabora Online",
"slug": "collabora-online",
"categories": [],
"date_created": "2024-09-05",
"type": "LXC",
"updateable": 1,
"privileged": 0,
"interface_port": "9980",
"documentation": "",
"website": "https://www.collaboraonline.com/collabora-online/",
"logo": "https://wiki.calculate-linux.org/download_images/original/collabora-logo.png",
"description": "Collabora Online is a cloud-based office suite that enables real-time collaboration on documents, spreadsheets, and presentations. It supports multiple formats and integrates with platforms like Nextcloud and SharePoint",
"install_methods": [
{
"type": "default",
"script": "bash -c \"$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/ct/collabora-online.sh)\"",
"resources": {
"cpu": "",
"ram": "",
"hdd": "",
"os": "",
"version": ""
}
}
],
"default_credentials": {
"username": "admin",
"password": "admin"
},
"alerts": []
}

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "8082", "interface_port": 8082,
"documentation": null, "documentation": null,
"website": "https://www.commafeed.com/", "website": "https://www.commafeed.com/",
"logo": "https://raw.githubusercontent.com/Athou/commafeed/master/commafeed-client/public/app-icon-144.png", "logo": "https://raw.githubusercontent.com/Athou/commafeed/master/commafeed-client/public/app-icon-144.png",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/commafeed.sh", "script": "ct/commafeed.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "3012", "interface_port": 3012,
"documentation": null, "documentation": null,
"website": "https://github.com/jhuckaby/Cronicle", "website": "https://github.com/jhuckaby/Cronicle",
"logo": "https://github.com/jhuckaby/Cronicle/blob/master/htdocs/images/logo-128.png?raw=true", "logo": "https://github.com/jhuckaby/Cronicle/blob/master/htdocs/images/logo-128.png?raw=true",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/cronicle.sh", "script": "ct/cronicle.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "2", "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "8084", "interface_port": 8084,
"documentation": null, "documentation": null,
"website": null, "website": null,
"logo": "https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fimg.informer.com%2Ficons_mac%2Fpng%2F128%2F350%2F350335.png&f=1&nofb=1", "logo": "https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fimg.informer.com%2Ficons_mac%2Fpng%2F128%2F350%2F350335.png&f=1&nofb=1",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/daemonsync.sh", "script": "ct/daemonsync.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "8", "hdd": 8,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "4000", "interface_port": 4000,
"documentation": null, "documentation": null,
"website": "https://dashy.to/", "website": "https://dashy.to/",
"logo": "https://github.com/Lissy93/dashy/raw/master/public/web-icons/dashy-logo.png", "logo": "https://github.com/Lissy93/dashy/raw/master/public/web-icons/dashy-logo.png",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/dashy.sh", "script": "ct/dashy.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "6", "hdd": 6,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "vm/debian-vm.sh", "script": "vm/debian-vm.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "2", "hdd": 2,
"os": null, "os": null,
"version": null "version": null
} }

View File

@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/debian.sh", "script": "ct/debian.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "2", "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": true, "privileged": true,
"interface_port": "80", "interface_port": 80,
"documentation": null, "documentation": null,
"website": "https://www.phoscon.de/en/conbee2/software#deconz", "website": "https://www.phoscon.de/en/conbee2/software#deconz",
"logo": "https://phoscon.de/img/phoscon-logo128x.svg", "logo": "https://phoscon.de/img/phoscon-logo128x.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/deconz.sh", "script": "ct/deconz.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "1024", "ram": 1024,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "8112", "interface_port": 8112,
"documentation": null, "documentation": null,
"website": "https://www.deluge-torrent.org/", "website": "https://www.deluge-torrent.org/",
"logo": "https://dev.deluge-torrent.org/chrome/common/deluge_logo.png", "logo": "https://dev.deluge-torrent.org/chrome/common/deluge_logo.png",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/deluge.sh", "script": "ct/deluge.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/docker.sh", "script": "ct/docker.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }
@ -29,9 +29,9 @@
"type": "alpine", "type": "alpine",
"script": "ct/alpine-docker.sh", "script": "ct/alpine-docker.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "1024", "ram": 1024,
"hdd": "2", "hdd": 2,
"os": "alpine", "os": "alpine",
"version": "3.19" "version": "3.19"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "5001", "interface_port": 5001,
"documentation": null, "documentation": null,
"website": "https://github.com/louislam/dockge", "website": "https://github.com/louislam/dockge",
"logo": "https://raw.githubusercontent.com/louislam/dockge/master/frontend/public/icon.svg", "logo": "https://raw.githubusercontent.com/louislam/dockge/master/frontend/public/icon.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/dockge.sh", "script": "ct/dockge.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "18", "hdd": 18,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "8096", "interface_port": 8096,
"documentation": null, "documentation": null,
"website": "https://emby.media/", "website": "https://emby.media/",
"logo": "https://github.com/home-assistant/brands/blob/master/core_integrations/emby/icon.png?raw=true", "logo": "https://github.com/home-assistant/brands/blob/master/core_integrations/emby/icon.png?raw=true",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/emby.sh", "script": "ct/emby.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "8", "hdd": 8,
"os": "ubuntu", "os": "ubuntu",
"version": "22.04" "version": "22.04"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "18083", "interface_port": 18083,
"documentation": null, "documentation": null,
"website": "https://www.emqx.io/", "website": "https://www.emqx.io/",
"logo": "https://github.com/hassio-addons/repository/blob/master/emqx/icon.png?raw=true", "logo": "https://github.com/hassio-addons/repository/blob/master/emqx/icon.png?raw=true",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/emqx.sh", "script": "ct/emqx.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "1024", "ram": 1024,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "8409", "interface_port": 8409,
"documentation": null, "documentation": null,
"website": "https://ersatztv.org/", "website": "https://ersatztv.org/",
"logo": "https://raw.githubusercontent.com/ErsatzTV/ErsatzTV/main/artwork/ersatztv-logo.svg", "logo": "https://raw.githubusercontent.com/ErsatzTV/ErsatzTV/main/artwork/ersatztv-logo.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/ersatztv.sh", "script": "ct/ersatztv.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "1024", "ram": 1024,
"hdd": "5", "hdd": 5,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "6052", "interface_port": 6052,
"documentation": null, "documentation": null,
"website": "https://esphome.io/", "website": "https://esphome.io/",
"logo": "https://esphome.io/_static/favicon.ico", "logo": "https://esphome.io/_static/favicon.ico",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/esphome.sh", "script": "ct/esphome.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "1024", "ram": 1024,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "7070", "interface_port": 7070,
"documentation": "https://evcc.io/#devices", "documentation": "https://evcc.io/#devices",
"website": "https://evcc.io/en/", "website": "https://evcc.io/en/",
"logo": "https://docs.evcc.io/en/img/logo.svg", "logo": "https://docs.evcc.io/en/img/logo.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/evcc.sh", "script": "ct/evcc.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "1024", "ram": 1024,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "5000", "interface_port": 5000,
"documentation": null, "documentation": null,
"website": "https://github.com/revenz/Fenrus", "website": "https://github.com/revenz/Fenrus",
"logo": "https://raw.githubusercontent.com/revenz/Fenrus/master/wwwroot/fenrus.svg", "logo": "https://raw.githubusercontent.com/revenz/Fenrus/master/wwwroot/fenrus.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/fenrus.sh", "script": "ct/fenrus.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "8083", "interface_port": 8083,
"documentation": null, "documentation": null,
"website": "https://fhem.de/", "website": "https://fhem.de/",
"logo": "https://avatars.githubusercontent.com/u/45183393?s=100&v=4", "logo": "https://avatars.githubusercontent.com/u/45183393?s=100&v=4",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/fhem.sh", "script": "ct/fhem.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "8", "hdd": 8,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "misc", "type": "misc",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "8080", "interface_port": 8080,
"documentation": null, "documentation": null,
"website": "https://filebrowser.org/features", "website": "https://filebrowser.org/features",
"logo": "https://github.com/community-scripts/ProxmoxVE/blob/main/misc/images/filebrowser.png?raw=true", "logo": "https://github.com/community-scripts/ProxmoxVE/blob/main/misc/images/filebrowser.png?raw=true",

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "8191", "interface_port": 8191,
"documentation": null, "documentation": null,
"website": "https://github.com/FlareSolverr/FlareSolverr", "website": "https://github.com/FlareSolverr/FlareSolverr",
"logo": "https://raw.githubusercontent.com/FlareSolverr/FlareSolverr/master/resources/flaresolverr_logo.svg", "logo": "https://raw.githubusercontent.com/FlareSolverr/FlareSolverr/master/resources/flaresolverr_logo.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/flaresolverr.sh", "script": "ct/flaresolverr.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "3000", "interface_port": 3000,
"documentation": null, "documentation": null,
"website": "https://flowiseai.com/", "website": "https://flowiseai.com/",
"logo": "https://flowiseai.com/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Flogo-color-high.e60de2f8.png&w=256&q=75", "logo": "https://flowiseai.com/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Flogo-color-high.e60de2f8.png&w=256&q=75",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/flowiseai.sh", "script": "ct/flowiseai.sh",
"resources": { "resources": {
"cpu": "4", "cpu": 4,
"ram": "4096", "ram": 4096,
"hdd": "10", "hdd": 10,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "3000", "interface_port": 3000,
"documentation": null, "documentation": null,
"website": "https://forgejo.org/", "website": "https://forgejo.org/",
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/forgejo.svg", "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/forgejo.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/forgejo.sh", "script": "ct/forgejo.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "10", "hdd": 10,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": true, "privileged": true,
"interface_port": "5000", "interface_port": 5000,
"documentation": null, "documentation": null,
"website": "https://frigate.video/", "website": "https://frigate.video/",
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/frigate.svg", "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/frigate.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/frigate.sh", "script": "ct/frigate.sh",
"resources": { "resources": {
"cpu": "4", "cpu": 4,
"ram": "4096", "ram": 4096,
"hdd": "20", "hdd": 20,
"os": "debian", "os": "debian",
"version": "11" "version": "11"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "3000", "interface_port": 3000,
"documentation": null, "documentation": null,
"website": "https://gitea.com", "website": "https://gitea.com",
"logo": "https://gitea.com/gitea/design/raw/branch/main/logo/logo.svg", "logo": "https://gitea.com/gitea/design/raw/branch/main/logo/logo.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/gitea.sh", "script": "ct/gitea.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "1024", "ram": 1024,
"hdd": "8", "hdd": 8,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "misc", "type": "misc",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "61208", "interface_port": 61208,
"documentation": null, "documentation": null,
"website": "https://nicolargo.github.io/glances/", "website": "https://nicolargo.github.io/glances/",
"logo": "https://raw.githubusercontent.com/nicolargo/glances/develop/docs/_static/Glances%20Logo.svg", "logo": "https://raw.githubusercontent.com/nicolargo/glances/develop/docs/_static/Glances%20Logo.svg",

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "1984", "interface_port": 1984,
"documentation": null, "documentation": null,
"website": "https://github.com/AlexxIT/go2rtc", "website": "https://github.com/AlexxIT/go2rtc",
"logo": "https://github.com/AlexxIT/go2rtc/blob/master/assets/logo.png?raw=true", "logo": "https://github.com/AlexxIT/go2rtc/blob/master/assets/logo.png?raw=true",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/go2rtc.sh", "script": "ct/go2rtc.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "53842", "interface_port": 53842,
"documentation": null, "documentation": null,
"website": "https://github.com/Forceu/Gokapi", "website": "https://github.com/Forceu/Gokapi",
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/linux.svg", "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/linux.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/gokapi.sh", "script": "ct/gokapi.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "80", "interface_port": 80,
"documentation": null, "documentation": null,
"website": "https://gotify.net/", "website": "https://gotify.net/",
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/gotify.svg", "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/gotify.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/gotify.sh", "script": "ct/gotify.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "2", "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "3000", "interface_port": 3000,
"documentation": null, "documentation": null,
"website": "https://grafana.com/", "website": "https://grafana.com/",
"logo": "https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fdocs.checkmk.com%2Flatest%2Fimages%2Fgrafana_logo.png&f=1&nofb=1", "logo": "https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fdocs.checkmk.com%2Flatest%2Fimages%2Fgrafana_logo.png&f=1&nofb=1",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/grafana.sh", "script": "ct/grafana.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "2", "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }
@ -29,9 +29,9 @@
"type": "alpine", "type": "alpine",
"script": "ct/alpine-grafana.sh", "script": "ct/alpine-grafana.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "256", "ram": 256,
"hdd": "1", "hdd": 1,
"os": "alpine", "os": "alpine",
"version": "3.19" "version": "3.19"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "80", "interface_port": 80,
"documentation": null, "documentation": null,
"website": "https://grocy.info/", "website": "https://grocy.info/",
"logo": "https://grocy.info/img/grocy_logo.svg", "logo": "https://grocy.info/img/grocy_logo.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/grocy.sh", "script": "ct/grocy.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "2", "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "vm", "type": "vm",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "8123", "interface_port": 8123,
"documentation": "https://www.home-assistant.io/docs/", "documentation": "https://www.home-assistant.io/docs/",
"website": "https://www.home-assistant.io/", "website": "https://www.home-assistant.io/",
"logo": "https://avatars.githubusercontent.com/u/13844975?s=200&v=4", "logo": "https://avatars.githubusercontent.com/u/13844975?s=200&v=4",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "vm/haos-vm.sh", "script": "vm/haos-vm.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "4096", "ram": 4096,
"hdd": "32", "hdd": 32,
"os": null, "os": null,
"version": null "version": null
} }

View File

@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/headscale.sh", "script": "ct/headscale.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "2", "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "7990", "interface_port": 7990,
"documentation": null, "documentation": null,
"website": "https://heimdall.site/", "website": "https://heimdall.site/",
"logo": "https://github.com/community-scripts/ProxmoxVE/blob/main/misc/images/heimdall.png?raw=true", "logo": "https://github.com/community-scripts/ProxmoxVE/blob/main/misc/images/heimdall.png?raw=true",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/heimdall-dashboard.sh", "script": "ct/heimdall-dashboard.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "2", "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "1883", "interface_port": 1883,
"documentation": null, "documentation": null,
"website": "https://www.hivemq.com/", "website": "https://www.hivemq.com/",
"logo": "https://hivemq.com/img/svg/hivemq-bee.svg", "logo": "https://hivemq.com/img/svg/hivemq-bee.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/hivemq.sh", "script": "ct/hivemq.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "1024", "ram": 1024,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "3000", "interface_port": 3000,
"documentation": null, "documentation": null,
"website": "https://homarr.dev/", "website": "https://homarr.dev/",
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/homarr.svg", "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/homarr.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/homarr.sh", "script": "ct/homarr.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "8", "hdd": 8,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "8123", "interface_port": 8123,
"documentation": "https://www.home-assistant.io/docs/", "documentation": "https://www.home-assistant.io/docs/",
"website": "https://www.home-assistant.io/", "website": "https://www.home-assistant.io/",
"logo": "https://avatars.githubusercontent.com/u/13844975?s=200&v=4", "logo": "https://avatars.githubusercontent.com/u/13844975?s=200&v=4",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/homeassistant-core.sh", "script": "ct/homeassistant-core.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "1024", "ram": 1024,
"hdd": "8", "hdd": 8,
"os": "ubuntu", "os": "ubuntu",
"version": "24.04" "version": "24.04"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "8123", "interface_port": 8123,
"documentation": "https://www.home-assistant.io/docs/", "documentation": "https://www.home-assistant.io/docs/",
"website": "https://www.home-assistant.io/", "website": "https://www.home-assistant.io/",
"logo": "https://avatars.githubusercontent.com/u/13844975?s=200&v=4", "logo": "https://avatars.githubusercontent.com/u/13844975?s=200&v=4",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/homeassistant.sh", "script": "ct/homeassistant.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "16", "hdd": 16,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "7745", "interface_port": 7745,
"documentation": null, "documentation": null,
"website": "https://homebox.software/en/", "website": "https://homebox.software/en/",
"logo": "https://homebox.software/lilbox.svg", "logo": "https://homebox.software/lilbox.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/homebox.sh", "script": "ct/homebox.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "1024", "ram": 1024,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "8581", "interface_port": 8581,
"documentation": null, "documentation": null,
"website": "https://homebridge.io/", "website": "https://homebridge.io/",
"logo": "https://raw.githubusercontent.com/homebridge/branding/master/logos/homebridge-color-round-stylized.png", "logo": "https://raw.githubusercontent.com/homebridge/branding/master/logos/homebridge-color-round-stylized.png",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/homebridge.sh", "script": "ct/homebridge.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "1024", "ram": 1024,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "3000", "interface_port": 3000,
"documentation": "https://gethomepage.dev/latest/configs/", "documentation": "https://gethomepage.dev/latest/configs/",
"website": "https://github.com/benphelps/homepage", "website": "https://github.com/benphelps/homepage",
"logo": "https://avatars.githubusercontent.com/u/122929872?v=4", "logo": "https://avatars.githubusercontent.com/u/122929872?v=4",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/homepage.sh", "script": "ct/homepage.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "1024", "ram": 1024,
"hdd": "3", "hdd": 3,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "8010", "interface_port": 8010,
"documentation": null, "documentation": null,
"website": "https://github.com/bastienwirtz/homer#---------homer", "website": "https://github.com/bastienwirtz/homer#---------homer",
"logo": "https://raw.githubusercontent.com/bastienwirtz/homer/main/public/assets/icons/logo.svg", "logo": "https://raw.githubusercontent.com/bastienwirtz/homer/main/public/assets/icons/logo.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/homer.sh", "script": "ct/homer.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "2", "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": true, "privileged": true,
"interface_port": "8090", "interface_port": 8090,
"documentation": null, "documentation": null,
"website": "https://github.com/awawa-dev/HyperHDR", "website": "https://github.com/awawa-dev/HyperHDR",
"logo": "https://raw.githubusercontent.com/awawa-dev/HyperHDR/master/resources/icons/hyperhdr-icon-256px.png", "logo": "https://raw.githubusercontent.com/awawa-dev/HyperHDR/master/resources/icons/hyperhdr-icon-256px.png",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/hyperhdr.sh", "script": "ct/hyperhdr.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "8090", "interface_port": 8090,
"documentation": null, "documentation": null,
"website": null, "website": null,
"logo": "https://github.com/hyperion-project/hyperion.ng/raw/master/doc/logo_dark.png?raw=true", "logo": "https://github.com/hyperion-project/hyperion.ng/raw/master/doc/logo_dark.png?raw=true",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/hyperion.sh", "script": "ct/hyperion.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "2", "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "8086", "interface_port": 8086,
"documentation": null, "documentation": null,
"website": "https://www.influxdata.com/", "website": "https://www.influxdata.com/",
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/influx.svg", "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/influx.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/influxdb.sh", "script": "ct/influxdb.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "8", "hdd": 8,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "8081", "interface_port": 8081,
"documentation": null, "documentation": null,
"website": "https://www.iobroker.net/#en/intro", "website": "https://www.iobroker.net/#en/intro",
"logo": "https://raw.githubusercontent.com/ioBroker/ioBroker/master/img/logos/ioBroker_Logo_256px.png", "logo": "https://raw.githubusercontent.com/ioBroker/ioBroker/master/img/logos/ioBroker_Logo_256px.png",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/iobroker.sh", "script": "ct/iobroker.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "8", "hdd": 8,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "26000", "interface_port": 26000,
"documentation": null, "documentation": null,
"website": "https://www.iventoy.com/", "website": "https://www.iventoy.com/",
"logo": "https://www.iventoy.com/static/img/iventoy.png", "logo": "https://www.iventoy.com/static/img/iventoy.png",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/iventoy.sh", "script": "ct/iventoy.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "2", "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "9117", "interface_port": 9117,
"documentation": null, "documentation": null,
"website": "https://github.com/Jackett/Jackett", "website": "https://github.com/Jackett/Jackett",
"logo": "https://raw.githubusercontent.com/Jackett/Jackett/master/src/Jackett.Common/Content/jacket_medium.png", "logo": "https://raw.githubusercontent.com/Jackett/Jackett/master/src/Jackett.Common/Content/jacket_medium.png",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/jackett.sh", "script": "ct/jackett.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "2", "hdd": 2,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "8096", "interface_port": 8096,
"documentation": null, "documentation": null,
"website": null, "website": null,
"logo": "https://github.com/home-assistant/brands/blob/master/core_integrations/jellyfin/icon.png?raw=true", "logo": "https://github.com/home-assistant/brands/blob/master/core_integrations/jellyfin/icon.png?raw=true",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/jellyfin.sh", "script": "ct/jellyfin.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "8", "hdd": 8,
"os": "ubuntu", "os": "ubuntu",
"version": "22.04" "version": "22.04"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "5055", "interface_port": 5055,
"documentation": null, "documentation": null,
"website": "https://github.com/Fallenbagel/jellyseerr", "website": "https://github.com/Fallenbagel/jellyseerr",
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/jellyseerr.svg", "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/jellyseerr.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/jellyseerr.sh", "script": "ct/jellyseerr.sh",
"resources": { "resources": {
"cpu": "4", "cpu": 4,
"ram": "4096", "ram": 4096,
"hdd": "8", "hdd": 8,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "5000", "interface_port": 5000,
"documentation": null, "documentation": null,
"website": "https://www.kavitareader.com/", "website": "https://www.kavitareader.com/",
"logo": "https://raw.githubusercontent.com/Kareadita/Kavita/develop/Logo/kavita.svg", "logo": "https://raw.githubusercontent.com/Kareadita/Kavita/develop/Logo/kavita.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/kavita.sh", "script": "ct/kavita.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "8", "hdd": 8,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "8080", "interface_port": 8080,
"documentation": "https://github.com/community-scripts/ProxmoxVE/discussions/193", "documentation": "https://github.com/community-scripts/ProxmoxVE/discussions/193",
"website": "https://www.keycloak.org/", "website": "https://www.keycloak.org/",
"logo": "https://www.keycloak.org/resources/images/logo.svg", "logo": "https://www.keycloak.org/resources/images/logo.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/keycloak.sh", "script": "ct/keycloak.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -16,13 +16,13 @@
"install_methods": [ "install_methods": [
{ {
"type": "default", "type": "default",
"script": "/ct/kimai.sh", "script": "ct/kimai.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "7", "hdd": 7,
"os": "Debian", "os": "Debian",
"version": 12 "version": "12"
} }
} }
], ],

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "25600", "interface_port": 25600,
"documentation": "https://komga.org/docs/introduction", "documentation": "https://komga.org/docs/introduction",
"website": "https://komga.org/", "website": "https://komga.org/",
"logo": "https://raw.githubusercontent.com/gotson/komga/25a1cfa8660c57335313c244e41c248371ffd9d6/komga-webui/src/assets/logo.svg", "logo": "https://raw.githubusercontent.com/gotson/komga/25a1cfa8660c57335313c244e41c248371ffd9d6/komga-webui/src/assets/logo.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/komga.sh", "script": "ct/komga.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "2048", "ram": 2048,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/kubo.sh", "script": "ct/kubo.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "4096", "ram": 4096,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "5299", "interface_port": 5299,
"documentation": null, "documentation": null,
"website": "https://gitlab.com/LazyLibrarian/LazyLibrarian", "website": "https://gitlab.com/LazyLibrarian/LazyLibrarian",
"logo": "https://gitlab.com/uploads/-/system/project/avatar/9317860/ll.png", "logo": "https://gitlab.com/uploads/-/system/project/avatar/9317860/ll.png",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/lazylibrarian.sh", "script": "ct/lazylibrarian.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "1024", "ram": 1024,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "8686", "interface_port": 8686,
"documentation": null, "documentation": null,
"website": "https://lidarr.audio/", "website": "https://lidarr.audio/",
"logo": "https://raw.githubusercontent.com/Lidarr/Lidarr/develop/Logo/256.png", "logo": "https://raw.githubusercontent.com/Lidarr/Lidarr/develop/Logo/256.png",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/lidarr.sh", "script": "ct/lidarr.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "1024", "ram": 1024,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "3000", "interface_port": 3000,
"documentation": "https://docs.linkwarden.app/", "documentation": "https://docs.linkwarden.app/",
"website": "https://linkwarden.app/", "website": "https://linkwarden.app/",
"logo": "https://raw.githubusercontent.com/linkwarden/linkwarden/main/assets/logo.png", "logo": "https://raw.githubusercontent.com/linkwarden/linkwarden/main/assets/logo.png",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/linkwarden.sh", "script": "ct/linkwarden.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "12", "hdd": 12,
"os": "ubuntu", "os": "ubuntu",
"version": "22.04" "version": "22.04"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "9000", "interface_port": 9000,
"documentation": "https://listmonk.app/docs/", "documentation": "https://listmonk.app/docs/",
"website": "https://listmonk.app/", "website": "https://listmonk.app/",
"logo": "https://listmonk.app/static/images/logo.svg", "logo": "https://listmonk.app/static/images/logo.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/listmonk.sh", "script": "ct/listmonk.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "17170", "interface_port": 17170,
"documentation": null, "documentation": null,
"website": "https://github.com/lldap/lldap", "website": "https://github.com/lldap/lldap",
"logo": "https://avatars.githubusercontent.com/u/129409591?s=64&v=4", "logo": "https://avatars.githubusercontent.com/u/129409591?s=64&v=4",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/lldap.sh", "script": "ct/lldap.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "3000", "interface_port": 3000,
"documentation": null, "documentation": null,
"website": "https://mafl.hywax.space/", "website": "https://mafl.hywax.space/",
"logo": "https://raw.githubusercontent.com/hywax/mafl/main/docs/public/logotype.svg", "logo": "https://raw.githubusercontent.com/hywax/mafl/main/docs/public/logotype.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/mafl.sh", "script": "ct/mafl.sh",
"resources": { "resources": {
"cpu": "2", "cpu": 2,
"ram": "2048", "ram": 2048,
"hdd": "6", "hdd": 6,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": "8080", "interface_port": 8080,
"documentation": "https://docs.magicmirror.builders/configuration/introduction.html#configuring-your-magicmirror", "documentation": "https://docs.magicmirror.builders/configuration/introduction.html#configuring-your-magicmirror",
"website": "https://docs.magicmirror.builders/", "website": "https://docs.magicmirror.builders/",
"logo": "https://github.com/MichMich/MagicMirror/raw/master/.github/header.png", "logo": "https://github.com/MichMich/MagicMirror/raw/master/.github/header.png",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/magicmirror.sh", "script": "ct/magicmirror.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "512", "ram": 512,
"hdd": "3", "hdd": 3,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

View File

@ -8,7 +8,7 @@
"type": "ct", "type": "ct",
"updateable": false, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": "3306", "interface_port": 3306,
"documentation": "https://github.com/community-scripts/ProxmoxVE/discussions/192", "documentation": "https://github.com/community-scripts/ProxmoxVE/discussions/192",
"website": "https://mariadb.org/", "website": "https://mariadb.org/",
"logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/mariadb.svg", "logo": "https://raw.githubusercontent.com/loganmarchione/homelab-svg-assets/main/assets/mariadb.svg",
@ -18,9 +18,9 @@
"type": "default", "type": "default",
"script": "ct/mariadb.sh", "script": "ct/mariadb.sh",
"resources": { "resources": {
"cpu": "1", "cpu": 1,
"ram": "1024", "ram": 1024,
"hdd": "4", "hdd": 4,
"os": "debian", "os": "debian",
"version": "12" "version": "12"
} }

Some files were not shown because too many files have changed in this diff Show More