diff --git a/README.md b/README.md index 75c25c49..94af74f0 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/apps/gotify/config.json b/apps/gotify/config.json index 529b0c88..6083b878 100644 --- a/apps/gotify/config.json +++ b/apps/gotify/config.json @@ -4,7 +4,8 @@ "available": true, "port": 8129, "id": "gotify", - "tipi_version": 2, + "exposable": true, + "tipi_version": 1, "version": "2.1.7", "categories": ["utilities"], "description": "Simple server for sending and receiving notification messages.", @@ -15,19 +16,19 @@ "form_fields": [ { "type": "text", - "label": "Traefik Domain", - "max": 50, - "min": 3, - "required": false, - "env_variable": "TRAEFIK_GOTIFY" - }, - { - "type": "password", - "label": "Password", + "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" - } + } ] } diff --git a/apps/gotify/docker-compose.arm.yml b/apps/gotify/docker-compose.arm.yml new file mode 100644 index 00000000..8c8b53bb --- /dev/null +++ b/apps/gotify/docker-compose.arm.yml @@ -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 diff --git a/apps/gotify/docker-compose.arm64.yml b/apps/gotify/docker-compose.arm64.yml new file mode 100644 index 00000000..1284452c --- /dev/null +++ b/apps/gotify/docker-compose.arm64.yml @@ -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 diff --git a/apps/gotify/docker-compose.yml b/apps/gotify/docker-compose.yml index 38dd1e79..975723a6 100644 --- a/apps/gotify/docker-compose.yml +++ b/apps/gotify/docker-compose.yml @@ -1,14 +1,31 @@ version: "3.7" + services: gotify: image: gotify/server:2.1.7 container_name: gotify restart: unless-stopped volumes: - - "${APP_DATA_DIR}/datagit :/app/data" + - "${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