From 4f022d31e0f0d8516df5937dd28c3120a80dd383 Mon Sep 17 00:00:00 2001 From: kev Date: Wed, 28 Nov 2018 14:05:02 +0800 Subject: [PATCH] add freegeoip --- README.md | 2 +- freegeoip/Dockerfile | 22 ++++++++++++++++++++++ freegeoip/README.md | 34 ++++++++++++++++++++++++++++++++++ freegeoip/docker-compose.yml | 6 ++++++ freegeoip/freegeoip.service | 12 ++++++++++++ 5 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 freegeoip/Dockerfile create mode 100644 freegeoip/README.md create mode 100644 freegeoip/docker-compose.yml create mode 100644 freegeoip/freegeoip.service diff --git a/README.md b/README.md index f8945c8..ae539fe 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,6 @@ A collection of delicious docker recipes. - [ ] caddy - [ ] dsniff - [ ] ettercap -- [ ] freegeoip - [ ] freelan - [ ] gitbook - [ ] gitolite @@ -76,6 +75,7 @@ A collection of delicious docker recipes. - [x] cadvisor - [x] casperjs :+1: - [x] collectd +- [x] freegeoip - [x] freeradius - [x] frp :cn: - [x] graphite diff --git a/freegeoip/Dockerfile b/freegeoip/Dockerfile new file mode 100644 index 0000000..bd84ab7 --- /dev/null +++ b/freegeoip/Dockerfile @@ -0,0 +1,22 @@ +# +# Dockerfile for freegeoip +# + +FROM alpine +MAINTAINER EasyPi Software Foundation + +ENV FREEGEOIP_VERSION 3.4.1 +ENV FREEGEOIP_FILE freegeoip-${FREEGEOIP_VERSION}-linux-amd64.tar.gz +ENV FREEGEOIP_URL https://github.com/fiorix/freegeoip/releases/download/v${FREEGEOIP_VERSION}/${FREEGEOIP_FILE} + +WORKDIR /opt/freegeoip + +RUN set -xe \ + && apk add --no-cache curl tar \ + && curl -sSL ${FREEGEOIP_URL} | tar xz --strip 1 \ + && apk del curl tar + +EXPOSE 8080 8888 + +ENTRYPOINT ["./freegeoip"] +CMD ["-public", "public", "-http", ":8080", "-internal-server", ":8888"] diff --git a/freegeoip/README.md b/freegeoip/README.md new file mode 100644 index 0000000..d70cc2e --- /dev/null +++ b/freegeoip/README.md @@ -0,0 +1,34 @@ +freegeoip +========= + +## docker-compose.yml + +```yaml +freegeoip: + image: vimagick/freegeoip + ports: + - "8080:8080" + - "8888:8888" + restart: always +``` + +## up and running + +```bash +$ docker-compose up -d + +$ curl -s http://localhost:8080/json/8.8.8.8 | jq . +{ + "ip": "8.8.8.8", + "country_code": "US", + "country_name": "United States", + "region_code": "", + "region_name": "", + "city": "", + "zip_code": "", + "time_zone": "", + "latitude": 37.751, + "longitude": -97.822, + "metro_code": 0 +} +``` diff --git a/freegeoip/docker-compose.yml b/freegeoip/docker-compose.yml new file mode 100644 index 0000000..47eb825 --- /dev/null +++ b/freegeoip/docker-compose.yml @@ -0,0 +1,6 @@ +freegeoip: + image: vimagick/freegeoip + ports: + - "8080:8080" + - "8888:8888" + restart: always diff --git a/freegeoip/freegeoip.service b/freegeoip/freegeoip.service new file mode 100644 index 0000000..944042c --- /dev/null +++ b/freegeoip/freegeoip.service @@ -0,0 +1,12 @@ +[Unit] +Description=IP Geolocation Web Server +After=network-online.target + +[Service] +WorkingDirectory=/opt/freegeoip +ExecStart=/opt/freegeoip/freegeoip -public public -http :8080 -internal-server :8888 +Restart=always +RestartSec=5 + +[Install] +WantedBy=multi-user.target