chores: geoip2 and nginx for geo aware services

This commit is contained in:
by-sabbir 2022-04-04 02:41:49 +06:00
parent 1fba36c6f9
commit ab1331c80a
5 changed files with 57 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
*.mmdb
geoupdate/.env

37
Dockerfile Normal file
View file

@ -0,0 +1,37 @@
ARG NGINX_VERSION=1.19.2
FROM nginx:$NGINX_VERSION
ARG NGINX_VERSION=1.19.2
ARG GEOIP2_VERSION=3.3
RUN mkdir -p /var/lib/GeoIP/
RUN apt-get update \
&& apt-get install -y \
build-essential \
libpcre++-dev \
zlib1g-dev \
libgeoip-dev \
libmaxminddb-dev \
wget \
git
RUN cd /opt \
&& git clone --depth 1 -b $GEOIP2_VERSION --single-branch https://github.com/leev/ngx_http_geoip2_module.git \
&& wget -O - http://nginx.org/download/nginx-$NGINX_VERSION.tar.gz | tar zxfv - \
&& mv /opt/nginx-$NGINX_VERSION /opt/nginx \
&& cd /opt/nginx \
&& ./configure --with-compat --add-dynamic-module=/opt/ngx_http_geoip2_module \
&& make modules
FROM nginx:$NGINX_VERSION
COPY --from=0 /opt/nginx/objs/ngx_http_geoip2_module.so /usr/lib/nginx/modules
RUN apt-get update \
&& apt-get install -y --no-install-recommends --no-install-suggests libmaxminddb0 \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& chmod -R 644 /usr/lib/nginx/modules/ngx_http_geoip2_module.so \
&& sed -i '1iload_module \/usr\/lib\/nginx\/modules\/ngx_http_geoip2_module.so;' /etc/nginx/nginx.conf

18
docker-compose.yml Normal file
View file

@ -0,0 +1,18 @@
version: '3'
services:
geoupdate:
image: maxmindinc/geoipupdate
env_file: ./geoupdate/.env
volumes:
- ./geoupdate:/usr/share/GeoIP
nginx:
build: .
container_name: nginx-geo
volumes:
- ./geoupdate/GeoLite2-Country.mmdb:/var/lib/GeoIP/GeoLite2-Country.mmdb
- ./conf/nginx.conf:/etc/nginx/nginx.conf
- ./conf/site.conf:/etc/nginx/conf.d/default.conf
ports:
- 80:80

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.