This section shows the contents of the docker-compose.yml and Dockerfile files used to deploy the GeoTAX SDK.
Docker compose file
This sample shows the contents of a docker-compose.yml file used to deploy the GeoTAX SDK.
version: "3.9"
services:
geotax-service:
image: geotax-service:latest
deploy:
resources:
limits:
cpus: '2'
memory: 8192M
reservations:
cpus: '0.25'
memory: 512M
environment:
- RESOURCES_LOCATION=/usr/local/gtx/taxing-resources
ports:
- '8081:8080'
restart: always
volumes:
- "./geotax/gtx:/usr/local/gtx"
- "./data:/usr/local/gtx-data"
networks:
- li
networks:
li:
name: "geotax-service"
Docker file
This sample shows the contents of a Dockerfile file used to deploy the GeoTAX SDK.
# we are extending everything from openjdk11:alpine-jre image ...
FROM adoptopenjdk/openjdk11:alpine-jre
RUN apk update \
&& apk add build-base \
&& apk add g++ \
&& apk add mpc1-dev \
&& apk add gmp-dev \
&& apk add mpfr-dev \
&& apk add libc-dev
RUN cd /tmp \
&& mkdir /usr/local/rclone \
&& wget -q https://downloads.rclone.org/rclone-current-linux-amd64.zip \
&& unzip /tmp/rclone-current-linux-amd64.zip \
&& cp /tmp/rclone-*-linux-amd64/rclone /usr/bin \
&& rm -r /tmp/rclone*
ENV LD_LIBRARY_PATH=/usr/local/gtx/taxing-resources/bin/linux64
ENV JAVA_TOOL_OPTIONS='-Xmx6g -Xms2g'
WORKDIR /usr/local/gtx
EXPOSE 8080
CMD java -XX:+UseCompressedOops -Dtaxing.config.default.properties.resourcesLocation="/usr/local/gtx/taxing-resources" -XX:+UseG1GC -XX:InitiatingHeapOccupancyPercent=30 -XX:MaxGCPauseMillis=10000 -XX:MaxRAMPercentage=70.0 -jar ./webapp/geotax-api-*.war