{ "name": "dokploy", "version": "v0.29.8", "private": true, "license": "Apache-2.0", "type": "module", "scripts": { "build": "npm run build-server && npm run build-next", "start": "node -r dotenv/config dist/migration.mjs && node -r dotenv/config dist/server.mjs", "build-server": "tsx esbuild.config.ts", "build-next": "next build --webpack", "setup": "tsx -r dotenv/config setup.ts && sleep 5 && pnpm run migration:run", "wait-for-postgres": "node -r dotenv/config dist/wait-for-postgres.mjs", "wait-for-postgres-dev": "tsx -r dotenv/config wait-for-postgres.ts", "reset-password": "node -r dotenv/config dist/reset-password.mjs", "reset-2fa": "node -r dotenv/config dist/reset-2fa.mjs", "migrate-auth-secret": "node -r dotenv/config dist/migrate-auth-secret.mjs", "dev": "tsx -r dotenv/config ./server/server.ts --project tsconfig.server.json ", "studio": "drizzle-kit studio --config ./server/db/drizzle.config.ts", "migration:generate": "drizzle-kit generate --config ./server/db/drizzle.config.ts", "migration:run": "tsx -r dotenv/config migration.ts", "manual-migration:run": "tsx -r dotenv/config migrate.ts", "migration:up": "drizzle-kit up --config ./server/db/drizzle.config.ts", "migration:drop": "drizzle-kit drop --config ./server/db/drizzle.config.ts", "db:push": "drizzle-kit push --config ./server/db/drizzle.config.ts", "db:truncate": "tsx -r dotenv/config ./server/db/reset.ts", "db:studio": "drizzle-kit studio --config ./server/db/drizzle.config.ts", "check": "biome check --write --no-errors-on-unmatched --files-ignore-unknown=true", "format": "biome format --write", "lint": "biome lint", "typecheck": "tsc --noEmit", "db:seed": "tsx -r dotenv/config ./server/db/seed.ts", "db:clean": "tsx -r dotenv/config ./server/db/reset.ts", "docker:build": "./docker/build.sh", "docker:push": "./docker/push.sh", "docker:build:canary": "./docker/build.sh canary", "docker:push:canary": "./docker/push.sh canary", "version": "echo $(node -p \"require('./package.json').version\")", "test": "vitest --config __test__/vitest.config.ts", "generate:openapi": "tsx -r dotenv/config scripts/generate-openapi.ts" }, "dependencies": { "@ai-sdk/anthropic": "^3.0.44", "@ai-sdk/azure": "^3.0.30", "@ai-sdk/cohere": "^3.0.21", "@ai-sdk/deepinfra": "^2.0.34", "@ai-sdk/mistral": "^3.0.20", "@ai-sdk/openai": "^3.0.29", "@ai-sdk/openai-compatible": "^2.0.30", "@better-auth/api-key": "1.5.4", "@better-auth/sso": "1.5.4", "@codemirror/autocomplete": "^6.18.6", "@codemirror/lang-css": "^6.3.1", "@codemirror/lang-json": "^6.0.1", "@codemirror/lang-yaml": "^6.1.2", "@codemirror/language": "^6.11.0", "@codemirror/legacy-modes": "6.4.0", "@codemirror/search": "^6.6.0", "@codemirror/view": "^6.39.15", "@dokploy/server": "workspace:*", "@dokploy/trpc-openapi": "0.0.18", "@faker-js/faker": "^8.4.1", "@hookform/resolvers": "^5.2.2", "@octokit/auth-app": "^6.1.3", "@octokit/webhooks": "^13.9.0", "@radix-ui/react-accordion": "1.1.2", "@radix-ui/react-alert-dialog": "^1.1.14", "@radix-ui/react-avatar": "^1.1.10", "@radix-ui/react-checkbox": "^1.3.2", "@radix-ui/react-collapsible": "^1.1.11", "@radix-ui/react-context-menu": "^2.2.16", "@radix-ui/react-dialog": "^1.1.14", "@radix-ui/react-dropdown-menu": "^2.1.15", "@radix-ui/react-label": "^2.1.7", "@radix-ui/react-popover": "^1.1.14", "@radix-ui/react-progress": "^1.1.7", "@radix-ui/react-radio-group": "^1.3.7", "@radix-ui/react-scroll-area": "^1.2.9", "@radix-ui/react-select": "^2.2.5", "@radix-ui/react-separator": "^1.1.7", "@radix-ui/react-slot": "^1.2.3", "@radix-ui/react-switch": "^1.2.5", "@radix-ui/react-tabs": "^1.1.12", "@radix-ui/react-toggle": "^1.1.9", "@radix-ui/react-tooltip": "^1.2.7", "@react-email/components": "^0.0.21", "@stepperize/react": "4.0.1", "@stripe/stripe-js": "4.8.0", "@tailwindcss/typography": "0.5.16", "@tanstack/react-query": "^5.90.21", "@tanstack/react-table": "^8.21.3", "@trpc/client": "^11.10.0", "@trpc/next": "^11.10.0", "@trpc/react-query": "^11.10.0", "@trpc/server": "^11.10.0", "@uiw/codemirror-theme-github": "^4.23.12", "@uiw/react-codemirror": "^4.23.12", "@xterm/addon-attach": "0.10.0", "@xterm/addon-clipboard": "0.1.0", "@xterm/xterm": "^5.5.0", "adm-zip": "^0.5.16", "ai": "^6.0.86", "ai-sdk-ollama": "^3.7.0", "bcrypt": "5.1.1", "better-auth": "1.5.4", "bl": "6.0.11", "boxen": "^7.1.1", "bullmq": "5.67.3", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^0.2.1", "copy-to-clipboard": "^3.3.3", "date-fns": "3.6.0", "dockerode": "4.0.2", "dompurify": "^3.3.3", "dotenv": "16.4.5", "drizzle-orm": "0.45.1", "drizzle-zod": "0.8.3", "fancy-ansi": "^0.1.3", "input-otp": "^1.4.2", "js-cookie": "^3.0.5", "lodash": "4.17.21", "lucide-react": "^0.469.0", "micromatch": "4.0.8", "nanoid": "3.3.11", "next": "16.2.6", "next-themes": "^0.2.1", "nextjs-toploader": "^3.9.17", "node-os-utils": "2.0.1", "node-pty": "1.1.0", "node-schedule": "2.1.1", "nodemailer": "6.9.14", "octokit": "3.1.2", "pino": "9.4.0", "pino-pretty": "11.2.2", "postgres": "3.4.4", "public-ip": "6.0.2", "qrcode": "^1.5.4", "react": "18.2.0", "react-confetti-explosion": "2.1.2", "react-day-picker": "8.10.1", "react-dom": "18.2.0", "react-hook-form": "^7.71.2", "react-markdown": "^9.1.0", "recharts": "^2.15.3", "resend": "^6.0.2", "semver": "7.7.3", "shell-quote": "^1.8.1", "slugify": "^1.6.6", "sonner": "^1.7.4", "ssh2": "~1.16.0", "stripe": "17.2.0", "superjson": "^2.2.2", "swagger-ui-react": "^5.31.2", "tailwind-merge": "^2.6.0", "tailwindcss-animate": "^1.0.7", "toml": "3.0.0", "undici": "^6.21.3", "use-resize-observer": "9.1.0", "ws": "8.16.0", "xterm-addon-fit": "^0.8.0", "yaml": "2.8.1", "zod": "^4.3.6", "zod-form-data": "^3.0.1" }, "devDependencies": { "@types/adm-zip": "^0.5.7", "@types/bcrypt": "5.0.2", "@types/dompurify": "^3.2.0", "@types/js-cookie": "^3.0.6", "@types/lodash": "4.17.4", "@types/micromatch": "4.0.9", "@types/node": "^24.4.0", "@types/node-schedule": "2.1.6", "@types/nodemailer": "^6.4.17", "@types/qrcode": "^1.5.5", "@types/react": "^18.3.5", "@types/react-dom": "^18.3.0", "@types/semver": "7.7.1", "@types/shell-quote": "^1.7.5", "@types/ssh2": "1.15.1", "@types/swagger-ui-react": "^4.19.0", "@types/ws": "8.5.10", "autoprefixer": "10.4.12", "drizzle-kit": "^0.31.4", "esbuild": "0.20.2", "lint-staged": "^15.5.2", "memfs": "^4.17.2", "simple-icons": "^16.14.0", "tailwindcss": "^3.4.17", "tsx": "^4.16.2", "typescript": "^5.8.3", "vite-tsconfig-paths": "4.3.2", "vitest": "^4.0.18" }, "ct3aMetadata": { "initVersion": "7.25.2" }, "packageManager": "pnpm@10.22.0", "engines": { "node": "^24.4.0", "pnpm": ">=10.22.0" }, "lint-staged": { "*": [ "biome check --write --no-errors-on-unmatched --files-ignore-unknown=true" ] } }