Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

🏗️ New Service: iGotify

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

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

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

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.

Description

new service
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
Dominant language
Python
Stars
2.1k
Forks
127
Avg merge
15h 58m
Merged PRs (30d)
16

Getting set up

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.

More from tailscale-dev/ScaleTail

All issues in tailscale-dev/ScaleTail

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.