diff --git a/apps/dokploy/public/templates/macos.png b/apps/dokploy/public/templates/macos.png new file mode 100644 index 00000000..617122c8 Binary files /dev/null and b/apps/dokploy/public/templates/macos.png differ diff --git a/apps/dokploy/templates/macos/docker-compose.yml b/apps/dokploy/templates/macos/docker-compose.yml new file mode 100644 index 00000000..585c1bf9 --- /dev/null +++ b/apps/dokploy/templates/macos/docker-compose.yml @@ -0,0 +1,16 @@ +services: + macos: + image: dockurr/macos:1.14 + volumes: + - macos-storage:/storage + environment: + - VERSION + 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: + macos-storage: \ No newline at end of file diff --git a/apps/dokploy/templates/macos/index.ts b/apps/dokploy/templates/macos/index.ts new file mode 100644 index 00000000..ebda4106 --- /dev/null +++ b/apps/dokploy/templates/macos/index.ts @@ -0,0 +1,33 @@ +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: "macos", + }, + ]; + + const envs = [ + "# https://github.com/dockur/macos?tab=readme-ov-file#how-do-i-select-the-macos-version", + "VERSION=15", + "", + "# Uncomment this if your PC/VM or etc does not support virtualization technology", + "# KVM=N", + "", + "DISK_SIZE=64G", + "RAM_SIZE=4G", + "CPU_CORES=2", + ]; + + return { + domains, + envs, + }; +} diff --git a/apps/dokploy/templates/templates.ts b/apps/dokploy/templates/templates.ts index c4e5e095..ad42ccb1 100644 --- a/apps/dokploy/templates/templates.ts +++ b/apps/dokploy/templates/templates.ts @@ -635,7 +635,7 @@ export const templates: TemplateData[] = [ id: "windows", name: "Windows (dockerized)", version: "4.00", - description: "Windows inside a Docker container.", + description: "MacOS inside a Docker container.", logo: "windows.png", links: { github: "https://github.com/dockur/windows", @@ -645,4 +645,18 @@ export const templates: TemplateData[] = [ tags: ["self-hosted", "open-source", "os"], load: () => import("./windows/index").then((m) => m.generate), }, + { + id: "macos", + name: "MacOS (dockerized)", + version: "1.14", + description: "MacOS inside a Docker container.", + logo: "macos.png", + links: { + github: "https://github.com/dockur/macos", + website: "", + docs: "https://github.com/dockur/macos?tab=readme-ov-file#how-do-i-use-it", + }, + tags: ["self-hosted", "open-source", "os"], + load: () => import("./macos/index").then((m) => m.generate), + }, ]; diff --git a/apps/dokploy/templates/windows/docker-compose.yml b/apps/dokploy/templates/windows/docker-compose.yml index 6527163a..8a083370 100644 --- a/apps/dokploy/templates/windows/docker-compose.yml +++ b/apps/dokploy/templates/windows/docker-compose.yml @@ -1,8 +1,6 @@ services: windows: image: dockurr/windows:4.00 - ports: - - "8006:8006" volumes: - win-storage:/storage environment: diff --git a/apps/dokploy/templates/windows/index.ts b/apps/dokploy/templates/windows/index.ts index a67de748..5e2728cb 100644 --- a/apps/dokploy/templates/windows/index.ts +++ b/apps/dokploy/templates/windows/index.ts @@ -23,7 +23,7 @@ export function generate(schema: Schema): Template { "", "DISK_SIZE=64G", "RAM_SIZE=4G", - "CPU_CORES=4", + "CPU_CORES=2", "", "USERNAME=Dokploy", "PASSWORD=",