All templates

UpSnap

v1.0.0

A simple wake on lan web app written with SvelteKit, Go and PocketBase

networkingutility by socheatsok78
x-arcane:
  icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/upsnap.svg
  urls:
    - https://github.com/seriousm4x/upsnap

services:
  upsnap:
    cap_add:
      - NET_RAW # NET_RAW is required for privileged ping, network device scan and ip address tracking (nmap)
    cap_drop:
      - ALL
    container_name: upsnap
    image: seriousm4x/upsnap:latest # images are also available on docker hub: seriousm4x/upsnap:5
    network_mode: host # host is required for WOL magic packets
    restart: unless-stopped
    volumes:
      - data:/app/pb_data
    # # If you want to use FQDN instead of an IP and it is a ".local" domain, avahi and dbus must be installed on 
    # # the host, and the host dbus must be mounted in the container.
    # # Before uncommmenting, ensure you are familiar with potential security implications of mounting dbus
    #   - /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket:ro

    # # To use a non-root user, create the mountpoint first (mkdir data) so that it has the right permission.
    # user: 1000:1000
    environment:
      - TZ=${TZ:-UTC} # Set container timezone for cron schedules
      - UPSNAP_HTTP_LISTEN=${UPSNAP_HTTP_LISTEN:-0.0.0.0:8090}
      - UPSNAP_INTERVAL=${UPSNAP_INTERVAL:-*/10 * * * * *} # Sets the interval in which the devices are pinged
      - UPSNAP_LOG_LEVEL=${UPSNAP_LOG_LEVEL:-INFO} # Console level for UpSnap logs: DEBUG, INFO, WARN, ERROR, or OFF
      - UPSNAP_SCAN_RANGE=${UPSNAP_SCAN_RANGE:-192.168.1.0/24} # Scan range is used for device discovery on local network
      - UPSNAP_SCAN_TIMEOUT=${UPSNAP_SCAN_TIMEOUT:-500ms} # Scan timeout is nmap's --host-timeout value to wait for devices (https://nmap.org/book/man-performance.html)
    #   - UPSNAP_PING_PRIVILEGED=true # Default is true. Set to false for unprivileged ping
    #     For Linux hosts, unprivileged pings REQUIRES the host to set 'sysctl net.ipv4.ping_group_range="0 2147483647"'
    #     or another suitable value to grant the group access to send ping and WOL magic packets.
    #   - UPSNAP_WEBSITE_TITLE=Custom name # Custom website title
    # security_opt:
    #   - no-new-privileges=true
    # # dns is used for name resolution during network scan
    # dns:
    #   - 192.18.0.1
    #   - 192.18.0.2

volumes:
  data: