Coder Social home page Coder Social logo

calcom-helm's Introduction

Calcom Helm

Cal.com is a powerful tool for booking meetings. It offers integrations that allow you to store contact information into a CRM as events booked in your calendar. The user-friendly interface helps your leads and customers easily connect with you.

Cal.com Interface

Purpose

This Helm Chart provides a proposal for deploying Cal.com on a Kubernetes cluster using Helm. It utilizes the Docker image provided by Cal.com.

Terminal Installation

Usage

# Add the Helm repository
helm repo add calcom https://pyrrha.github.io/calcom-helm

# Verify the repository
helm search repo calcom

Using standalone Calcom

To deploy Calcom as a standalone application, simply run:

helm upgrade --install --values values.yaml calcom calcom

In the values.yaml file, you should provide Ingress settings, Ingress class, and some TLS information for proper configuration. For detailed configuration options, please refer to the Variables section below.

Using Calcom Stack

To deploy Calcom along with a PostgreSQL database, run:

helm upgrade --install --values values.yaml calcom-stack calcom-stack

In the value file, you can also configure Ingress information. Additionally, you can use the PostgreSQL fields to specify the user, password, and database. However, it's important to note that this is not a secure option. The recommended approach is to use another secret for these credentials, following the guidance provided in postgresql.auth.existingSecret.

👉 An example of a Persistent Volume (PV) is provided to help you quickly get started. This PV will be used by the database to store all the information about the application. Please use it with caution.

Variables

The variables used in this Chart are based on the latest application environment file example. Some variables might be missing or have been newly introduced. We welcome contributions, so feel free to open a pull request to add missing variables.

Since many of these variables contain tokens or password information, they should be stored in a Kubernetes secret. Variables that have already been handled are located in the deployment file.

👉 You can find an example of the minimal required variables in the example directory.

Mandatory Runtime Variables

⚠️ These variables must also be provided at runtime, or the Chart will not function correctly. They must be present in the secret referenced as secretRef in Calcom's values.

Variable Description
NEXT_PUBLIC_WEBAPP_URL The base URL of the site.
NEXTAUTH_SECRET Secret used to encrypt JWTs for NextAuth.
CALENDSO_ENCRYPTION_KEY Application Key for symmetric encryption and decryption. It must be 32 bytes for AES256 encryption algorithm.
DATABASE_URL The database URL including credentials.

Contributing

Work in progress. You can open an issue at this time.

Troubleshooting

Application Variable Not Working in the Chart

Development of the Chart may not always keep up with changes in the application. If you encounter an issue with a variable, first check if it's present in the deployment file. If it's missing, you can either open a pull request or an issue to have it added. Alternatively, you can customize the deployment file in your own configuration if necessary.

calcom-helm's People

Contributors

pyrrha avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

calcom-helm's Issues

liveness/readiness checks not working and can't disable.

I was able to briefly see the admin setup screen for cal.com self hosted but then the liveness/readiness checks failed.

  Normal   Pulled     51m (x73 over 4h54m)      kubelet  Container image "calcom/cal.com:v3.4.7" already present on machine
  Warning  Unhealthy  16m (x83 over 4h54m)      kubelet  Liveness probe failed: Get "http://10.244.1.140:3000/": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
  Warning  BackOff    6m29s (x1041 over 4h49m)  kubelet  Back-off restarting failed container
  Warning  Unhealthy  86s (x88 over 4h54m)      kubelet  Readiness probe failed: Get "http://10.244.1.140:3000/": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

But I could definitely get to the UI via the ingress before the container was killed.

I see you can't disable the liveness/readiness checks in the chart. Maybe that should be an option?

Not sure why they're failing yet.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

This repository currently has no open or pending branches.

Detected dependencies

github-actions
.github/workflows/release.yml
  • actions/checkout v4
  • azure/setup-helm v4
  • helm/chart-releaser-action v1.6.0
helm-values
charts/calcom/values.yaml
  • calcom/cal.com v3.9.1
helmv3
charts/calcom-stack/Chart.yaml
  • postgresql 15.2.5
  • calcom 0.5.0

  • Check this box to trigger a request for Renovate to run again on this repository

Why two separate charts?

Thanks for making this chart!
Are there application differences between calcom and calcom-stack, or is it just the extra database?
Because all charts I used so far simply had a postgresql.enabled field to toggle whether to deploy the postgres subchart, but maybe I am misunderstanding something.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.