diff --git a/charts/stable/gotify/.helmignore b/charts/stable/gotify/.helmignore
new file mode 100644
index 00000000..4379e2b3
--- /dev/null
+++ b/charts/stable/gotify/.helmignore
@@ -0,0 +1,26 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
+# OWNERS file for Kubernetes
+OWNERS
+# helm-docs templates
+*.gotmpl
diff --git a/charts/stable/gotify/Chart.yaml b/charts/stable/gotify/Chart.yaml
new file mode 100644
index 00000000..f28dea42
--- /dev/null
+++ b/charts/stable/gotify/Chart.yaml
@@ -0,0 +1,22 @@
+apiVersion: v2
+appVersion: "2.1.4"
+description: A simple server for sending and receiving messages
+name: gotify
+version: 1.0.0
+keywords:
+ - gotify
+home: https://github.com/k8s-at-home/charts/tree/master/charts/stable/gotify/
+icon: https://avatars.githubusercontent.com/u/36410427?s=200&v=4
+maintainers:
+ - name: jonas
+ email: barregargamel@gmail.com
+sources:
+ - https://github.com/gotify/server
+dependencies:
+ - name: common
+ repository: https://library-charts.k8s-at-home.com
+ version: 4.3.0
+annotations:
+ artifacthub.io/changes: |
+ - kind: added
+ description: Initial version
diff --git a/charts/stable/gotify/README.md b/charts/stable/gotify/README.md
new file mode 100644
index 00000000..14fe7460
--- /dev/null
+++ b/charts/stable/gotify/README.md
@@ -0,0 +1,62 @@
+# gotify
+
+![Version: 1.0.0](https://img.shields.io/badge/Version-1.0.0-informational?style=flat-square) ![AppVersion: 2.1.4](https://img.shields.io/badge/AppVersion-2.1.4-informational?style=flat-square)
+
+A simple server for sending and receiving messages
+
+**Homepage:**
+
+## Maintainers
+
+| Name | Email | Url |
+| ---- | ------ | --- |
+| jonas | barregargamel@gmail.com | |
+
+## Source Code
+
+*
+
+## Requirements
+
+| Repository | Name | Version |
+|------------|------|---------|
+| https://library-charts.k8s-at-home.com | common | 4.3.0 |
+
+## Values
+
+| Key | Type | Default | Description |
+|-----|------|---------|-------------|
+| env | object | See below | environment variables. |
+| env.GOTIFY_DATABASE_CONNECTION | string | `"data/gotify.db"` | Database connection string (se: https://gotify.net/docs/config#database) |
+| env.GOTIFY_DATABASE_DIALECT | string | `"sqlite3"` | Database type (se https://gotify.net/docs/config#database) |
+| env.GOTIFY_DEFAULTUSER_NAME | string | `"admin"` | Default user created on database creation |
+| env.GOTIFY_DEFAULTUSER_PASS | string | `"admin"` | Password set for default user on database creation |
+| env.GOTIFY_PASSSTRENGTH | int | `10` | The bcrypt password strength (higher = better but also slower) |
+| env.GOTIFY_PLUGINSDIR | string | `"data/plugins"` | The directory where plugin resides (leave empty to disable plugins) |
+| env.GOTIFY_REGISTRATION | bool | `false` | Enable user registration |
+| env.GOTIFY_SERVER_KEEPALIVEPERIODSECONDS | int | `0` | Server keep alive period |
+| env.GOTIFY_SERVER_LISTENADDR | string | `nil` | Address server is listening on |
+| env.GOTIFY_SERVER_PORT | int | `80` | Set the port gotify container is listening on |
+| env.GOTIFY_SERVER_SSL_CERTFILE | string | `nil` | SSL Certificate file |
+| env.GOTIFY_SERVER_SSL_CERTKEY | string | `nil` | SSL certificate key file |
+| env.GOTIFY_SERVER_SSL_ENABLED | bool | `false` | SSL Enabled |
+| env.GOTIFY_SERVER_SSL_LETSENCRYPT_ACCEPTTOS | bool | `false` | Accept the tos from letsencrypt |
+| env.GOTIFY_SERVER_SSL_LETSENCRYPT_CACHE | string | `"certs"` | Directory to use as letsencrypt cache |
+| env.GOTIFY_SERVER_SSL_LETSENCRYPT_ENABLED | bool | `false` | Enable letsencrypt integration |
+| env.GOTIFY_SERVER_SSL_LISTENADDR | string | `nil` | Server ssl listening address |
+| env.GOTIFY_SERVER_SSL_PORT | int | `443` | SSL Server port |
+| env.GOTIFY_SERVER_SSL_REDIRECTTOHTTPS | bool | `true` | Redirect http to https |
+| env.GOTIFY_SERVER_STREAM_PINGPERIODSECONDS | int | `45` | The interval in which websocket pings will be sent |
+| env.GOTIFY_UPLOADEDIMAGESDIR | string | `"data/images"` | The directory for storing uploaded images |
+| env.TZ | string | `"UTC"` | Set the container timezone |
+| image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
+| image.repository | string | `"gotify/server"` | image repository |
+| image.tag | string | `"2.1.4"` | image tag |
+| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
+| persistence.data.enabled | bool | `false` | |
+| persistence.data.mountPath | string | `"/app/data"` | |
+| persistence.data.type | string | `"emptyDir"` | |
+| service | object | See values.yaml | Configures service settings for the chart. |
+
+----------------------------------------------
+Autogenerated from chart metadata using [helm-docs v1.7.0](https://github.com/norwoodj/helm-docs/releases/v1.7.0)
diff --git a/charts/stable/gotify/README_CONFIG.md.gotmpl b/charts/stable/gotify/README_CONFIG.md.gotmpl
new file mode 100644
index 00000000..e93d80bf
--- /dev/null
+++ b/charts/stable/gotify/README_CONFIG.md.gotmpl
@@ -0,0 +1,9 @@
+{{- define "custom.custom.configuration.header" -}}
+## Custom configuration
+{{- end -}}
+
+{{- define "custom.custom.configuration" -}}
+{{ template "custom.custom.configuration.header" . }}
+
+N/A
+{{- end -}}
diff --git a/charts/stable/gotify/templates/NOTES.txt b/charts/stable/gotify/templates/NOTES.txt
new file mode 100644
index 00000000..90f7b653
--- /dev/null
+++ b/charts/stable/gotify/templates/NOTES.txt
@@ -0,0 +1 @@
+{{- include "common.notes.defaultNotes" . -}}
diff --git a/charts/stable/gotify/templates/common.yaml b/charts/stable/gotify/templates/common.yaml
new file mode 100644
index 00000000..a6613c2c
--- /dev/null
+++ b/charts/stable/gotify/templates/common.yaml
@@ -0,0 +1 @@
+{{ include "common.all" . }}
diff --git a/charts/stable/gotify/values.yaml b/charts/stable/gotify/values.yaml
new file mode 100644
index 00000000..8a924bdf
--- /dev/null
+++ b/charts/stable/gotify/values.yaml
@@ -0,0 +1,91 @@
+#
+# IMPORTANT NOTE
+#
+# This chart inherits from our common library chart. You can check the default values/options here:
+# https://github.com/k8s-at-home/library-charts/tree/master/charts/stable/common/values.yaml
+#
+
+image:
+ # -- image repository
+ repository: gotify/server
+ # -- image tag
+ # @default -- chart.appVersion
+ tag:
+ # -- image pull policy
+ pullPolicy: IfNotPresent
+
+# -- environment variables.
+# @default -- See below
+env:
+ # -- Set the container timezone
+ TZ: UTC
+ # -- Set the port gotify container is listening on
+ GOTIFY_SERVER_PORT: 80
+ # -- Server keep alive period
+ GOTIFY_SERVER_KEEPALIVEPERIODSECONDS: 0
+ # -- Address server is listening on
+ GOTIFY_SERVER_LISTENADDR:
+ # -- SSL Enabled
+ GOTIFY_SERVER_SSL_ENABLED: false
+ # -- Redirect http to https
+ GOTIFY_SERVER_SSL_REDIRECTTOHTTPS: true
+ # -- Server ssl listening address
+ GOTIFY_SERVER_SSL_LISTENADDR:
+ # -- SSL Server port
+ GOTIFY_SERVER_SSL_PORT: 443
+ # -- SSL Certificate file
+ GOTIFY_SERVER_SSL_CERTFILE:
+ # -- SSL certificate key file
+ GOTIFY_SERVER_SSL_CERTKEY:
+ # -- Enable letsencrypt integration
+ GOTIFY_SERVER_SSL_LETSENCRYPT_ENABLED: false
+ # -- Accept the tos from letsencrypt
+ GOTIFY_SERVER_SSL_LETSENCRYPT_ACCEPTTOS: false
+ # -- Directory to use as letsencrypt cache
+ GOTIFY_SERVER_SSL_LETSENCRYPT_CACHE: certs
+ # -- The hosts for which letsencrypt should request certificates
+ # GOTIFY_SERVER_SSL_LETSENCRYPT_HOSTS: - mydomain.tld\n- myotherdomain.tld
+ # -- Response headers are added to every response (default: none)
+ # GOTIFY_SERVER_RESPONSEHEADERS: "X-Custom-Header: \"custom value\""
+ # -- Sets cors headers
+ # GOTIFY_SERVER_CORS_ALLOWORIGINS: "- \".+.example.com\"\n- \"otherdomain.com\""
+ # GOTIFY_SERVER_CORS_ALLOWMETHODS: "- \"GET\"\n- \"POST\""
+ # GOTIFY_SERVER_CORS_ALLOWHEADERS: "- \"Authorization\"\n- \"content-type\""
+ # GOTIFY_SERVER_STREAM_ALLOWEDORIGINS: "- \".+.example.com\"\n- \"otherdomain.com\""
+ # -- The interval in which websocket pings will be sent
+ GOTIFY_SERVER_STREAM_PINGPERIODSECONDS: 45
+ # -- Database type (se https://gotify.net/docs/config#database)
+ GOTIFY_DATABASE_DIALECT: sqlite3
+ # -- Database connection string (se: https://gotify.net/docs/config#database)
+ GOTIFY_DATABASE_CONNECTION: data/gotify.db
+ # -- Default user created on database creation
+ GOTIFY_DEFAULTUSER_NAME: admin
+ # -- Password set for default user on database creation
+ GOTIFY_DEFAULTUSER_PASS: admin
+ # -- The bcrypt password strength (higher = better but also slower)
+ GOTIFY_PASSSTRENGTH: 10
+ # -- The directory for storing uploaded images
+ GOTIFY_UPLOADEDIMAGESDIR: data/images
+ # -- The directory where plugin resides (leave empty to disable plugins)
+ GOTIFY_PLUGINSDIR: data/plugins
+ # -- Enable user registration
+ GOTIFY_REGISTRATION: false
+
+# -- Configures service settings for the chart.
+# @default -- See values.yaml
+service:
+ main:
+ ports:
+ http:
+ port: 80
+
+ingress:
+ # -- Enable and configure ingress settings for the chart under this key.
+ # @default -- See values.yaml
+ main:
+ enabled: false
+
+persistence:
+ data:
+ enabled: false
+ mountPath: /app/data