🛜 A Go application to track and log your public IP address with a web interface for viewing the history.
Find a file
skidoodle 3148a47258 fix(docker): ensure data persistence across container updates
- Update Dockerfile to set BUILDER to /build
- Update Dockerfile to set WORKDIR to /app
- Update docker-compose.yml to use a named volume for iphistory service
- Mount iphistory_data volume to /app directory in the container
- Ensure data is preserved when pulling the latest image and recreating the container
2024-06-25 00:11:30 +02:00
.github/workflows Initial commit 2024-05-31 13:35:37 +02:00
web feat: include total IPs in search bar placeholder 2024-06-24 23:25:08 +02:00
docker-compose.yaml fix(docker): ensure data persistence across container updates 2024-06-25 00:11:30 +02:00
Dockerfile fix(docker): ensure data persistence across container updates 2024-06-25 00:11:30 +02:00
genhistory.py Initial commit 2024-05-31 13:35:37 +02:00
go.mod Initial commit 2024-05-31 13:35:37 +02:00
license Initial commit 2024-05-31 13:35:37 +02:00
main.go chore: better json and ui 2024-06-01 21:55:05 +02:00
readme.md fix: ocd 2024-06-02 12:42:44 +02:00

IPHistory

The IPHistory project is a simple yet effective solution for tracking and logging the public IP address of your network. It periodically fetches the public IP address and logs it to a file, while also providing a web interface to view the IP history in a clean UI and an endpoint (/history) for JSON format.

iphistory

Running Locally

With Docker

git clone https://github.com/skidoodle/iphistory
cd iphistory
docker build -t iphistory:main .
docker run -p 8080:8080 iphistory:main

Without Docker

git clone https://github.com/skidoodle/iphistory
cd iphistory
go run main.go

Deploying

Docker Compose

version: '3.9'

services:
  iphistory:
    container_name: iphistory
    image: 'ghcr.io/skidoodle/iphistory:main'
    restart: unless-stopped
    ports:
      - '8080:8080'
    volumes:
      - data:/app

volumes:
  data:
    driver: local

Docker Run

docker run \
  -d \
  --name=iphistory \
  --restart=unless-stopped \
  -p 8080:8080 \
  ghcr.io/skidoodle/iphistory:main

License

GPL-3.0