Skip to content

Installation ‐ Docker

Sebastian edited this page Jul 4, 2024 · 4 revisions

iGotify Notification Assistsent - Docker

  1. Create a file with the name docker-compose.yaml
  2. Please use the latest and recommended version of docker and docker compose
  3. Copy the code down below in the yaml file
  4. Start the stack for the first time and setup up gotify
  5. execute docker compose up -d to start the docker compose

 

Needed environment variables

  • GOTIFY_DEFAULTUSER_PASS = the user password for the defaultuser
version: '3.8'

services:
  gotify:
    container_name: gotify
    hostname: gotify
    image: gotify/server          # Uncommand correct server image
    # image: gotify/server-arm7
    # image: gotify/server-arm64
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true
    networks:
      - net
    ports:
      - "8680:80"
    volumes:
      - data:/app/data
    environment:
      GOTIFY_DEFAULTUSER_PASS:  'my-very-strong-password'   # Change me!!!!!

  igotify:
    container_name: igotify
    hostname: igotify
    image: ghcr.io/androidseb25/igotify-notification-assist:latest
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true
    pull_policy: always
    networks:
      - net
    ports:
      - "8681:8080"
    volumes:
      - api-data:/app/data
    #environment:                 # option environment see above note
    #  GOTIFY_URLS:          ''
    #  GOTIFY_CLIENT_TOKENS: ''
    #  SECNTFY_TOKENS:       ''

networks:
  net:

volumes:
  data:
  api-data:

Thank you The_Think3r for the compose file and @herrpandora

 

(Optional) NGINX Proxy Manager

When someone have problem's with incoming notifications on the app, please try this options under Advance Settings for the setuped proxies

proxy_set_header   Host $http_host;
proxy_connect_timeout   1m;
proxy_send_timeout      1m;
proxy_read_timeout      1m;

Also don't check the boxes which say "HTTP/2 Support" and "HSTS enabled".

Thank you to @TBT-TBT for sharing this notice

 

Traefik Config

version: "3.8"

services:
  gotify:
    container_name: gotify
    hostname: gotify
    image: gotify/server          # Uncommand correct server image
    # image: gotify/server-arm7
    # image: gotify/server-arm64
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true
    volumes:
      - data:/app/data
    environment:
      GOTIFY_DEFAULTUSER_PASS:  'my-very-strong-password'   # Change me!!!!!
      GOTIFY_REGISTRATION:       'false'
    labels:
      traefik.docker.network: proxy
      traefik.enable: "true"
      traefik.http.routers.gotify-secure.entrypoints: websecure
      traefik.http.routers.gotify-secure.middlewares: default@file
      traefik.http.routers.gotify-secure.rule: Host(`gotify.domain-name.de`)
      traefik.http.routers.gotify-secure.service: gotify
      traefik.http.routers.gotify-secure.tls: "true"
      traefik.http.routers.gotify-secure.tls.certresolver: http_resolver
      traefik.http.routers.gotify.entrypoints: web
      traefik.http.routers.gotify.rule: Host(`gotify.domain-name.de`)
      traefik.http.services.gotify.loadbalancer.server.port: "80"
    networks:
      default: null
      proxy: null
    volumes:
      - data:/app/data

  igotify-notification: # (iGotify-Notification-Assistent)
    container_name: igotify
    hostname: igotify
    image: ghcr.io/androidseb25/igotify-notification-assist:latest
    restart: always
    security_opt:
      - no-new-privileges:true
    pull_policy: always
    volumes:
      - api-data:/app/data
    labels:
      traefik.docker.network: proxy
      traefik.enable: "true"
      traefik.http.routers.igotify-secure.entrypoints: websecure
      traefik.http.routers.igotify-secure.middlewares: default@file
      traefik.http.routers.igotify-secure.rule: Host(`igotify.domain-name.de`)
      traefik.http.routers.igotify-secure.service: igotify
      traefik.http.routers.igotify-secure.tls: "true"
      traefik.http.routers.igotify-secure.tls.certresolver: http_resolver
      traefik.http.routers.igotify.entrypoints: web
      traefik.http.routers.igotify.rule: Host(`igotify.domain-name.de`)
      traefik.http.services.igotify.loadbalancer.server.port: "8080"
    networks:
      default: null
      proxy: null

networks:
  default:
  proxy:
    external: true
volumes:
  data:
  api-data:

Thank you to @majo1989 for sharing this config

Clone this wiki locally