Compare commits

...

1 Commits

4 changed files with 30 additions and 16 deletions

View File

@ -155,6 +155,10 @@ RUN cd /home/renderer/src/openstreetmap-carto && patch -p1 < external-data.yml.d
COPY ./style.diff /home/renderer/src/openstreetmap-carto
RUN cd /home/renderer/src/openstreetmap-carto && patch -p1 < style.diff
RUN grep -v pam_loginuid /etc/pam.d/cron > /etc/pam.d/cron.new && mv /etc/pam.d/cron.new /etc/pam.d/cron && \
sed 's!/var/cache/renderd/tiles!$1!' /home/renderer/src/mod_tile/utils/osmosis-db_replag > /usr/bin/osmosis-db_replag && \
chmod 755 /usr/bin/osmosis-db_replag
# Start running
COPY run.sh /
ENTRYPOINT ["/run.sh"]

View File

@ -27,7 +27,7 @@ podman run \
-e PGPORT=5432 \
-e PGDB=osm \
-e DOWNLOAD_PBF=https://download.geofabrik.de/russia-latest.osm.pbf \
-e DOWNLOAD_POLY=https://download.geofabrik.de/russia.poly \
[-e DOWNLOAD_POLY=https://download.geofabrik.de/russia.poly \]
-e UPDATES=enabled \
-v /run/postgresql:/run/postgresql \
-v /home/osm/download:/data \
@ -53,6 +53,8 @@ podman run \
-v /run/postgresql:/run/postgresql \
-v /home/osm/download:/data \
-v /home/osm/mod_tile:/var/lib/mod_tile \
-v /home/osm/logs:/var/log/tiles \
-v /dev/log:/dev/log \
-p 8080:80 \
osm \
run

View File

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
set -e
@ -11,6 +11,8 @@ export PATH=.:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ACCOUNT=renderer
cd /home/$ACCOUNT/src/mod_tile/
[ -f /home/$ACCOUNT/env ] && . /home/$ACCOUNT/env
#------------------------------------------------------------------------------
# Extra OSM2PGSQL_OPTIONS may need setting if a tag transform script is
# in use. See https://github.com/SomeoneElseOSM/SomeoneElse-style and
@ -21,8 +23,7 @@ OSMOSIS_BIN=osmosis
OSM2PGSQL_BIN=osm2pgsql
TRIM_BIN=/home/$ACCOUNT/src/regional/trim_osc.py
DBNAME=gis
OSM2PGSQL_OPTIONS="-d $DBNAME -G --hstore --tag-transform-script /home/renderer/src/openstreetmap-carto/openstreetmap-carto.lua --number-processes ${THREADS:-4} -S /home/renderer/src/openstreetmap-carto/openstreetmap-carto.style ${OSM2PGSQL_EXTRA_ARGS}"
OSM2PGSQL_OPTIONS="-G --hstore --tag-transform-script /home/renderer/src/openstreetmap-carto/openstreetmap-carto.lua --number-processes ${THREADS:-4} -S /home/renderer/src/openstreetmap-carto/openstreetmap-carto.style ${OSM2PGSQL_EXTRA_ARGS}"
#------------------------------------------------------------------------------
# When using trim_osc.py we can define either a bounding box (such as this
@ -31,7 +32,6 @@ OSM2PGSQL_OPTIONS="-d $DBNAME -G --hstore --tag-transform-script /home/renderer/
# This area will usually correspond to the data originally loaded.
#------------------------------------------------------------------------------
TRIM_POLY_FILE="/var/lib/mod_tile/data.poly"
TRIM_OPTIONS="-d $DBNAME"
#TRIM_REGION_OPTIONS="-b -14.17 48.85 2.12 61.27"
TRIM_REGION_OPTIONS="-p $TRIM_POLY_FILE"
@ -139,7 +139,7 @@ fi
seq=`cat $WORKOSM_DIR/state.txt | grep sequenceNumber | cut -d= -f2`
m_ok "start import from seq-nr $seq, replag is `osmosis-db_replag -h`"
m_ok "start import from seq-nr $seq, replag is `osmosis-db_replag /var/lib/mod_tile`"
/bin/cp $WORKOSM_DIR/state.txt $WORKOSM_DIR/last.state.txt
m_ok "downloading diff"
@ -150,7 +150,8 @@ fi
if [ -f $TRIM_POLY_FILE ] ; then
m_ok "filtering diff"
if ! $TRIM_BIN $TRIM_OPTIONS $TRIM_REGION_OPTIONS -z $CHANGE_FILE $CHANGE_FILE 1>&2 2>> "$RUNLOG"; then
if ! $TRIM_BIN -d "$PGDB" --host "$PGHOST" --port "${PGPORT:-5432}" --user "$PGUSER" \
$TRIM_REGION_OPTIONS -z $CHANGE_FILE $CHANGE_FILE 1>&2 2>> "$RUNLOG"; then
m_error "Trim_osc error"
fi
else
@ -163,7 +164,8 @@ fi
# tiles in range to the list (note the "-" rather than ":" in the "-e"
# parameter).
#------------------------------------------------------------------------------
if ! $OSM2PGSQL_BIN -a --slim -e$EXPIRY_MINZOOM-$EXPIRY_MAXZOOM $OSM2PGSQL_OPTIONS -o "$EXPIRY_FILE.$$" $CHANGE_FILE 1>&2 2> "$PGSQLLOG"; then
if ! $OSM2PGSQL_BIN -a --slim -e$EXPIRY_MINZOOM-$EXPIRY_MAXZOOM -H "$PGHOST" -P "${PGPORT:-5432}" -U "$PGUSER" -d "$PGDB" \
$OSM2PGSQL_OPTIONS -o "$EXPIRY_FILE.$$" $CHANGE_FILE 1>&2 2> "$PGSQLLOG"; then
m_error "osm2pgsql error"
fi
@ -186,21 +188,19 @@ fi
# delete >= $EXPIRY_DELETEFROM and <= $EXPIRY_MAXZOOM.
# The default path to renderd.sock is fixed.
#------------------------------------------------------------------------------
if ! render_expired --map=ajt --min-zoom=$EXPIRY_MINZOOM --touch-from=$EXPIRY_TOUCHFROM --delete-from=$EXPIRY_DELETEFROM --max-zoom=$EXPIRY_MAXZOOM -s /var/run/renderd/renderd.sock < "$EXPIRY_FILE.$$" 2>&1 | tail -8 >> "$EXPIRYLOG"; then
if ! render_expired --map=ajt --min-zoom=$EXPIRY_MINZOOM --touch-from=$EXPIRY_TOUCHFROM \
--delete-from=$EXPIRY_DELETEFROM --max-zoom=$EXPIRY_MAXZOOM -t /var/lib/mod_tile \
-s /var/run/renderd/renderd.sock < "$EXPIRY_FILE.$$" 2>&1 | tail -8 >> "$EXPIRYLOG"; then
m_info "Expiry failed"
else
rm "$EXPIRY_FILE.$$"
fi
rm "$EXPIRY_FILE.$$"
#------------------------------------------------------------------------------
# Only remove the lock file after expiry (if system is slow we want to delay
# the next import, not have multiple render_expired processes running)
#------------------------------------------------------------------------------
freelock "$LOCK_FILE"
freelock "$LOCK_FILE"
m_ok "Done with import"
fi

8
run.sh
View File

@ -78,6 +78,14 @@ if [ "$1" = "run" ]; then
echo "export APACHE_ARGUMENTS='-D ALLOW_CORS'" >> /etc/apache2/envvars
fi
echo "PGHOST='$PGHOST'" > /home/renderer/env
echo "PGPORT='$PGPORT'" >> /home/renderer/env
echo "PGUSER='$PGUSER'" >> /home/renderer/env
echo "PGDB='$PGDB'" >> /home/renderer/env
echo "PGPASSWORD='$PGPASSWORD'" >> /home/renderer/env
chown renderer /var/log/tiles
cd /home/renderer/src/openstreetmap-carto
sed "s/ dbname: \"gis\"/ host: \"$PGHOST\"\n\
port: \"${PGPORT:-5432}\"\n\