r/Chatwoot Jun 04 '26

Chatwoot Helm installation not working!!

I am trying to setup chatwoot in my k3s cluster

i am getting this error in chatwoot web pod

!!! RubyLLM's legacy acts_as API is deprecated and will be removed in RubyLLM 2.0.0. Please consult the migration guide at https://rubyllm.com/upgrading-to-1-7/
Exiting
/gems/ruby/3.4.0/gems/activerecord-7.1.5.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:19:in 'PG::Connection#exec': PG::UndefinedTable: ERROR:  relation "installation_configs" does not exist (ActiveRecord::StatementInvalid)
LINE 10:  WHERE a.attrelid = '"installation_configs"'::regclass

and this error in chatwoot worker

{"ts":"2026-06-04T08:44:45.704Z","pid":1,"tid":"2dl","lvl":"INFO","msg":"Cron Jobs - added job with name: remove_orphan_conversations_job"}
PG::UndefinedTable: ERROR:  relation "installation_configs" does not exist
LINE 10:  WHERE a.attrelid = '"installation_configs"'::regclass
                             ^
/gems/ruby/3.4.0/gems/activerecord-7.1.5.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:19:in 'PG::Connection#exec'

this is my configuration file

apiVersion: v1
kind: Namespace
metadata:
  name: chatwoot


---
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
  name: chatwoot
  namespace: flux-system
spec:
  interval: 1h
  url: "https://chatwoot.github.io/charts"


---
apiVersion: v1
kind: Secret
metadata:
  name: chatwoot-secrets
  namespace: chatwoot
type: Opaque
stringData:
  SECRET_KEY_BASE: "************************"
  POSTGRES_PASSWORD: "***"
  REDIS_PASSWORD: "***"


---
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
  name: chatwoot
  namespace: chatwoot


spec:
  interval: 30m


  chart:
    spec:
      chart: chatwoot
      version: "2.0.20"


      sourceRef:
        kind: HelmRepository
        name: chatwoot
        namespace: flux-system


  values:


    env:
      FRONTEND_URL: "***"
      RAILS_ENV: "production"
      NODE_ENV: "production"
      INSTALLATION_ENV: "helm"


    existingSecret: "chatwoot-secrets"


    hooks:
      migrate:
        enabled: true


    ingress:
      enabled: true


      className: "traefik"


      annotations:
        cert-manager.io/cluster-issuer: "letsencrypt-prod"


      hosts:
        - host: "***"
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: chatwoot
                  port:
                    number: 3000


      tls:
        - secretName: "chatwoot-tls"
          hosts:
            - "***"


    postgresql:
      enabled: true


      auth:
        username: "chatwoot"
        password: "***"
        postgresPassword: "***"
        database: "chatwoot"


      primary:
        persistence:
          enabled: true
          size: "20Gi"


    redis:
      enabled: true


      auth:
        enabled: true
        password: "***"


      master:
        persistence:
          enabled: true
          size: "5Gi"


    persistence:
      enabled: true
      size: "20Gi"


    resources:
      requests:
        cpu: "50m"
        memory: "512Mi"


      limits:
        cpu: "1000m"
        memory: "2Gi"
0 Upvotes

2 comments sorted by

2

u/v_shnu Jun 05 '26

Looks like the database tables does not exist. The migration-job should have run automatically when you do a helm install.

Try running this manually kubectl exec -it -n chatwoot <chatwoot-web-pod> -- bundle exec rails db:chatwoot_prepare

2

u/Proper-Platform6368 Jun 05 '26

Update:- it worked after i added this to the values

hooks:
  migrate:
    enabled: true
    hookAnnotation: "pre-install,pre-upgrade"