You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Fix Advanced users section: update "Clone calcom/docker" reference to
"calcom/cal.com" and remove outdated submodule update step
- Add required secret key generation instructions for NEXTAUTH_SECRET
and CALENDSO_ENCRYPTION_KEY in the Docker setup steps
- Add Calendar integration skip guidance for first-time users who get
stuck on the "Connect your Calendar" setup wizard step
- Update runtime variables table with generation commands for secrets
Fixescalcom#24833
Co-authored-by: shockzM1 <shockz@dsn.so>
Co-authored-by: Paperclip <noreply@paperclip.ing>
Copy file name to clipboardExpand all lines: README.md
+35-18Lines changed: 35 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -480,6 +480,29 @@ If you are evaluating Cal.com or running with minimal to no modifications, this
480
480
481
481
Most configurations can be left as-is, but for configuration options see [Important Run-time variables](#important-run-time-variables) below.
482
482
483
+
**Required Secret Keys**
484
+
485
+
Before starting, you must generate secure values for `NEXTAUTH_SECRET` and `CALENDSO_ENCRYPTION_KEY`. Using the default `secret` placeholder in production is a security risk.
Generate `CALENDSO_ENCRYPTION_KEY` (must be 32 bytes for AES256):
494
+
495
+
```bash
496
+
openssl rand -base64 24
497
+
```
498
+
499
+
Update your `.env` file with these values:
500
+
501
+
```env
502
+
NEXTAUTH_SECRET=<your_generated_secret>
503
+
CALENDSO_ENCRYPTION_KEY=<your_generated_key>
504
+
```
505
+
483
506
**Push Notifications (VAPID Keys)**
484
507
If you see an error like:
485
508
@@ -541,6 +564,8 @@ If you are evaluating Cal.com or running with minimal to no modifications, this
541
564
542
565
6. Open a browser to [http://localhost:3000](http://localhost:3000), or your defined NEXT_PUBLIC_WEBAPP_URL. The first time you run Cal.com, a setup wizard will initialize. Define your first user, and you're ready to go!
543
566
567
+
**Note for first-time setup (Calendar integration)**: During the setup wizard, you may encounter a "Connect your Calendar" step that appears to be required. If you do not wish to connect a calendar at this time, you can skip this step by navigating directly to the dashboard at `<NEXT_PUBLIC_WEBAPP_URL>/event-types`. Calendar integrations can be added later from the Settings > Integrations page.
568
+
544
569
#### Updating Cal.com
545
570
546
571
1. Stop the Cal.com stack
@@ -564,31 +589,23 @@ If you are evaluating Cal.com or running with minimal to no modifications, this
3. Update the calcom submodule. This project depends on the Cal.com source code, which is included here as a Git submodule. To make sure you get everything you need, update the submodule with the command below.
580
-
581
-
```bash
582
-
git submodule update --remote --init
601
+
cd cal.com
583
602
```
584
603
585
-
Note: DO NOT use recursive submodule update, otherwise you will receive a git authentication error.
586
-
587
-
4. Rename `.env.example` to `.env` and then update `.env`
604
+
3. Rename `.env.example` to `.env` and then update `.env`
588
605
589
606
For configuration options see [Build-time variables](#build-time-variables) below. Update the appropriate values in your .env file, then proceed.
590
607
591
-
5. Build the Cal.com docker image:
608
+
4. Build the Cal.com docker image:
592
609
593
610
Note: Due to application configuration requirements, an available database is currently required during the build process.
594
611
@@ -600,13 +617,13 @@ If you are evaluating Cal.com or running with minimal to no modifications, this
600
617
docker compose up -d database
601
618
```
602
619
603
-
6. Build Cal.com via docker compose (DOCKER_BUILDKIT=0 must be provided to allow a network bridge to be used at build time. This requirement will be removed in the future)
620
+
5. Build Cal.com via docker compose (DOCKER_BUILDKIT=0 must be provided to allow a network bridge to be used at build time. This requirement will be removed in the future)
604
621
605
622
```bash
606
623
DOCKER_BUILDKIT=0 docker compose build calcom
607
624
```
608
625
609
-
7. Start Cal.com via docker compose
626
+
6. Start Cal.com via docker compose
610
627
611
628
(Most basic users, and for First Run) To run the complete stack, which includes a local Postgres database, Cal.com web app, and Prisma Studio:
612
629
@@ -628,7 +645,7 @@ If you are evaluating Cal.com or running with minimal to no modifications, this
628
645
629
646
**Note: to run in attached mode for debugging, remove `-d` from your desired run command.**
630
647
631
-
8. Open a browser to [http://localhost:3000](http://localhost:3000), or your defined NEXT_PUBLIC_WEBAPP_URL. The first time you run Cal.com, a setup wizard will initialize. Define your first user, and you're ready to go!
648
+
7. Open a browser to [http://localhost:3000](http://localhost:3000), or your defined NEXT_PUBLIC_WEBAPP_URL. The first time you run Cal.com, a setup wizard will initialize. Define your first user, and you're ready to go!
632
649
633
650
#### Configuration
634
651
@@ -642,8 +659,8 @@ These variables must also be provided at runtime
| NEXT_PUBLIC_WEBAPP_URL | Base URL of the site. NOTE: if this value differs from the value used at build-time, there will be a slight delay during container start (to update the statically built files). | optional |`http://localhost:3000`|
644
661
| NEXTAUTH_URL | Location of the auth server. By default, this is the Cal.com docker instance itself. | optional |`{NEXT_PUBLIC_WEBAPP_URL}/api/auth`|
645
-
| NEXTAUTH_SECRET |must match build variable| required |`secret`|
646
-
| CALENDSO_ENCRYPTION_KEY |must match build variable | required |`secret`|
662
+
| NEXTAUTH_SECRET |Cookie encryption key. Must match build variable. Generate with: `openssl rand -base64 32`| required |`secret`|
663
+
| CALENDSO_ENCRYPTION_KEY |Authentication encryption key (32 bytes for AES256). Must match build variable. Generate with: `openssl rand -base64 24`| required |`secret`|
0 commit comments