Deploying the Open‑Source Scheduling Tool Calendso: A Step‑by‑Step Guide
This article introduces Calendso, an open‑source alternative to Calendly, and provides a detailed, step‑by‑step tutorial—including cloning the repository, installing dependencies, configuring environment variables, setting up the Prisma database, and running the application—to help developers deploy their own self‑hosted scheduling service.
Calendso is an open‑source scheduling application that can be self‑hosted, offering full control over events and data, similar to the relationship between GitLab and GitHub.
Build and Deploy
1. Clone the source code:
git clone https://github.com/calendso/calendso.git2. Install dependencies with Yarn:
yarn install3. Copy .env.example to .env and edit the file to set your environment variables, replacing <user> , <pass> , <db-host> , and <db-port> with appropriate values.
DATABASE_URL='postgresql://<user>:<pass>@<db-host>:<db-port>'
GOOGLE_API_CREDENTIALS='secret'4. Apply the Prisma schema to set up the database:
npx prisma db push5. Run the application in development mode:
yarn dev6. Open Prisma Studio to view or edit database content:
npx prisma studio7. In Prisma Studio, add a new user record, fill in the fields (the password should be encrypted with BCrypt), and save the record.
8. Access the application at http://localhost:3000 and log in with the newly created user.
Below is a small example screenshot of the running application:
Calendso has gained significant community interest, with over 7.8K stars on GitHub and 653 forks, and the project can be found at https://github.com/calendso/calendso .
Top Architect
Top Architect focuses on sharing practical architecture knowledge, covering enterprise, system, website, large‑scale distributed, and high‑availability architectures, plus architecture adjustments using internet technologies. We welcome idea‑driven, sharing‑oriented architects to exchange and learn together.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.