Skip to main content

NetCheck - Webservice monitoring

Summary

Tool to monitor your website uptime and performance automatically.

Installation via docker-compose behind traefik proxy

version: '2'

networks:
  traefik:
    external:
      name: traefik
  monitoring_local:
    external:
      name: monitoring_local
      
services:
  netcheck_db:
    image: postgres
    environment:
      - POSTGRES_USER=PGUSERNAME
      - POSTGRES_PASSWORD=PGPASSWORD
      - POSTGRES_DB=netcheck
    networks:
      - monitoring_local
    volumes:
      - /path/to/folder/:/var/lib/postgresql/data
    restart: always
  netcheck_api:
    image: memphisx/netcheck-api:latest
    environment:
      - POSTGRES_USER=
      - POSTGRES_USER=PGUSERNAME
      - POSTGRES_PASSWORD=PGPASSWORD
      - POSTGRES_DB=netcheck
      - POSTGRES_PORT=5432
      - POSTGRES_HOST=netcheck_db
      - SETTINGS_NOTIFICATIONS_PUSHOVER_ENABLED=false
      - SETTINGS_NOTIFICATIONS_PUSHOVER_APITOKEN=
      - SETTINGS_NOTIFICATIONS_PUSHOVER_USERIDTOKEN=
    depends_on:
      - netcheck_db
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.netcheck-api.rule=Host(`netcheck.domain.com`) && PathPrefix(`/api`,`/docs`,`/events`)"
      - "traefik.http.routers.netcheck-api.entrypoints=websecure"
      - "traefik.http.routers.netcheck-api.tls=true"
      - "traefik.http.services.netcheck-api.loadBalancer.server.port=8080"
      - "traefik.docker.network=traefik"
    networks:
      - traefik
      - monitoring_local
    restart: always
  netcheck_web:
    image: memphisx/netcheck-frontend:latest
    depends_on:
      - netcheck_api
    networks:
      - traefik
      - monitoring_local
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.netcheck-web.rule=Host(`netcheck.domain.com`)"
      - "traefik.http.routers.netcheck-web.entrypoints=websecure"
      - "traefik.http.routers.netcheck-web.tls=true"
      - "traefik.http.services.netcheck-web.loadBalancer.server.port=80"
      - "traefik.http.routers.netcheck-web.middlewares=traefik-forward-auth"
      - "traefik.docker.network=traefik"
    restart: always