Skip to content

Commit bf3bd2a

Browse files
authored
SYS-669 replace rainloop with snappymail (#255)
1 parent 6af8b6a commit bf3bd2a

13 files changed

Lines changed: 127 additions & 12 deletions

File tree

README.md

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,12 @@ easy. Contents:
99

1010
| Directory | Description |
1111
| --------- | ----------- |
12-
| ansible | build your own cluster (Kubernetes or Swarm) |
12+
| ansible | build your own Kubernetes cluster |
1313
| images | images which are published to Docker Hub |
1414
| k8s | container resources in kubernetes yaml format |
1515
| lib/build | build makefile and tools |
1616
| services | non-clustered docker-compose services |
1717
| ssl | PKI certificate tools (deprecated by k8s) |
18-
| stacks | container resources in docker-compose format |
1918

2019
Find images at [docker hub/instantlinux](https://hub.docker.com/r/instantlinux/). Each image is scanned by [trivy](https://trivy.dev/) to ensure they contain no known CVE vulnerabilities before promotion to Docker Hub.
2120

@@ -48,9 +47,8 @@ The cluster-deployment tools here include helm charts and ansible playbooks to s
4847

4948
| Service | Version | Notes |
5049
| --- | --- | --- |
51-
| artifactory | ** | binary repo |
5250
| gitea | ** | git repo |
53-
| admin-git | [![](https://img.shields.io/docker/v/instantlinux/git-pull?sort=date)](https://hub.docker.com/r/instantlinux/git-pull "Version badge") | sync git repo across swarm |
51+
| admin-git | [![](https://img.shields.io/docker/v/instantlinux/git-pull?sort=date)](https://hub.docker.com/r/instantlinux/git-pull "Version badge") | sync git repo across cluster |
5452
| gitea | ** | self-hosted git repo with many github features |
5553
| jira | ** | ticket tracking |
5654
| mariadb-galera | [![](https://img.shields.io/docker/v/instantlinux/mariadb-galera?sort=date)](https://hub.docker.com/r/instantlinux/mariadb-galera "Version badge") | automatic cluster setup|
@@ -63,7 +61,6 @@ The cluster-deployment tools here include helm charts and ansible playbooks to s
6361
| Service | Version | Notes |
6462
| --- | --- | --- |
6563
| authelia | ** | single-signon multi-factor auth |
66-
| cloud | ** | nextcloud, private sync like Apple iCloud |
6764
| data-sync | [![](https://img.shields.io/docker/v/instantlinux/data-sync?sort=date)](https://hub.docker.com/r/instantlinux/data-sync "Version badge") | poor-man's SAN for persistent storage |
6865
| ddclient | [![](https://img.shields.io/docker/v/instantlinux/ddclient?sort=date)](https://hub.docker.com/r/instantlinux/ddclient "Version badge") | Dynamic DNS client |
6966
| ez-ipupdate | [![](https://img.shields.io/docker/v/instantlinux/ez-ipupdate?sort=date)](https://hub.docker.com/r/instantlinux/ez-ipupdate "Version badge") | Dynamic DNS client |
@@ -74,6 +71,7 @@ The cluster-deployment tools here include helm charts and ansible playbooks to s
7471
| mysqldump | [![](https://img.shields.io/docker/v/instantlinux/mysqldump?sort=date)](https://hub.docker.com/r/instantlinux/mysqldump "Version badge") | per-database alternative to xtrabackup |
7572
| nagios | [![](https://img.shields.io/docker/v/instantlinux/nagios?sort=date)](https://hub.docker.com/r/instantlinux/nagios "Version badge") | Nagios Core v4 for monitoring |
7673
| nagiosql | [![](https://img.shields.io/docker/v/instantlinux/nagiosql?sort=date)](https://hub.docker.com/r/instantlinux/nagiosql "Version badge") | NagiosQL for configuring Nagios Core v4 |
74+
| nextcloud | ** | mobile device sync, like Apple iCloud |
7775
| node-local-dns | ** | caching resolver for reliable pod DNS |
7876
| nut-upsd | [![](https://img.shields.io/docker/v/instantlinux/nut-upsd?sort=date)](https://hub.docker.com/r/instantlinux/nut-upsd "Version badge") | Network UPS Tools |
7977
| openldap | [![](https://img.shields.io/docker/v/instantlinux/openldap?sort=date)](https://hub.docker.com/r/instantlinux/openldap "Version badge") | OpenLDAP authentication server |
@@ -94,7 +92,6 @@ The cluster-deployment tools here include helm charts and ansible playbooks to s
9492
| dovecot | [![](https://img.shields.io/docker/v/instantlinux/dovecot?sort=date)](https://hub.docker.com/r/instantlinux/dovecot "Version badge") | imapd server |
9593
| postfix | [![](https://img.shields.io/docker/v/instantlinux/postfix?sort=date)](https://hub.docker.com/r/instantlinux/postfix "Version badge") | compact general-purpose image in 11MB |
9694
| postfix-python | [![](https://img.shields.io/docker/v/instantlinux/postfix-python?sort=date)](https://hub.docker.com/r/instantlinux/postfix-python "Version badge") | postfix with spam-control scripts |
97-
| rainloop | ** | webmail imapd-client server |
9895
| snappymail | ** | webmail, forked from rainloop imapd-client server |
9996
| spamassassin | [![](https://img.shields.io/docker/v/instantlinux/spamassassin?sort=date)](https://hub.docker.com/r/instantlinux/spamassassin "Version badge") | spam control daemon |
10097

images/data-sync/helm/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ home: https://github.com/instantlinux/docker-tools
55
sources:
66
- https://github.com/instantlinux/docker-tools
77
type: application
8-
version: 0.1.15
8+
version: 0.1.16
99
appVersion: "2.53.8-4.14.2-r2"
1010
dependencies:
1111
- name: chartlib

images/data-sync/helm/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ configmap:
115115
ignore = Path data-sync/share/artifactory/data/logs/request.log
116116
ignore = Path data-sync/share/nagios/var/rw
117117
ignore = Path data-sync/share/openldap/data/lock.mdb
118-
ignore = Path data-sync/share/rainloop/data/_data_/_default_/cache
118+
ignore = Path data-sync/share/snappymail/data/_data_/_default_/cache
119119
ignore = Path data-sync/dos
120120
ignore = Path data-sync/gitlab/data/gitaly
121121
ignore = Path data-sync/home/*/.kube/cache

images/dovecot/helm/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ sources:
66
- https://github.com/instantlinux/docker-tools
77
- https://github.com/vdukhovni/dovecot
88
type: application
9-
version: 0.1.11
9+
version: 0.1.12
1010
# appVersion: "2.4.1-r2"
1111
appVersion: "2.3.21.1-r0"
1212
dependencies:

images/dovecot/helm/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ volumes:
156156
secretName: postfix-sasl-passwd
157157
- name: ssl-cert
158158
secret:
159-
secretName: tls-rainloop
159+
secretName: tls-snappymail
160160
image:
161161
repository: instantlinux/dovecot
162162
pullPolicy: IfNotPresent

images/postfix-python/helm/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ sources:
66
- https://github.com/instantlinux/docker-tools
77
- https://github.com/vdukhovni/postfix
88
type: application
9-
version: 0.1.20
9+
version: 0.1.21
1010
appVersion: "3.10.7-r0"
1111
dependencies:
1212
- name: chartlib

images/postfix-python/helm/values.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ volumes:
139139
secretName: postfix-sasl-passwd
140140
- name: ssl-cert
141141
secret:
142-
secretName: tls-rainloop
142+
secretName: tls-snappymail
143143
volumeClaimTemplates:
144144
- metadata:
145145
name: spool

k8s/helm/snappymail/.helmignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
*~
2+
.git

k8s/helm/snappymail/Chart.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
apiVersion: v2
2+
name: snappymail
3+
description: Snappymail webmail server
4+
home: https://github.com/instantlinux/docker-tools
5+
sources:
6+
- https://github.com/instantlinux/docker-tools
7+
- https://github.com/the-djmaze/snappymail
8+
type: application
9+
version: 0.1.0
10+
appVersion: "v2.38.2"
11+
dependencies:
12+
- name: chartlib
13+
version: 0.1.8
14+
repository: https://instantlinux.github.io/docker-tools
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{{- if hasKey .Values "service" }}
2+
{{- if or .Values.service.enabled (not (hasKey .Values.service "enabled")) }}
3+
1. Get the application URL by running these commands:
4+
{{- if hasKey .Values "ingress" }}
5+
{{- if .Values.ingress.enabled }}
6+
{{- range $host := .Values.ingress.hosts }}
7+
{{- range .paths }}
8+
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ .path }}
9+
{{- end }}
10+
{{- end }}
11+
{{- else if contains "NodePort" .Values.service.type }}
12+
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "local.fullname" . }})
13+
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
14+
echo http://$NODE_IP:$NODE_PORT
15+
{{- else if contains "LoadBalancer" .Values.service.type }}
16+
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
17+
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "local.fullname" . }}'
18+
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "local.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
19+
echo http://$SERVICE_IP:{{ .Values.service.port }}
20+
{{- else if contains "ClusterIP" .Values.service.type }}
21+
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "local.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
22+
export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
23+
echo "Visit http://127.0.0.1:8080 to use your application"
24+
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT
25+
{{- end }}
26+
{{- end }}
27+
{{- end }}
28+
{{- end }}

0 commit comments

Comments
 (0)