This project provides a Helm chart for deploying Ghostfolio: the Open Source Wealth Management Software into any Kubernetes cluster. It integrates the official Docker images built by the Ghostfolio team and hosted on DockerHub. It also includes PostgreSQL and Redis servers that use the Bitnami charts, but it is easy to provide your own.
The charts are built and then published to these project GitHub Pages, allowing anyone to quickly deploy and test the application.
- Ghostfolio Helm Chart
- A Kubernetes cluster,
- A PostgreSQL server (optional),
- A Redis instance (optional),
- The Helm client installed locally (see Quickstart Guide),
- The
kubectl
command-line tool installed locally (optionnal, see Install Tools)
Like any other Helm chart, the available configuration options can be found in the charts/ghostfolio/values.yaml
configuration file. I recommend you to override any values in a dedicated ghostfolio.values.yaml
file before deploying the chart:
-
Start by retrieving the chart default values:
helm show values charts/ghostfolio > ghostfolio.values.yaml
-
Edit the
ghostfolio.values.yaml
values, and specially the following ones:ghostfolio: accessTokenSalt: mysuperrandomstring jwtSecretKey: mysuperrandomstring baseCurrency: EUR # or USD # For more information checkout: https://artifacthub.io/packages/helm/bitnami/postgresql postgresql: enabled: true auth: username: ghostfolio-user password: ghostfolio-password database: ghostfolio-db # For more information checkout: https://artifacthub.io/packages/helm/bitnami/redis redis: enabled: true architecture: standalone auth: enabled: true password: redis-password ingress: enabled: true hosts: - host: ghostfolio.domain.tld paths: - path: / pathType: ImplementationSpecific
By default, the chart deploys a PostgreSQL server via a subchart dependency. However, if want to use your own instance, you can set the following values:
postgresql:
enabled: false
externalPostgresql:
host: postgres.domain.tld
port: 5432
auth:
username: external-ghostfolio-user
password: external-ghostfolio-password
database: external-ghostfolio-db
options: connect_timeout=300&sslmode=prefer
By default, the chart deploys a Redis server via a subchart dependency. However, if want to use your own instance, you can set the following values:
redis:
enabled: false
externalRedis:
host: redis.domain.fqdn
port: 6379
password: "" # Leave empty to disable authentication
To deploy the application using Helm, follow these steps:
helm repo add ghostfolio https://bythehugo.github.io/ghostfolio-helm/
helm repo update
helm upgrade --install ghostfolio ghostfolio/ghostfolio -f ghostfolio.values.yaml
You can also install the chart directly from sources:
helm upgrade --install ghostfolio charts/ghostfolio -f ghostfolio.values.yaml
If you want to install a specific version of Ghostfolio, you must define the .image.tag
key in the values.yaml
file or directly inline:
helm upgrade --install --set "image.tag=2.163.0" ghostfolio ghostfolio/ghostfolio
kubectl get all -l app=ghostfolio
Replace with your target namespace if you specified one.
To uninstall the Helm chart and remove all associated resources from your Kubernetes cluster, follow these steps:
-
Identify the release name you used when installing the chart. If you haven't changed the release name, it may be the default or the one you specified during installation.
-
Run the following command to uninstall the release:
helm uninstall ghostfolio
-
Verify that the resources have been removed:
kubectl get all -l app=ghostfolio
This should return no resources related to the uninstalled release.
Note: If you used custom namespaces during installation, include the -n <namespace>
flag in the commands:
helm uninstall ghostfolio -n <namespace>
kubectl get all -n <namespace> -l app=ghostfolio
Distributed under the Apache 2.0 License. See LICENSE
for more information.
Hugo CHUPIN - hugo@chupin.xyz - hugo.chupin.xyz - @hugo.chupin.xyz
Project link: https://github.com/ByTheHugo/ghostfolio-helm