{
  "manifest_version": "1",
  "slug": "cal-diy",
  "title": "Cal.diy",
  "headline": "Cal.diy",
  "description": "Cal.diy is an open-source, MIT-licensed scheduling platform from Cal.com.",
  "category": "productivity",
  "tags": [
    "scheduling",
    "booking page",
    "calendar",
    "cal.com"
  ],
  "url": "https://exe.dev/deploy/cal-diy",
  "markdown_url": "https://exe.dev/deploy/cal-diy.md",
  "upstream": {
    "website": "https://cal.diy",
    "source": "https://github.com/calcom/cal.diy",
    "license": "MIT"
  },
  "example_vm_name": "my-cal-diy",
  "stack": [
    {
      "name": "Cal.diy",
      "detail": "The official Docker image, in Docker Compose",
      "port": 3000,
      "data": "~/cal.diy"
    },
    {
      "name": "PostgreSQL",
      "detail": "A PostgreSQL container, in Docker Compose"
    }
  ],
  "access": [
    {
      "url": "https://my-cal-diy.exe.xyz:3000/",
      "who": "private",
      "what": "Cal.diy"
    }
  ],
  "delivers": [
    "Cal.diy from the official Docker image, with a PostgreSQL container, started with Docker Compose",
    "Its runtime variables and generated secrets in an `.env` file",
    "Cal.diy at `https://my-cal-diy.exe.xyz:3000/`, ready for the setup wizard"
  ],
  "deployable": true,
  "deploy": {
    "new_vm_url": "https://exe.dev/new?idea=cal-diy",
    "terminal": "curl -fsSL https://exe.dev/deploy/cal-diy/prompt.txt | ssh exe.dev new --prompt=/dev/stdin",
    "prompt": "Set up Cal.diy on this VM by following the exe.dev recipe at https://exe.dev/deploy/cal-diy.md from top to bottom.\n\nThe recipe's example VM name is my-cal-diy. This VM's name is the output of `hostname`: use it wherever the recipe writes my-cal-diy. Skip the step that creates the VM; you are on it.\n\nYou are done when all of these are true. Check each one yourself:\n- Cal.diy from the official Docker image, with a PostgreSQL container, started with Docker Compose\n- Its runtime variables and generated secrets in an `.env` file\n- Cal.diy at `https://my-cal-diy.exe.xyz:3000/`, ready for the setup wizard\n\nFinish with the URLs I should open.\n",
    "prompt_url": "https://exe.dev/deploy/cal-diy/prompt.txt"
  },
  "updated": "2026-10-17",
  "related": [
    "n8n",
    "claude-code",
    "openclaw",
    "code-server",
    "uptime-kuma"
  ],
  "alternatives": [
    "Cal.com"
  ]
}
