easy-osm2city-podman/full/Dockerfile

78 lines
3.2 KiB
Text
Raw Permalink Normal View History

FROM debian:bookworm-20230814 as build
# Install basic tools and dependencies
RUN apt-get -y update &&\
apt-get install -y git sudo dctrl-tools autoconf automake autotools-dev cmake cpp g++ gcc sed \
libboost-dev libboost-program-options-dev libboost-system-dev libboost-chrono-dev libboost-atomic-dev libboost-date-time-dev \
libboost-serialization-dev libboost-filesystem-dev libboost-system-dev libboost-thread-dev libplib-dev \
libfreetype-dev libjpeg-dev libgif-dev libtiff-dev libpng-dev libxmu-dev libxi-dev zlib1g libcgal-dev libopenal-dev \
libopenscenegraph-dev libcurl4-openssl-dev libgdal-dev
ENV SG_VERSION e2755a302449fd2c447deaee50c3016402bf0353
ENV FG_VERSION b71b27ea18d43169d3e91882b23c6af3fc01297d
# any later fgmeta will abort cause run as root
ENV FGMETA_VERSION 45917d6075d942437dc8b63b7ec9d84ffe60b408
RUN git clone https://git.code.sf.net/p/flightgear/fgmeta &&\
cd fgmeta &&\
git checkout $FGMETA_VERSION &&\
cd .. &&\
mkdir fgelev &&\
cd fgelev &&\
git clone https://git.code.sf.net/p/flightgear/simgear &&\
cd simgear &&\
git checkout $SG_VERSION &&\
cd .. &&\
git clone https://git.code.sf.net/p/flightgear/flightgear &&\
cd flightgear &&\
git checkout $FG_VERSION
RUN export SG_CMAKEARGS="-DENABLE_TESTS=OFF" && cd fgelev && ../fgmeta/download_and_compile.sh -j $(nproc) -dn -pn SIMGEAR FGFS
FROM debian:bookworm-20230814
RUN apt-get -y update &&\
apt-get install -y git osmium-tool osmosis postgis postgresql-contrib postgresql-client postgresql-postgis postgresql python3-pip python3-venv python3-dev python3-requests python3-tabulate curl sudo tmux vim wget parallel zip &&\
apt-get clean
# pillow dependencies:
RUN apt-get -y install libtiff5-dev libjpeg-dev libopenjp2-7-dev zlib1g-dev \
libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python3-tk \
libharfbuzz-dev libfribidi-dev libxcb1-dev &&\
rm -rf /var/lib/apt/lists/*
COPY --from=build /fgelev/install/simgear/ /usr/bin/fgelev/install/simgear
COPY --from=build /fgelev/install/flightgear/bin/fgelev /usr/bin/fgelev/install/flightgear/bin/
COPY fgdata /usr/bin/fgelev/install/flightgear/fgdata
ENV OSM2CITY_COMMIT e963c5123a9daeaa9ae09024076a86dfb3f2d2d8
ENV OSM2CITY_DATA_COMMIT 51e7c2a1b6ed7a40a3557820e3e2e807b0b65ded
ENV EASY_O2C_COMMIT 38837d9c43e830ff0478a6f29f16c980a933129c
ENV EASY_O2C_SCRIPTS_COMMIT 836d350f130eff9e86d7338a7d6fb7e2f14617a9
RUN git clone https://git.merspieler.tk/fly/easy-osm2city
WORKDIR /easy-osm2city
COPY general-settings .
# Do some things from the install script manually
RUN git clone https://git.merspieler.tk/fly/osm2city-scripts scripts
RUN git clone https://gitlab.com/osm2city/osm2city.git
RUN git clone https://gitlab.com/osm2city/osm2city-data.git
RUN mkdir -p pbf && mkdir -p projects && mkdir -p /scenery
# Checkout known working commits
RUN git checkout $EASY_O2C_COMMIT && \
cd scripts/ && git checkout $EASY_O2C_SCRIPTS_COMMIT && \
cd ../osm2city && git checkout $OSM2CITY_COMMIT && \
cd ../osm2city-data && git checkout $OSM2CITY_DATA_COMMIT && cd ..
COPY requirements.txt /easy-osm2city/osm2city/requirements.txt
RUN ./create-venv
VOLUME /scenery
VOLUME /easy-osm2city/projects
VOLUME /easy-osm2city/pbf