309340d3f3
* fix: add missing peer dependencies and fix inconsistent peer dependency declarations - @calcom/ui: Move react from dependencies to peerDependencies (was inconsistent with react-dom being a peer) - @calcom/emails: Move react and react-dom to peerDependencies - @coss/ui: Add react and react-dom as peerDependencies (uses lucide-react and @base-ui/react) - @calcom/app-store: Add react, react-dom, zod as peerDependencies (depends on @calcom/features which has these peers) - @calcom/platform-libraries: Add react, react-dom, stripe, zod as peerDependencies (depends on @calcom/features) - @calcom/features: Add next as peerDependency (depends on @calcom/trpc which has next as peer), update react/react-dom to flexible version ranges - @calcom/features/ee: Add react, react-dom, react-hook-form as peerDependencies (uses @calcom/ui and @hookform packages) Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: add more peer dependencies for PnP compatibility Additional changes: - @calcom/app-store: Move stripe from dependencies to peerDependencies - @calcom/ui: Move @tanstack/react-query to peerDependencies (singleton pattern) - @calcom/trpc: Move @tanstack/react-query to peerDependencies (singleton pattern) - @calcom/atoms: Move @tanstack/react-query to peerDependencies (singleton pattern) - @calcom/stripepayment: Add react, react-dom, stripe as peerDependencies - @calcom/caldavcalendar: Add react, react-dom, react-hook-form as peerDependencies - @calcom/exchange2013calendar: Add react, react-dom, react-hook-form as peerDependencies - @calcom/exchange2016calendar: Add react, react-dom, react-hook-form as peerDependencies - @calcom/ics-feed: Add react, react-dom, react-hook-form as peerDependencies Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> * fix: revert dependency moves for packages with own builds Packages with their own build step should not have dependencies moved to peerDependencies as they need those deps at build time. Reverted: - @calcom/trpc: Keep @tanstack/react-query out of peerDependencies - @calcom/atoms: Restore @tanstack/react-query to dependencies - @calcom/stripepayment: Restore stripe to dependencies Co-Authored-By: Volnei Munhoz <volnei.munhoz@gmail.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Enterprise Edition
Welcome to the Enterprise Edition ("/ee") of Cal.com.
The /ee subfolder is the place for all the Enterprise Edition features from our hosted plan and enterprise-grade features for Enterprise such as SSO, SAML, OIDC, SCIM, SIEM and much more or Platform plan to build a marketplace.
❗ WARNING: This repository is copyrighted (unlike our main repo). You are not allowed to use this code to host your own version of app.cal.com without obtaining a proper license first❗
Setting up Stripe
- Create a stripe account or use an existing one. For testing, you should use all stripe dashboard functions with the Test-Mode toggle in the top right activated.
- Open Stripe ApiKeys save the token starting with
pk_...toNEXT_PUBLIC_STRIPE_PUBLIC_KEYandsk_...toSTRIPE_PRIVATE_KEYin the .env file. - Open Stripe Connect Settings and activate OAuth for Standard Accounts
- Add
<CALENDSO URL>/api/integrations/stripepayment/callbackas redirect URL. - Copy your client*id (
ca*...) toSTRIPE_CLIENT_IDin the .env file. - Open Stripe Webhooks and add
<CALENDSO URL>/api/integrations/stripepayment/webhookas webhook for connected applications. - Select all
payment_intentevents for the webhook. - Copy the webhook secret (
whsec_...) toSTRIPE_WEBHOOK_SECRETin the .env file.
Setting up SAML login
- Set SAML_DATABASE_URL to a postgres database. Please use a different database than the main Cal instance since the migrations are separate for this database. For example
postgresql://postgres:@localhost:5450/cal-saml - Set SAML_ADMINS to a comma separated list of admin emails from where the SAML metadata can be uploaded and configured.
- Create a SAML application with your Identity Provider (IdP) using the instructions here - SAML Setup
- Remember to configure access to the IdP SAML app for all your users (who need access to Cal).
- You will need the XML metadata from your IdP later, so keep it accessible.
- Log in to one of the admin accounts configured in SAML_ADMINS and then navigate to Settings -> Security.
- You should see a SAML configuration section, copy and paste the XML metadata from step 5 and click on Save.
- Your provisioned users can now log into Cal using SAML.