feat: remove all proprietary/enterprise code for community edition#8
feat: remove all proprietary/enterprise code for community edition#8ajnart wants to merge 2 commits into
Conversation
Remove all DSAL-licensed proprietary features to create a clean Apache 2.0 community edition. This includes: - Audit Logs (UI, router, service) - Custom Roles management (UI, router) - License Key system (UI, router, service, validation utils) - Enterprise SSO with OIDC/SAML (UI, router, service) - Forward Authentication (UI, router, service, traefik middleware) - Whitelabeling (UI, router, provider) - Social auth (GitHub/Google sign-in components) - Enterprise backup cron jobs - enterpriseProcedure tRPC middleware - hasValidLicense gating across permission, server, and git-provider services Stubbed audit() and useWhitelabeling hooks as no-ops to avoid modifying 40+ router call sites and 16+ page imports respectively. DB schema columns retained to avoid requiring migrations on existing installations. 35 files deleted, 32 files modified, ~8400 lines removed. Zero new TypeScript errors introduced (651 pre-existing → 651 after).
Next.js 16 defaults to Turbopack which fails in this pnpm monorepo due to workspace root inference. Explicitly pass `webpack: true` when TURBOPACK env var is not set.
|
Hi @ajnart, thanks for this PR. Are there plans to replace these removed features with community implementations? Removing the code entirely means users who purchase a Dokploy license can't use enterprise features on this fork either. I'd prefer to keep the existing license gating in place so Dokploy can still benefit from their work. |
That's a valid answer, I think re-building a community implementation would be a waste of time. I was just under the impression that shipping any kind of alternative version with these files was forbidden as per the terms |
|
That makes sense. My understanding is that keeping the proprietary code with the license gating intact doesn't violate the DSAL terms. The features still require a valid Dokploy license key to activate, so their monetization is preserved. The fork only adds improvements to the open-source parts (concurrent deployments, network management). But if there's a specific clause that prohibits redistribution even with the gate in place, happy to look further. |
Summary
components/proprietary/,routers/proprietary/,services/proprietary/) plus enterprise settings pages, enterprise utils, and forward-auth UIaudit()anduseWhitelabelinghooks as no-ops to avoid modifying 40+ router call sites and 16+ page importsenableEnterpriseFeatures,forwardAuthEnabled,enforceSSO, etc.) to avoid requiring migrations on existing installationsFeatures removed
enterpriseProceduretRPC middlewarehasValidLicensegating in permission, server, and git-provider servicesImpact
LICENSE_PROPRIETARY.mddeleted,LICENSE.MDcleaned of dual-license referenceTest plan
pnpm dev)