Merge branch 'Wildschut-apps/gotify'

This commit is contained in:
Nicolas Meienberger 2022-09-29 22:56:58 +02:00
commit 4b27f1c916
7 changed files with 136 additions and 0 deletions

View File

@ -15,6 +15,7 @@ This is the official repository for the Tipi App Store. It contains all the apps
- [Freshrss](https://github.com/FreshRSS/FreshRSS) - A free, self-hostable RSS aggregator
- [Ghost](https://github.com/TryGhost/Ghost) - Ghost - Turn your audience into a business
- [Gitea](https://github.com/go-gitea/gitea) - Gitea - A painless self-hosted Git service
- [Gotify](https://github.com/gotify/server) - Gotify - Simple server for sending and receiving notification messages
- [Headscale](https://github.com/juanfont/headscale) - An open source, self-hosted implementation of the Tailscale control server
- [Homarr](https://github.com/ajnart/homarr) - A homepage for your server
- [Home Assistant](https://github.com/home-assistant/core) - Open source home automation that puts local control and privacy first

34
apps/gotify/config.json Normal file
View File

@ -0,0 +1,34 @@
{
"$schema": "../schema.json",
"name": "Gotify",
"available": true,
"port": 8129,
"id": "gotify",
"exposable": true,
"tipi_version": 1,
"version": "2.1.7",
"categories": ["utilities"],
"description": "Simple server for sending and receiving notification messages.",
"short_desc": "Gotify, a simple server for sending and receiving notification messages.",
"author": "gotigy",
"source": "https://github.com/gotify/server",
"website": "https://gotify.net",
"form_fields": [
{
"type": "text",
"label": "Gotify username",
"max": 50,
"min": 3,
"required": true,
"env_variable": "GOTIFY_DEFAULTUSER_NAME"
},
{
"type": "password",
"label": "Gotify password",
"max": 50,
"min": 8,
"required": true,
"env_variable": "GOTIFY_DEFAULTUSER_PASS"
}
]
}

View File

@ -0,0 +1,30 @@
version: "3.7"
services:
gotify:
image: gotify/server-arm7:2.1.7
container_name: gotify
restart: unless-stopped
volumes:
- "${APP_DATA_DIR}/data:/app/data"
environment:
- GOTIFY_DEFAULTUSER_PASS=${GOTIFY_DEFAULTUSER_PASS}
ports:
- ${APP_PORT}:80
networks:
- tipi_main_network
labels:
traefik.enable: ${APP_EXPOSED}
# Traefik Redirect to HTTPS
traefik.http.middlewares.redirect-https.redirectScheme.scheme: https
traefik.http.middlewares.redirect-https.redirectScheme.permanent: true
# Traefik Router + Service Configuration
traefik.http.routers.gotify.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.gotify.entrypoints: websecure
traefik.http.routers.gotify.tls.certresolver: myresolver
traefik.http.routers.gotify.middlewares: redirect-https
traefik.http.routers.gotify.service: gotify
traefik.http.services.gotify.loadbalancer.passhostheader: true
traefik.http.services.gotify.loadbalancer.server.port: 80
traefik.http.services.gotify.loadbalancer.sticky: true
traefik.http.middlewares.sslheader.headers.customrequestheaders.X-Forwarded-Proto: http

View File

@ -0,0 +1,30 @@
version: "3.7"
services:
gotify:
image: gotify/server-arm64:2.1.7
container_name: gotify
restart: unless-stopped
volumes:
- "${APP_DATA_DIR}/data:/app/data"
environment:
- GOTIFY_DEFAULTUSER_PASS=${GOTIFY_DEFAULTUSER_PASS}
ports:
- ${APP_PORT}:80
networks:
- tipi_main_network
labels:
traefik.enable: ${APP_EXPOSED}
# Traefik Redirect to HTTPS
traefik.http.middlewares.redirect-https.redirectScheme.scheme: https
traefik.http.middlewares.redirect-https.redirectScheme.permanent: true
# Traefik Router + Service Configuration
traefik.http.routers.gotify.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.gotify.entrypoints: websecure
traefik.http.routers.gotify.tls.certresolver: myresolver
traefik.http.routers.gotify.middlewares: redirect-https
traefik.http.routers.gotify.service: gotify
traefik.http.services.gotify.loadbalancer.passhostheader: true
traefik.http.services.gotify.loadbalancer.server.port: 80
traefik.http.services.gotify.loadbalancer.sticky: true
traefik.http.middlewares.sslheader.headers.customrequestheaders.X-Forwarded-Proto: http

View File

@ -0,0 +1,31 @@
version: "3.7"
services:
gotify:
image: gotify/server:2.1.7
container_name: gotify
restart: unless-stopped
volumes:
- "${APP_DATA_DIR}/data:/app/data"
environment:
- GOTIFY_DEFAULTUSER_NAME=${GOTIFY_DEFAULTUSER_NAME}
- GOTIFY_DEFAULTUSER_PASS=${GOTIFY_DEFAULTUSER_PASS}
ports:
- ${APP_PORT}:80
networks:
- tipi_main_network
labels:
traefik.enable: ${APP_EXPOSED}
# Traefik Redirect to HTTPS
traefik.http.middlewares.redirect-https.redirectScheme.scheme: https
traefik.http.middlewares.redirect-https.redirectScheme.permanent: true
# Traefik Router + Service Configuration
traefik.http.routers.gotify.rule: Host(`${APP_DOMAIN}`)
traefik.http.routers.gotify.entrypoints: websecure
traefik.http.routers.gotify.tls.certresolver: myresolver
traefik.http.routers.gotify.middlewares: redirect-https
traefik.http.routers.gotify.service: gotify
traefik.http.services.gotify.loadbalancer.passhostheader: true
traefik.http.services.gotify.loadbalancer.server.port: 80
traefik.http.services.gotify.loadbalancer.sticky: true
traefik.http.middlewares.sslheader.headers.customrequestheaders.X-Forwarded-Proto: http

View File

@ -0,0 +1,10 @@
# Selfhosted notification service
We wanted a simple server for sending and receiving messages (in real time per WebSocket). For this, not many open source projects existed and most of the existing ones were abandoned. Also, a requirement was that it can be self-hosted. We know there are many free and commercial push services out there.
At the heart of this project. (gotify/server)[https://hub.docker.com/r/gotify/server] features a WebUI and functionality for:
- sending messages via a REST-API
- subscribing/receiving messages via a web socket connection
- managing users, clients and applications

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB