From 3d1af274703f8294b07503ed21326812061596f1 Mon Sep 17 00:00:00 2001 From: Rub21 Date: Mon, 26 Feb 2024 14:46:48 +0000 Subject: [PATCH] Update website version --- images/web/Dockerfile | 14 +++---- images/web/config/settings.yml | 69 +++++++++++++++++++++++----------- images/web/start.sh | 28 ++++++++------ 3 files changed, 69 insertions(+), 42 deletions(-) diff --git a/images/web/Dockerfile b/images/web/Dockerfile index 5f4375b9..69376c58 100644 --- a/images/web/Dockerfile +++ b/images/web/Dockerfile @@ -12,12 +12,12 @@ RUN apt-get update \ apache2 apache2-dev build-essential git-core postgresql-client \ libpq-dev libsasl2-dev imagemagick libffi-dev libgd-dev libarchive-dev libbz2-dev curl \ default-jre-headless file gpg-agent libvips-dev locales software-properties-common tzdata unzip \ - advancecomp gifsicle libjpeg-progs jhead jpegoptim optipng pngcrush pngquant \ + advancecomp gifsicle libjpeg-progs jhead jpegoptim optipng pngcrush pngquant libyaml-dev \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* ## Install node -RUN curl -sL https://deb.nodesource.com/setup_16.x | bash - +RUN curl -sL https://deb.nodesource.com/setup_18.x | bash - RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list RUN apt-get update && apt-get install -y nodejs yarn && \ @@ -50,7 +50,7 @@ RUN npm install -g svgo RUN rm -rf $workdir/html ## Sep 2023 -ENV OPENSTREETMAP_WEBSITE_GITSHA=926229e286520ed23fb5e8add94c6048aa592412 +ENV OPENSTREETMAP_WEBSITE_GITSHA=f31c81c3f3200b2fb3b2703caa35238652e18e74 RUN curl -L https://github.com/openstreetmap/openstreetmap-website/archive/$OPENSTREETMAP_WEBSITE_GITSHA.zip --output website.zip && unzip website.zip RUN mv openstreetmap-website-$OPENSTREETMAP_WEBSITE_GITSHA/* $workdir/ WORKDIR $workdir @@ -64,14 +64,12 @@ RUN touch $workdir/config/settings.local.yml RUN cp $workdir/config/example.storage.yml $workdir/config/storage.yml RUN echo "#session key \n\ production: \n\ - secret_key_base: $(bundle exec rake secret)" > $workdir/config/secrets.yml + secret_key_base: $(rails secret)" > $workdir/config/secrets.yml # Protect sensitive information RUN chmod 600 $workdir/config/database.yml $workdir/config/secrets.yml +RUN bundle exec bin/yarn install -RUN yarn install -RUN bundle exec rake yarn:install -RUN bundle exec rake i18n:js:export -RUN bundle exec rake assets:precompile +RUN rails i18n:js:export assets:precompile # The rack interface requires a `tmp` directory to use openstreetmap-cgimap RUN ln -s /tmp /var/www/tmp diff --git a/images/web/config/settings.yml b/images/web/config/settings.yml index 4c14afb6..8f46625a 100644 --- a/images/web/config/settings.yml +++ b/images/web/config/settings.yml @@ -27,29 +27,52 @@ status: "online" max_request_area: 0.25 # Number of GPS trace/trackpoints returned per-page tracepoints_per_page: 5000 +# Default limit on the number of changesets returned by the changeset query api method +default_changeset_query_limit: 100 +# Maximum limit on the number of changesets returned by the changeset query api method +max_changeset_query_limit: 100 # Maximum number of nodes that will be returned by the api in a map request -max_number_of_nodes: 100000 +max_number_of_nodes: 50000 # Maximum number of nodes that can be in a way (checked on save) max_number_of_way_nodes: 2000 # Maximum number of members that can be in a relation (checked on save) max_number_of_relation_members: 32000 # The maximum area you're allowed to request notes from, in square degrees max_note_request_area: 25 +# Default limit on the number of notes returned by the note search api method +default_note_query_limit: 100 +# Maximum limit on the number of notes returned by the note search api method +max_note_query_limit: 10000 +# Maximum value of open issues counter for moderators, anything equal or greater to this value "n" is shown as "n+" +max_issues_count: 99 +# Maximum number of points in a GPX trace +max_trace_size: 1000000 # Zoom level to use for postcode results from the geocoder postcode_zoom: 15 # Timeout for API calls in seconds api_timeout: 300 # Timeout for web pages in seconds web_timeout: 30 - - - # Periods (in hours) which are allowed for user blocks user_block_periods: [0, 1, 3, 6, 12, 24, 48, 96, 168, 336, 731, 4383, 8766, 87660] +# Account deletion cooldown period (in hours) since last changeset close; null to disable, 0 to make sure there aren't any open changesets when the deletion happens +user_account_deletion_delay: null # Rate limit for message sending max_messages_per_hour: 60 # Rate limit for friending max_friends_per_hour: 60 +# Rate limit for changeset comments +min_changeset_comments_per_hour: 1 +initial_changeset_comments_per_hour: 6 +max_changeset_comments_per_hour: 60 +moderator_changeset_comments_per_hour: 36000 +# Rate limit for changes +min_changes_per_hour: 100 +initial_changes_per_hour: 1000 +max_changes_per_hour: 100000 +days_to_max_changes: 7 +importer_changes_per_hour: 1000000 +moderator_changes_per_hour: 1000000 # Domain for handling message replies #messages_domain: "messages.openstreetmap.org" # MaxMind GeoIPv2 database @@ -76,23 +99,18 @@ attachments_dir: ":rails_root/public/attachments" basic_auth_support: true # Enable legacy OAuth 1.0 support oauth_10_support: true +oauth_10_registration: true # URL of Nominatim instance to use for geocoding nominatim_url: "https://nominatim.openstreetmap.org/" # Default editor default_editor: "id" # OAuth application for the web site oauth_application: "OAUTH_CLIENT_ID" -oauth_key: "OAUTH_KEY" -# OAuth consumer key for iD +# oauth_key: "OAUTH_KEY" +# OAuth application for iD id_application: "" # Imagery to return in capabilities as blacklisted -imagery_blacklist: -# Current Google imagery URLs have google or googleapis in the domain -- ".*\\.google(apis)?\\..*/.*" -# Blacklist VWorld -- "http://xdworld\\.vworld\\.kr:8080/.*" -# Blacklist here -- ".*\\.here\\.com[/:].*" +imagery_blacklist: [] # URL of Overpass instance to use for feature queries overpass_url: "https://overpass-api.de/api/interpreter" overpass_credentials: false @@ -106,14 +124,16 @@ fossgis_valhalla_url: "https://valhalla1.openstreetmap.de/route" #google_openid_realm: "" #facebook_auth_id: "" #facebook_auth_secret: "" -#windowslive_auth_id: "" -#windowslive_auth_secret: "" #github_auth_id: "" #github_auth_secret: "" +#microsoft_auth_id: "" +#microsoft_auth_secret: "" #wikipedia_auth_id: "" #wikipedia_auth_secret: "" # Thunderforest authentication details #thunderforest_key: "" +# Tracestrack authentication details +#tracestrack_key: "" # Key for generating TOTP tokens #totp_key: "" # Enforce Content-Security-Policy @@ -140,10 +160,15 @@ smtp_tls_verify_mode: "none" smtp_authentication: null smtp_user_name: null smtp_password: null - -# Rate limit for changeset comments -min_changeset_comments_per_hour: 1 -initial_changeset_comments_per_hour: 6 -max_changeset_comments_per_hour: 60 -moderator_changeset_comments_per_hour: 36000 -embed_server_url: "https://embed.openstreetmap.org/" +# Matomo settings for analytics +#matomo: +# Signup rate limits +#signup_ip_per_day: +#signup_ip_max_burst: +#signup_email_per_day: +#signup_email_max_burst: +# Private key for signing id_tokens +#doorkeeper_signing_key: | +# -----BEGIN PRIVATE KEY----- +# ... +# -----END PRIVATE KEY----- diff --git a/images/web/start.sh b/images/web/start.sh index 05b00bce..a6c333bf 100755 --- a/images/web/start.sh +++ b/images/web/start.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -x workdir="/var/www" export RAILS_ENV=production @@ -31,7 +32,7 @@ sed -i -e 's/id_application: ""/id_application: "'$OPENSTREETMAP_id_key'"/g' $wo ## SET UP OAUTH ID AND KEY sed -i -e 's/OAUTH_CLIENT_ID/'$OAUTH_CLIENT_ID'/g' $workdir/config/settings.yml -sed -i -e 's/OAUTH_KEY/'$OAUTH_KEY'/g' $workdir/config/settings.yml +# sed -i -e 's/OAUTH_KEY/'$OAUTH_KEY'/g' $workdir/config/settings.yml #### Setup env vars for memcached server sed -i -e 's/#memcache_servers: \[\]/memcache_servers: "'$OPENSTREETMAP_memcache_servers'"/g' $workdir/config/settings.yml @@ -44,6 +45,11 @@ sed -i -e 's/overpass-api.de/'$OVERPASS_URL'/g' $workdir/config/settings.yml sed -i -e 's/overpass-api.de/'$OVERPASS_URL'/g' $workdir/app/views/site/export.html.erb sed -i -e 's/overpass-api.de/'$OVERPASS_URL'/g' $workdir/app/assets/javascripts/index/export.js +## Set Permissions +chmod 0775 /var/www/log +touch /var/www/log/production.log +chmod 0664 /var/www/log/production.log + #### CHECK IF DB IS ALREADY UP AND START THE APP flag=true site_loading=true @@ -60,19 +66,17 @@ while "$flag" = true; do sleep 2 done & - time bundle exec rake i18n:js:export assets:precompile - bundle exec rails db:migrate - # /usr/local/bin/openstreetmap-cgimap \ - # --port=8000 \ - # --daemon \ - # --instances=10 \ - # --dbname=$POSTGRES_DB \ - # --host=$POSTGRES_HOST \ - # --username=$POSTGRES_USER \ - # --password=$POSTGRES_PASSWORD \ - # --logfile log/cgimap.log + /usr/local/bin/openstreetmap-cgimap \ + --port=8000 \ + --daemon \ + --instances=10 \ + --dbname=$POSTGRES_DB \ + --host=$POSTGRES_HOST \ + --username=$POSTGRES_USER \ + --password=$POSTGRES_PASSWORD \ + --logfile log/cgimap.log bundle exec rake jobs:work & apachectl -k start -DFOREGROUND done