Setup

Follow below steps to setup Plane

Add Helm Repo

Add Helm Repo
helm repo add makeplane https://helm.plane.so/

You must refer the configuration variables before proceeding. This can be done by running the below command or visiting Configuration tab.

helm show values plane-ce --repo https://helm.plane.so/ 

Basic Install

Basic Install
    helm install \
    --create-namespace \
    --namespace plane-ns \
    --set ingress.host="plane.example.com" \
    my-plane makeplane/plane-ce

Customise Remote Postgress URL

Customise Remote Postgress URL
    --set postgres.local_setup=false \
    --set env.pgdb_remote_url="postgress://[username]:[password]@[pg-host]/[db-name]" \

Customise Remote Redis URL

Customise Remote Redis URL
    --set redis.local_setup=false \
    --set env.remote_redis_url="redis://[redis-host]:[6379]" \

Customise SMTP Using

Customise SMTP Using
    --set smtp.host="smtp.example.com" \
    --set smtp.user="my-email-address@example.com" \
    --set smtp.password="my-password" \
    --set smtp.from="Plane Mailer <mailer@example.com>" \
    --set smtp.port=587 \
    --set smtp.use_tls=1 \

Customise with SSL

Before proceeding with SSL configuration, make sure you have Cert Manager installed on your cluster

Customise with SSL

    --set ssl.createIssuer=true \
    --set ssl.issuer=cloudflare \
    --set ssl.token=xxxxxxxx \
    --set ssl.server="https://acme-v02.api.letsencrypt.org/directory" \
    --set ssl.email="plane-admin@example.com" \
    --set ssl.generateCerts=true \
    --set ssl.domains="{plane.example.com,plane-minio.example.com}"  \

Configuration

SettingDefaultRequiredDescription
planeVersionlatestYes
Ingress Setup
ingress.appHost‘plane.example.com’Yes
ingress.minioHost‘plane-minio.example.com’(Optional) Required to open minio console interface
ingress.ingressClass‘nginx’Yescan be any of the supported ingress controller class (eg. nginx, traefik, etc)
ingress.clientMaxBodySize5mYesThis is set at the ingress controller level to support max data from client.
SSL Settings
ssl.createIssuerfalseSet it to true to create Let’s Encrypt Service based issuer
ssl.issuerhttp(Yes, if createIssuer = true) Allowed - cloudflare, digitalocean, http
ssl.token(Yes, if createIssuer = true) api token of dns provider, not required for http
ssl.serverhttps://acme-staging-v02.api.letsencrypt.org/directory(Yes, if createIssuer = true)Lets Encrypt SSL Generation API. Production: https://acme-v02.api.letsencrypt.org/directory
ssl.emailplane-admin@example.com(Yes, if createIssuer = true) Required by Let’s Encrypt. Change to a valid email id
ssl.generateCertsfalse
ssl.domains[](Yes, if generateCerts = true) Array List of domains
Redis Setup
redis.local_setuptrue
redis.imageredis:6.2.7-alpine
redis.servicePort6379Yes, if redis.local_setup=true
redis.storageClasslonghornYes, if redis.local_setup=true
redis.volumeSize1GiYes, if redis.local_setup=true
Postgress DB Setup
postgres.local_setuptrue
postgres.imagepostgres:15.2-alpineYes, if postgres.local_setup=true
postgres.servicePort5432Yes, if postgres.local_setup=true
postgres.storageClasslonghornYes, if postgres.local_setup=true
postgres.volumeSize5GiYes, if postgres.local_setup=true
Doc Store (Minio) Setup
minio.local_setuptrueIn case this is false, AWS-S3 will settings will be required
minio.imageminio/minio:RELEASE.2023-10-25T06-33-25ZYes, if minio.local_setup=true
minio.servicePort9000Yes, if minio.local_setup=true
minio.consolePort9090Yes, if minio.local_setup=true
minio.storageClasslonghornYes, if minio.local_setup=true
minio.volumeSize5GiYes, if minio.local_setup=true
minio.root_useradminYes, if minio.local_setup=true
minio.root_passwordpasswordYes, if minio.local_setup=true
Web Deployment
web.replicas3Yesmust be >=1
web.memoryLimit100Mi
web.cpuLimit200m
web.hscale.minReplicas1
web.hscale.maxReplicas10
web.hscale.percentMemoryUtilization80
web.hscale.percentCpuUtilization60
Space Deployment
space.replicas3Yesmust be >=1
space.memoryLimit100Mi
space.cpuLimit200m
space.hscale.minReplicas1
space.hscale.maxReplicas10
space.hscale.percentMemoryUtilization
space.hscale.percentCpuUtilization60
API Deployment
api.replicas3Yesmust be >=1
api.servicePort8000
SMTP Settings
smtp.hostFor Email Delivery
smtp.userFor Email Delivery
smtp.passwordFor Email Delivery
smtp.port587For Email Delivery
smtp.from‘Plane Mailer mailer@example.com
smtp.use_tls1
smtp.use_ssl0
OAUTH Settings
oauth.enabled0
oauth.google_client_id
oauth.github_client_id
oauth.github_client_secret
Common Environment Settings
env.pgdb_usernameplane
env.pgdb_passwordplane
env.pgdb_nameplane
env.pgdb_remote_hostRequired, in case of Remote Host provider
env.pgdb_remote_urlRequired, in case of Remote Postgress DB Url
env.remote_redis_urlRequired, in case of Remote Redis Instance
env.docstore_bucket‘uploads’YESMinio / AWS-S3 Bucket Name
env.doc_upload_size_limit5242880YESDocument Upload Size Limit (default to 5Mb)
env.aws_access_keyRequired, in case minio.local_setup = false
env.aws_secret_access_keyRequired, in case minio.local_setup = false
env.aws_regionRequired, in case minio.local_setup = false
env.enable_signup1Valid values are 0 & 1
env.enable_email_password1Valid values are 0 & 1
env.enable_magic_link_login0Valid values are 0 & 1. In case this is set to 1, SMTP settings would be required
env.secret_key‘60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5’Random secret key for data encoding during transit.
env.sentry_dsnSentry DSN for error logging