11# Deployment using HELM charts
22
3- These examples provide you HELM charts for individual use or the composition.
4-
5- * Chart ` mariadb ` : Deploys MariaDB pod
6- * Chart ` postfix ` : Deploys Postfix pod
7- * Chart ` amavis ` : Deploys Amavis pod
8- * Chart ` postfixadmin ` : Deploys PostfixAdmin pod
9- * Chart ` roundcube ` : Deploys Roundcube pod
10- * Chart ` mailserver ` : Deploys all of above
3+ This page explains how to use the HELM charts for the composition of all containers.
114
125* Please notice!* These are examples only. A more valuable source of these charts (and maintained with current versions)
136is my [ HELM Repository] ( https://github.com/technicalguru/helm-repo ) . That's why these charts will be removed sooner
@@ -33,40 +26,37 @@ YAML files and commands accordingly.
3326* You are familiar with MariaDB or MySQL administration. There are a few commands to be executed directly
3427 on your database. A [ PhpMyAdmin] ( https://hub.docker.com/r/phpmyadmin/phpmyadmin/ ) pod could help you here.
3528
36- ## Clone the Git Repository
29+ ## Configure the HELM repository
3730
38- Make sure you are working in your home directory (or whatever path you want to work in)
31+ Execute the following command to add the HELM repository to your client and load its content:
3932
4033```
41- git clone https://github. com/technicalguru/docker-mailserver.git
42- cd docker-mailserver/examples/ helm-charts/mailserver
34+ helm repo add technicalguru https://raw.githubusercontent. com/technicalguru/helm-repo/master/repo
35+ helm repo update
4336```
4437
45- ## Define you deployment values
38+ ## Copy the original values.yaml file
39+
40+ Make sure you are working in your home directory (or whatever path you want to work in). Then download
41+ the [ ` values.yaml ` ] ( https://raw.githubusercontent.com/technicalguru/helm-repo/master/src/mailserver/values.yaml ) file e.g. via wget:
4642
47- You can edit the ` values.yaml ` file directly or make a copy. We will assume that you have made a copy called
48- ` my-values.yaml ` .
43+ ```
44+ wget -O my-values.yaml https://raw.githubusercontent.com/technicalguru/helm-repo/master/src/mailserver/values.yaml
45+ ```
4946
50- Edit the values file now and set all individual variables for your deployment.
47+ ## Define you deployment values
5148
52- * You can comment out or delete variable that you do not change. HELM will use the default values from ` values.yaml ` .
49+ You can now edit the ` my-values.yaml ` file directly and set all individual variables for your deployment.
50+
51+ * You can comment out or delete variable that you do not change. HELM will use the default values from ` values.yaml `
52+ or the underlying sub-charts.
5353* You can add values in the individual sections in case you want to change some of the values. Refer to
5454 the in-file documentation of these values.
5555* Make sure that your TLS certificate for Postfix is available. The template will not create any TLS certificate
5656 configuration if the file is not accessible. Do not set the TLS certificate values in your values file (although you can)
5757 but rather use the ` --set-file=... ` command line option to HELM in order to pass the content of these files into the
5858 respective values.
5959
60- ## Update Dependencies
61-
62- You will need to update the dependencies before you can start installation:
63-
64- ```
65- helm dep update
66- ```
67-
68- Alternatively, you can skip this step and use ` --dependency-update ` option in your HELM install command.
69-
7060## Deploy into your Kubernetes cluster
7161
7262You can inspect the result of your deployment in advance by issuing the following command. ` my-mailserver `
@@ -77,8 +67,8 @@ directory.
7767helm template \
7868 --namespace mailserver \
7969 --values my-values.yaml \
80- --set-file=postfix.tlsCertificate=/path/to/cert.pem,postfix.tlsCertificateChain=/path/to/fullchain.pem,postfix.tlsKey=/path/to/privke .pem \
81- my-mailserver .
70+ --set-file=postfix.tlsCertificate=/path/to/cert.pem,postfix.tlsCertificateChain=/path/to/fullchain.pem,postfix.tlsKey=/path/to/privkey .pem \
71+ my-mailserver technicalguru/mailserver:1.0.0
8272```
8373
8474Check the output whether the Kubernetes YAML files are what you had in mind when defining the values.
@@ -89,7 +79,7 @@ helm install \
8979 --namespace mailserver \
9080 --values my-values.yaml \
9181 --set-file=postfix.tlsCertificate=/path/to/cert.pem,postfix.tlsCertificateChain=/path/to/fullchain.pem,postfix.tlsKey=/path/to/privke.pem \
92- my-mailserver .
82+ my-mailserver technicalguru/mailserver:1.0.0
9383```
9484
9585## Setup your Domain and Mailboxes
@@ -116,3 +106,15 @@ You need to execute some further first-time installation steps. Follow the instr
116106The setup of the mailserver is complete now. Feel free to give feedback or report bugs and change requests
117107at the individual components' issue trackers or at this main [ Issue Tracker] ( https://github.com/technicalguru/docker-mailserver/issues ) .
118108
109+ # Customizing the HELM charts
110+
111+ Of course you can change the HELM charts. You will find the sources at GitHub:
112+
113+ > [ https://github.com/technicalguru/helm-repo ] ( https://github.com/technicalguru/helm-repo )
114+
115+ You can easily clone it into your home directory and work from there:
116+
117+ ```
118+ git clone https://github.com/technicalguru/helm-repo.git
119+ ```
120+
0 commit comments