tailscale-dev / tailscale-dev/ScaleTail

πŸ—οΈ New Service: iGotify

Open
#303 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

new service
Dominant language
Python
Stars
2.1k
Forks
124
Avg merge
1d 19h
Merged PRs (30d)
4

Description

Service Description

It would be nice for iPhone users to implement iGotify, which makes a bridge to receive Gotify messages on iPhone (Gotify itself only supports Android).
There is a Docker install for it, which includes both Gotify and iGotify (both are needed).

Maybe you can add it as an extra option in your Gotify section?

Thanks a lot!

Docker Compose File Link

https://github.com/androidseb25/iGotify-Notification-Assistent/blob/main/docker-compose.yaml

Docker Compose Configuration
# iGotify Notification Assistant - Docker Compose
#
# Quick Start:
#   1. Copy .env.example to .env and configure
#   2. Run: docker compose up -d
#
# Documentation: https://github.com/androidseb25/iGotify-Notification-Assistent/wiki

services:
  gotify:
    container_name: gotify
    hostname: gotify
    image: gotify/server
    # image: gotify/server-arm7   # For ARM v7
    # image: gotify/server-arm64  # For ARM64
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true
    networks:
      - net
      # - proxy  # Uncomment for Traefik
    ports:
      - "8680:80"
    volumes:
      - data:/app/data
    environment:
      GOTIFY_DEFAULTUSER_PASS: ${GOTIFY_DEFAULTUSER_PASS:?Please set GOTIFY_DEFAULTUSER_PASS in .env}
      # GOTIFY_REGISTRATION: 'false'  # Disable user registration
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:80/health"]
      interval: 5s
      timeout: 3s
      retries: 5
      start_period: 10s
    # ─── Traefik Labels (uncomment to enable) ───────────────────────
    # labels:
    #   traefik.enable: "true"
    #   traefik.docker.network: proxy
    #   # HTTPS
    #   traefik.http.routers.gotify-secure.entrypoints: websecure
    #   traefik.http.routers.gotify-secure.rule: Host(`gotify.example.com`)
    #   traefik.http.routers.gotify-secure.tls: "true"
    #   traefik.http.routers.gotify-secure.tls.certresolver: http_resolver
    #   traefik.http.routers.gotify-secure.service: gotify
    #   traefik.http.routers.gotify-secure.middlewares: default@file
    #   # HTTP (redirect to HTTPS)
    #   traefik.http.routers.gotify.entrypoints: web
    #   traefik.http.routers.gotify.rule: Host(`gotify.example.com`)
    #   # Service
    #   traefik.http.services.gotify.loadbalancer.server.port: "80"

  igotify:
    container_name: igotify
    hostname: igotify
    image: ghcr.io/androidseb25/igotify-notification-assist:latest
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true
    depends_on:
      gotify:
        condition: service_healthy
    networks:
      - net
      # - proxy  # Uncomment for Traefik
    ports:
      - "8681:8080"
    volumes:
      - api-data:/app/data
    environment:
      # Required only when NOT using a public domain
      # See wiki for details: https://github.com/androidseb25/iGotify-Notification-Assistent/wiki#environment-variables
      GOTIFY_URLS: ${GOTIFY_URLS:-}
      GOTIFY_CLIENT_TOKENS: ${GOTIFY_CLIENT_TOKENS:-}
      SECNTFY_TOKENS: ${SECNTFY_TOKENS:-}
      # Optional settings
      ENABLE_CONSOLE_LOG: ${ENABLE_CONSOLE_LOG:-'true'}
      ENABLE_SCALAR_UI: ${ENABLE_SCALAR_UI:-'true'}
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8080/Version"]
      interval: 5s
      timeout: 3s
      retries: 5
      start_period: 10s
    # ─── Traefik Labels (uncomment to enable) ───────────────────────
    # labels:
    #   traefik.enable: "true"
    #   traefik.docker.network: proxy
    #   # HTTPS
    #   traefik.http.routers.igotify-secure.entrypoints: websecure
    #   traefik.http.routers.igotify-secure.rule: Host(`igotify.example.com`)
    #   traefik.http.routers.igotify-secure.tls: "true"
    #   traefik.http.routers.igotify-secure.tls.certresolver: http_resolver
    #   traefik.http.routers.igotify-secure.service: igotify
    #   traefik.http.routers.igotify-secure.middlewares: default@file
    #   # HTTP (redirect to HTTPS)
    #   traefik.http.routers.igotify.entrypoints: web
    #   traefik.http.routers.igotify.rule: Host(`igotify.example.com`)
    #   # Service
    #   traefik.http.services.igotify.loadbalancer.server.port: "8080"

networks:
  net:
  # proxy:
  #   external: true

volumes:
  data:
  api-data:
Website of Service

https://github.com/androidseb25/iGotify-Notification-Assistent

Would you be willing to work on this service?
  • Yes, I'd like to implement this feature
  • I could help with parts of this feature
  • No, I'm just suggesting the feature

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up β€” it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the existing Gotify section and the Docker Compose service definitions, then compare how optional services and their configuration are represented. Review the linked iGotify Docker Compose file and documentation for required dependencies, ports, volumes, and environment variables; done means iGotify can be enabled alongside Gotify with its documented configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, docker-compose
Domain
devops, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.