Installer: base ingress-public
diff --git a/helmfile/base/helmfile.yaml b/helmfile/base/helmfile.yaml
index 1a053d4..a893395 100644
--- a/helmfile/base/helmfile.yaml
+++ b/helmfile/base/helmfile.yaml
@@ -14,6 +14,25 @@
   createNamespace: true
 
 releases:
+- name: ingress-public
+  chart: ingress-nginx/ingress-nginx
+  version: 4.0.3
+  namespace: {{ .Values.name }}-ingress-public
+  values:
+  - fullnameOverride: {{ .Values.name }}-ingress-public
+  - controller:
+      service:
+        type: LoadBalancer
+      ingressClassByName: true
+      ingressClassResource:
+        name: {{ .Values.name }}-ingress-public
+        enabled: true
+        default: false
+        controllerValue: k8s.io/{{ .Values.name }}-ingress-public
+      config:
+        proxy-body-size: 100M
+  - tcp:
+      25: {{ .Values.name }}-mail-gateway/maddy:25
 - name: kubed
   chart: appscode/kubed
   version: v0.12.0
diff --git a/helmfile/users/helmfile.yaml b/helmfile/users/helmfile.yaml
index aad46b7..ae3840c 100644
--- a/helmfile/users/helmfile.yaml
+++ b/helmfile/users/helmfile.yaml
@@ -104,7 +104,7 @@
       domain: {{ .Values.domain }}
       stagingServer: https://acme-staging-v02.api.letsencrypt.org/directory
       contactEmail: {{ .Values.contactEmail }}
-      ingressClass: nginx
+      ingressClass: {{ .Values.pcloudEnvName }}-ingress-public
   - private:
       name: {{ .Values.id }}-private
       server: https://acme-v02.api.letsencrypt.org/directory
@@ -172,7 +172,7 @@
             - kratos.p.{{ .Values.domain }}
         public:
           enabled: true
-          className: nginx
+          className: {{ .Values.pcloudEnvName }}-ingress-public
           hosts:
           - host: accounts.{{ .Values.domain }}
             paths:
@@ -328,7 +328,7 @@
             - hydra.p.{{ .Values.domain }}
         public:
           enabled: true
-          className: nginx
+          className: {{ .Values.pcloudEnvName }}-ingress-public
           hosts:
           - host: hydra.{{ .Values.domain }}
             paths:
@@ -410,7 +410,7 @@
             leak_sensitive_values: false
   - ui:
       certificateIssuer: {{ .Values.id }}-public
-      ingressClassName: nginx
+      ingressClassName: {{ .Values.pcloudEnvName }}-ingress-public
       domain: {{ .Values.domain }}
       internalDomain: p.{{ .Values.domain }}
       nebula:
@@ -485,7 +485,7 @@
       user: postgres
       password: psswd
   - certificateIssuer: {{ .Values.id }}-public
-  - ingressClassName: nginx
+  - ingressClassName: {{ .Values.pcloudEnvName }}-ingress-public
   - configMerge:
       configName: config-to-merge
       fileName: to-merge.yaml
@@ -542,7 +542,7 @@
         className: {{ .Values.id }}-ingress-private
         domain: p.{{ .Values.domain }}
       public:
-        className: nginx
+        className: {{ .Values.pcloudEnvName }}-ingress-public
         domain: {{ .Values.domain }}
         certificateIssuer: {{ .Values.id }}-public
   - storage: