Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/drabo/ejabberd
How to install ejabberd in Kubernetes
https://github.com/drabo/ejabberd
cluster ejabberd kubernetes statefulset xmpp
Last synced: about 1 month ago
JSON representation
How to install ejabberd in Kubernetes
- Host: GitHub
- URL: https://github.com/drabo/ejabberd
- Owner: drabo
- Created: 2023-08-11T11:41:22.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-08-12T05:56:07.000Z (over 1 year ago)
- Last Synced: 2024-11-02T00:42:21.874Z (3 months ago)
- Topics: cluster, ejabberd, kubernetes, statefulset, xmpp
- Language: Shell
- Homepage:
- Size: 13.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ejabberd in Kubernetes
## Materials used
### ejabberd Github
https://github.com/processone/ejabberd
### ejabberd Community Server
https://github.com/processone/docker-ejabberd/tree/master/ecs
### ejabberd Community Server Official Docker Image
https://hub.docker.com/r/ejabberd/ecs/tags
### ejabberd Container
https://github.com/processone/ejabberd/blob/master/CONTAINER.md
### Provide out of the box clustering
https://github.com/processone/docker-ejabberd/issues/64
### K8s
https://github.com/Robbilie/kubernetes-ejabberd/blob/main/cluster.sh
https://github.com/processone/docker-ejabberd/issues/64#issuecomment-814310376
### Database settings
https://docs.ejabberd.im/admin/configuration/database/
https://docs.ejabberd.im/admin/configuration/toplevel/#sql-keepalive-interval
## Final solution
Based on cluster start script, thanks to https://github.com/Robbilie/kubernetes-ejabberd
Docker image used: `ejabberd/ecs:22.05`
## Final comments
- The script generate-ejabberd-yaml.sh may be used to create manifests for various environments.
- An AWS NLB will be created by the chart and a DNS record should be created to access the NLB - may be removed if not necessary.
- The annotations in statefulset will provide metrics for Prometheus and preparation for logging in Elasticsearch.
- Config secrets/ejabberd.yml and secrets/.erlang.cookie should be stored encrypted and be decrypted at manifest generation time.
- Istio template included for ejabberd GUI - may be removed if not necessary.
- AWS EFS included for document uploads - may be removed if not necessary.