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