{"id":13604942,"url":"https://github.com/xavier-hernandez/docker-external-ip","last_synced_at":"2026-03-12T15:02:00.124Z","repository":{"id":43476552,"uuid":"511329933","full_name":"xavier-hernandez/docker-external-ip","owner":"xavier-hernandez","description":"Get external IP via DIG command ( opendns , cloudflare, google ) with pushover notification on change","archived":false,"fork":false,"pushed_at":"2023-11-07T20:38:47.000Z","size":18,"stargazers_count":15,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-30T10:42:05.344Z","etag":null,"topics":["bash","curl","dig","ip","pushover","pushover-notification","pushover-notifications"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xavier-hernandez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-07-07T00:13:34.000Z","updated_at":"2025-01-15T07:15:13.000Z","dependencies_parsed_at":"2024-01-16T23:45:22.907Z","dependency_job_id":"e7d217a2-66c8-4c61-a1af-d4a779f1863b","html_url":"https://github.com/xavier-hernandez/docker-external-ip","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xavier-hernandez%2Fdocker-external-ip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xavier-hernandez%2Fdocker-external-ip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xavier-hernandez%2Fdocker-external-ip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xavier-hernandez%2Fdocker-external-ip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xavier-hernandez","download_url":"https://codeload.github.com/xavier-hernandez/docker-external-ip/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251684808,"owners_count":21627195,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","curl","dig","ip","pushover","pushover-notification","pushover-notifications"],"created_at":"2024-08-01T19:00:52.934Z","updated_at":"2026-03-12T15:01:55.072Z","avatar_url":"https://github.com/xavier-hernandez.png","language":"Shell","funding_links":[],"categories":["bash"],"sub_categories":[],"readme":"# Docker container that retrieves your external IP address via DIG with optional pushover alert and Apprise support\nGets external IP via DIG command ( opendns , cloudflare, google ) on a scheduled basis that can be customized. Also includes the ability to alert you via pushover if the IP changes.\n\nExample from docker logs\n```\nStarting...\nSetting sleep delay...\nIP: 00.00.00.00 [CHANGE]\n\nSending pushover message...\n{\"status\":1,\"request\":\"gfdgdf-gdfg-gdfgd-dfgd-fgdfgd\"}\n\nIP: 00.00.00.00\ndig: couldn't get address for 'ns1.google.com': not found\n\n[Error or Invalid IP address]\ndig: couldn't get address for 'ns1.google.com': not found\n\n[Error or Invalid IP address]\nIP: 00.00.00.00 [RECOVERY]\nIP: 00.00.00.00\nIP: 00.00.00.01 [CHANGE]\n\nSending pushover message...\n{\"status\":1,\"request\":\"gfdgdf-gdfg-gdfgd-dfgd-fgdfgd\"}\n\nIP: 00.00.00.01\n```\n---\n\n## **Docker**\n- Image: https://hub.docker.com/r/xavierh/external-ip\n- OS/ARCH\n  - linux/amd64\n  - linux/arm/v7\n  - linux/arm64/v8\n- Tags: https://hub.docker.com/r/xavierh/external-ip/tags\n  - stable - xavierh/external-ip:latest\n\n## **Github Repo**   \n- https://github.com/xavier-hernandez/docker-external-ip\n\n---\n\n**Built-In Pushover Example**\n```yml\nexternal_ip:\n    image: xavierh/external-ip:latest\n    container_name: external_ip\n    restart: always\n    environment:\n        - TZ=America/New_York\n        - RECOVERY_ALERT=True/False #optional, default is False\n        - DELAY=5m #optional, default is 5 minutes\n        - PROVIDER=CLOUDFLARE #optional, default is cloudflare\n        - NOTIFICATION_TYPE=PUSHOVER #optional\n        - PUSHOVER_TOKEN=token #optional\n        - PUSHOVER_USER=user #optional\n        - PUSHOVER_TITLE=title #optional, if using PUSHOVER\n        - SAVE_IP=True #optional\n    volume:\n        - /path/to/data:/stor-external-ip #optional but required if using SAVE_IP\n```\n**APPRISE Example**\n```yml\nexternal_ip:\n    image: xavierh/external-ip:latest\n    container_name: external_ip\n    restart: always\n    environment:\n        - TZ=America/New_York\n        - RECOVERY_ALERT=True/False #optional, default is False\n        - DELAY=5m #optional, default is 5 minutes\n        - PROVIDER=CLOUDFLARE #optional, default is cloudflare\n        - NOTIFICATION_TYPE=APPRISE #optional\n        - APPRISE_TITLE=title #optional, if using APPRISE\n        - APPRISE_1=pover://user@token #required if using APPRISE\n        - APPRISE_2=pushed://appkey/appsecret/ #optional\n        - APPRISE_3=discord://webhook_id/webhook_token #optional\n        - APPRISE_...=pover://user@token #optional, up to 10\n```\n\n\n| Parameter | Function |\n|-----------|----------|\n| `-e RECOVERY_ALERT=True/False`         |   (Optional) Used when NOTIFICATION_TYPE is set.\u003cbr\u003e\u003cbr\u003e If the docker container cannot connect to the internet or retrieve an IP address a flag is set. Once the connection has been re-established or an IP address is retrieved a notification will be sent and the flag cleared. The IP address might be the same or different. If you do not wish to receive a notification when retrieving an IP fails mark it as FALSE. \u003cbr\u003e\u003cbr\u003e Options: True, False    |\n| `-e DELAY=5m`         |   (Optional) Using standard sleep command. \u003cbr\u003e\u003cbr\u003e Options: X (X seconds), Xm (X minutes), Xh (5 hours), and Xd (days)     |\n| `-e PROVIDER=CLOUDFLARE`         |   (Optional)\u003cbr\u003e\u003cbr\u003eOptions: CLOUDFLARE, GOOGLE, OPENDNS     |\n| `-e NOTIFICATION_TYPE=PUSHOVER`         |   (Optional)\u003cbr\u003e\u003cbr\u003eOptions: PUSHOVER,APPRISE   |\n| `-e PUSHOVER_TOKEN=`         |   (Required if NOTIFICATION_TYPE is set)   |\n| `-e PUSHOVER_USER=`         |   (Required if NOTIFICATION_TYPE is set)    |\n| `-e PUSHOVER_TITLE=`         |   (Optional) default message is \"EXTERNAL IP\"   |\n| `-e APPRISE_TITLE=`         |   (Optional) default message is \"EXTERNAL IP\"   |\n| `-e APPRISE_1=`         |   (1 is required) the app will read up to 10, i.e. APPRISE_2... APPRISE_10, use syntax from CLI syntax https://github.com/caronc/apprise  |","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxavier-hernandez%2Fdocker-external-ip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxavier-hernandez%2Fdocker-external-ip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxavier-hernandez%2Fdocker-external-ip/lists"}