Files
NetAlertX/dockerfiles
2022-07-29 21:33:31 +10:00
..
2022-06-12 13:24:43 +10:00
2022-07-29 21:33:31 +10:00

Docker Docker Image Size Docker Pulls

🐳 A docker image for Pi.Alert

🥇 Pi.Alert credit goes to pucherot/Pi.Alert.
🐳 Docker Image: jokobsk/Pi.Alert.
📄 Dockerfile
📚 Dockerfile instructions.

Big thanks to @Macleykun for help and tips&tricks for Dockerfile(s):

Usage

pialert.conf

  • Everytime you rebuilt the container with a new image check if new settings have been added in pialert.conf.

Network

  • You will have to run the container on the host network, e.g: sudo docker run --rm --net=host jokobsk/pi.alert

Default Port

  • The app is accessible on the port :20211.

Please note - the cronjob is executed every 3 and 5 minutes so wait that long for all of the scans to run.

💾 Setup and Backups

  1. (required) Download pialert.conf and version.conf from here.
  2. (required) In pialert.conf specify your network adapter (will probably be eth0 or eth1) and the network filter (which significantly speeds up the scan process), e.g. if your DHCP server assigns IPs in the 192.168.1.0 to 192.168.1.255 range specify it the following way:
    • SCAN_SUBNETS = '192.168.1.0/24 --interface=eth0'
  3. (required) Use your configuration by:
    • Mapping the container folder /home/pi/pialert/config to a persistent folder containing pialert.conf and version.conf,
    • ... or by mapping the files individually pialert.conf:/home/pi/pialert/config/pialert.conf and version.conf:/home/pi/pialert/config/version.conf
  4. Set the TZ environment variable to your current time zone (e.g.Europe/Paris). Find your time zone here.
  5. Database backup
    • The DB is stored under /home/pi/pialert/db/pialert.db. Map this file to a persistent location (see Examples for details). If facing issues (AJAX errors, can't write to DB, etc, make sure permissions are set correctly, alternatively check the logs under /home/pi/pialert/log)
  6. The container supports mapping to local User nad Group IDs. Specify the enviroment variables HOST_USER_ID and HOST_USER_GID if needed.
  7. You can override the port by specifying the PORT env variable.

Config examples can be found below.

📄 Examples

Example 1

docker-compose.yml

version: "3"
services:
  pialert:
    container_name: pialert
    image: "jokobsk/pi.alert:latest"      
    network_mode: "host"        
    restart: always
    volumes:
      - ${APP_DATA_LOCATION}/pialert/config:/home/pi/pialert/config
      - ${APP_DATA_LOCATION}/pialert/db/pialert.db:/home/pi/pialert/db/pialert.db
      - ${LOGS_LOCATION}/tmp:/home/pi/pialert/log
    environment:
      - TZ=${TZ}
      - PORT=${PORT}
      - HOST_USER_ID=${HOST_USER_ID}
      - HOST_USER_GID=${HOST_USER_GID}

.env file

#GLOBAL
APP_DATA_LOCATION=/path/to/docker_appdata
APP_CONFIG_LOCATION=/path/to/docker_config
LOGS_LOCATION=/path/to/docker_logs
TZ=Europe/Paris
HOST_USER_ID=1000
HOST_USER_GID=1000
PORT=20211

To run the container execute: sudo docker-compose --env-file /path/to/.env up

Example 2

Courtesy of pbek. The volume pialert_db is used by the db directory. The two config files are mounted directly from a local folder to their places in the config folder. You can backup the docker-compose.yaml folder and the docker volumes folder.

  pialert:
    image: jokobsk/pi.alert
    ports:
      - "80:20211/tcp"
    environment:
      - TZ=Europe/Vienna
    networks:
      local:
        ipv4_address: 192.168.1.2
    restart: unless-stopped
    volumes:
      - pialert_db:/home/pi/pialert/db
      - ./pialert/pialert.conf:/home/pi/pialert/config/pialert.conf
      - ./pialert/version.conf:/home/pi/pialert/config/version.conf

Support

Disclaimer: This is my second container and I might have used unconventional hacks so if anyone is more experienced, feel free to fork/create pull requests. Also, please only donate if you don't have any debt yourself. Support yourself first, then others.

Buy Me A Coffee