diff --git a/apps/dokploy/public/templates/windows.png b/apps/dokploy/public/templates/windows.png new file mode 100644 index 000000000..61ced4559 Binary files /dev/null and b/apps/dokploy/public/templates/windows.png differ diff --git a/apps/dokploy/templates/templates.ts b/apps/dokploy/templates/templates.ts index 7f024d6b5..c4e5e0950 100644 --- a/apps/dokploy/templates/templates.ts +++ b/apps/dokploy/templates/templates.ts @@ -631,4 +631,18 @@ export const templates: TemplateData[] = [ tags: ["self-hosted", "open-source", "manager"], load: () => import("./hi-events/index").then((m) => m.generate), }, + { + id: "windows", + name: "Windows (dockerized)", + version: "4.00", + description: "Windows inside a Docker container.", + logo: "windows.png", + links: { + github: "https://github.com/dockur/windows", + website: "", + docs: "https://github.com/dockur/windows?tab=readme-ov-file#how-do-i-use-it", + }, + tags: ["self-hosted", "open-source", "os"], + load: () => import("./windows/index").then((m) => m.generate), + }, ]; diff --git a/apps/dokploy/templates/windows/docker-compose.yml b/apps/dokploy/templates/windows/docker-compose.yml new file mode 100644 index 000000000..6527163a2 --- /dev/null +++ b/apps/dokploy/templates/windows/docker-compose.yml @@ -0,0 +1,19 @@ +services: + windows: + image: dockurr/windows:4.00 + ports: + - "8006:8006" + volumes: + - win-storage:/storage + environment: + - VERSION + - KVM + devices: + # If in .env string 'KVM=N' is not commented, you need to comment line below + - /dev/kvm + cap_add: + - NET_ADMIN + stop_grace_period: 2m + +volumes: + win-storage: \ No newline at end of file diff --git a/apps/dokploy/templates/windows/index.ts b/apps/dokploy/templates/windows/index.ts new file mode 100644 index 000000000..a67de7481 --- /dev/null +++ b/apps/dokploy/templates/windows/index.ts @@ -0,0 +1,39 @@ +import { + type DomainSchema, + type Schema, + type Template, + generateRandomDomain, +} from "../utils"; + +export function generate(schema: Schema): Template { + const domains: DomainSchema[] = [ + { + host: generateRandomDomain(schema), + port: 8006, + serviceName: "windows", + }, + ]; + + const envs = [ + "# https://github.com/dockur/windows?tab=readme-ov-file#how-do-i-select-the-windows-version", + "VERSION=win11", + "", + "# Uncomment this if your PC/VM or etc does not support virtualization technology", + "# KVM=N", + "", + "DISK_SIZE=64G", + "RAM_SIZE=4G", + "CPU_CORES=4", + "", + "USERNAME=Dokploy", + "PASSWORD=", + "", + "# https://github.com/dockur/windows?tab=readme-ov-file#how-do-i-select-the-windows-language", + "LANGUAGE=English", + ]; + + return { + domains, + envs, + }; +}