From 257c4100da65107ca3a39cef94ca47c03937843b Mon Sep 17 00:00:00 2001 From: Rub21 Date: Fri, 10 Jan 2025 09:12:29 -0500 Subject: [PATCH 01/32] Add container for cgimap --- .github/workflows/chartpress.yaml | 2 +- chartpress.yaml | 2 + images/cgimap/Dockerfile | 75 +++++++++++++++++++++++++++++++ ohm/values.yaml | 4 ++ 4 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 images/cgimap/Dockerfile diff --git a/.github/workflows/chartpress.yaml b/.github/workflows/chartpress.yaml index 17f638a2..536509d5 100644 --- a/.github/workflows/chartpress.yaml +++ b/.github/workflows/chartpress.yaml @@ -5,7 +5,7 @@ on: - 'main' - 'staging' - 'development' - - 'fix/tiler_server' + - 'refactor/tiler_docker' jobs: build: runs-on: ubuntu-20.04 diff --git a/chartpress.yaml b/chartpress.yaml index 5e1e3de7..ea7392fd 100644 --- a/chartpress.yaml +++ b/chartpress.yaml @@ -16,3 +16,5 @@ charts: valuesPath: osm-seed.tmApi.image tiler-cache: valuesPath: ohm.tilerCache.image + cgimap: + valuesPath: ohm.cgimap.image diff --git a/images/cgimap/Dockerfile b/images/cgimap/Dockerfile new file mode 100644 index 00000000..8f0d2707 --- /dev/null +++ b/images/cgimap/Dockerfile @@ -0,0 +1,75 @@ +FROM ruby:3.3.0 AS cgimap-builder + +ENV DEBIAN_FRONTEND=noninteractive +ENV CGIMAP_REPO="https://github.com/zerebubuth/openstreetmap-cgimap.git" +ENV CGIMAP_GITSHA="26cd7fa10affe5dbd13dbe16de34421059f53f18" +ENV CGIMAP_PATH="/tmp/openstreetmap-cgimap" + +# Install dependencies required to build cgimap +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + build-essential \ + git \ + cmake \ + libxml2-dev \ + libpqxx-dev \ + libfcgi-dev \ + zlib1g-dev \ + libbrotli-dev \ + libboost-program-options-dev \ + libfmt-dev \ + libmemcached-dev \ + libcrypto++-dev \ + libargon2-dev \ + libyajl-dev \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +# Clone cgimap repository, checkout the desired commit, and build +RUN git clone -b master "$CGIMAP_REPO" "$CGIMAP_PATH" \ + && cd "$CGIMAP_PATH" \ + && git checkout "$CGIMAP_GITSHA" \ + && rm -rf .git \ + && mkdir build && cd build \ + && cmake .. \ + && cmake --build . + +############################################################################### +# 2) BASE STAGE - Node, Yarn, Postgres client, cgimap runtime +############################################################################### +FROM ruby:3.3.0 + +ENV DEBIAN_FRONTEND=noninteractive + +# Install Node, Yarn, PostgreSQL client, and other runtime dependencies +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + curl \ + postgresql-client \ + libpq-dev \ + libfcgi0ldbl \ + zlib1g \ + libbrotli1 \ + libboost-program-options1.74.0 \ + libfmt7 \ + libmemcached11 \ + libcrypto++8 \ + libargon2-1 \ + libyajl2 \ + software-properties-common \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +# Install Node & Yarn from upstream repositories +RUN curl -sL https://deb.nodesource.com/setup_18.x | bash - \ + && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ + && echo "deb https://dl.yarnpkg.com/debian/ stable main" \ + | tee /etc/apt/sources.list.d/yarn.list \ + && apt-get update \ + && apt-get install -y --no-install-recommends nodejs yarn \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +# Copy the compiled cgimap binary from the builder stage +COPY --from=cgimap-builder /tmp/openstreetmap-cgimap/build/openstreetmap-cgimap /usr/local/bin/openstreetmap-cgimap +RUN echo "/usr/local/lib" > /etc/ld.so.conf.d/local_libs.conf && ldconfig diff --git a/ohm/values.yaml b/ohm/values.yaml index 3d4334f9..5de9a5c2 100644 --- a/ohm/values.yaml +++ b/ohm/values.yaml @@ -25,6 +25,10 @@ osm-seed: tag: chartpress_replace_me ohm: tilerCache: + image: + name: chartpress_replace_me + tag: chartpress_replace_me + cgimap: image: name: chartpress_replace_me tag: chartpress_replace_me \ No newline at end of file From b9209531ca1625ed02e64f27e4c84782eeea2dc9 Mon Sep 17 00:00:00 2001 From: Rub21 Date: Fri, 10 Jan 2025 09:14:08 -0500 Subject: [PATCH 02/32] Update chartpress to build web contianer --- .github/workflows/chartpress.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/chartpress.yaml b/.github/workflows/chartpress.yaml index 536509d5..d5f9644d 100644 --- a/.github/workflows/chartpress.yaml +++ b/.github/workflows/chartpress.yaml @@ -5,7 +5,7 @@ on: - 'main' - 'staging' - 'development' - - 'refactor/tiler_docker' + - 'refactor/web_docker' jobs: build: runs-on: ubuntu-20.04 From f15259a92b1a466054b5239f0c7ac3d8fd9c7217 Mon Sep 17 00:00:00 2001 From: Rub21 Date: Fri, 10 Jan 2025 09:45:40 -0500 Subject: [PATCH 03/32] Update docker image for cgimap --- images/cgimap/Dockerfile | 111 +++++++++++++++------------------------ 1 file changed, 42 insertions(+), 69 deletions(-) diff --git a/images/cgimap/Dockerfile b/images/cgimap/Dockerfile index 8f0d2707..ed0a8d30 100644 --- a/images/cgimap/Dockerfile +++ b/images/cgimap/Dockerfile @@ -1,75 +1,48 @@ -FROM ruby:3.3.0 AS cgimap-builder - -ENV DEBIAN_FRONTEND=noninteractive -ENV CGIMAP_REPO="https://github.com/zerebubuth/openstreetmap-cgimap.git" -ENV CGIMAP_GITSHA="26cd7fa10affe5dbd13dbe16de34421059f53f18" -ENV CGIMAP_PATH="/tmp/openstreetmap-cgimap" - -# Install dependencies required to build cgimap -RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - build-essential \ - git \ - cmake \ - libxml2-dev \ - libpqxx-dev \ - libfcgi-dev \ - zlib1g-dev \ - libbrotli-dev \ - libboost-program-options-dev \ - libfmt-dev \ - libmemcached-dev \ - libcrypto++-dev \ - libargon2-dev \ - libyajl-dev \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* - -# Clone cgimap repository, checkout the desired commit, and build -RUN git clone -b master "$CGIMAP_REPO" "$CGIMAP_PATH" \ - && cd "$CGIMAP_PATH" \ - && git checkout "$CGIMAP_GITSHA" \ - && rm -rf .git \ - && mkdir build && cd build \ - && cmake .. \ - && cmake --build . - -############################################################################### -# 2) BASE STAGE - Node, Yarn, Postgres client, cgimap runtime -############################################################################### FROM ruby:3.3.0 - ENV DEBIAN_FRONTEND=noninteractive +ENV workdir=/var/www -# Install Node, Yarn, PostgreSQL client, and other runtime dependencies -RUN apt-get update \ - && apt-get install -y --no-install-recommends \ - curl \ - postgresql-client \ - libpq-dev \ - libfcgi0ldbl \ - zlib1g \ - libbrotli1 \ - libboost-program-options1.74.0 \ - libfmt7 \ - libmemcached11 \ - libcrypto++8 \ - libargon2-1 \ - libyajl2 \ - software-properties-common \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* +# Production OSM setup +ENV RAILS_ENV=production -# Install Node & Yarn from upstream repositories -RUN curl -sL https://deb.nodesource.com/setup_18.x | bash - \ - && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ - && echo "deb https://dl.yarnpkg.com/debian/ stable main" \ - | tee /etc/apt/sources.list.d/yarn.list \ - && apt-get update \ - && apt-get install -y --no-install-recommends nodejs yarn \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* +# Install the openstreetmap-website dependencies +RUN apt-get update \ + && apt-get install -y \ + libmagickwand-dev libxml2-dev libxslt1-dev \ + 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 \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +# Install node +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 && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# Install openstreetmap-cgimap requirements +RUN apt-get update && apt-get -y install libxml2-dev libpqxx-dev libfcgi-dev zlib1g-dev libbrotli-dev \ + libboost-program-options-dev libfmt-dev libmemcached-dev libcrypto++-dev \ + libargon2-dev libyajl-dev cmake libapache2-mod-fcgid && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# Install cgimap +ENV cgimap=/tmp/openstreetmap-cgimap +ENV CGIMAP_GITSHA=26cd7fa10affe5dbd13dbe16de34421059f53f18 +RUN git clone -b master https://github.com/zerebubuth/openstreetmap-cgimap.git $cgimap \ + && cd $cgimap \ + && git checkout $CGIMAP_GITSHA \ + && rm -rf .git \ + && mkdir build \ + && cd build \ + && cmake .. \ + && cmake --build . + +RUN cp $cgimap/build/openstreetmap-cgimap /usr/local/bin/ && rm -rf $cgimap -# Copy the compiled cgimap binary from the builder stage -COPY --from=cgimap-builder /tmp/openstreetmap-cgimap/build/openstreetmap-cgimap /usr/local/bin/openstreetmap-cgimap RUN echo "/usr/local/lib" > /etc/ld.so.conf.d/local_libs.conf && ldconfig From 364f874646eabfad1f8ecea3956c2906b68a04b6 Mon Sep 17 00:00:00 2001 From: Rub21 Date: Fri, 10 Jan 2025 09:55:43 -0500 Subject: [PATCH 04/32] Use cgimap image as base --- images/web/Dockerfile | 49 +------------------------------------------ 1 file changed, 1 insertion(+), 48 deletions(-) diff --git a/images/web/Dockerfile b/images/web/Dockerfile index 56aa89fb..a6545aee 100644 --- a/images/web/Dockerfile +++ b/images/web/Dockerfile @@ -1,51 +1,4 @@ -FROM ruby:3.3.0 -ENV DEBIAN_FRONTEND=noninteractive -ENV workdir=/var/www - -# Production OSM setup -ENV RAILS_ENV=production - -# Install the openstreetmap-website dependencies -RUN apt-get update \ - && apt-get install -y \ - libmagickwand-dev libxml2-dev libxslt1-dev \ - 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 \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* - -# Install node -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 && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -# Install openstreetmap-cgimap requirements -RUN apt-get update && apt-get -y install libxml2-dev libpqxx-dev libfcgi-dev zlib1g-dev libbrotli-dev \ - libboost-program-options-dev libfmt-dev libmemcached-dev libcrypto++-dev \ - libargon2-dev libyajl-dev cmake libapache2-mod-fcgid && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -# Install cgimap -ENV cgimap=/tmp/openstreetmap-cgimap -ENV CGIMAP_GITSHA=26cd7fa10affe5dbd13dbe16de34421059f53f18 -RUN git clone -b master https://github.com/zerebubuth/openstreetmap-cgimap.git $cgimap \ - && cd $cgimap \ - && git checkout $CGIMAP_GITSHA \ - && rm -rf .git \ - && mkdir build \ - && cd build \ - && cmake .. \ - && cmake --build . - -RUN cp $cgimap/build/openstreetmap-cgimap /usr/local/bin/ && rm -rf $cgimap - -RUN echo "/usr/local/lib" > /etc/ld.so.conf.d/local_libs.conf && ldconfig +FROM ghcr.io/openhistoricalmap/cgimap:0.0.1-0.dev.git.2049.hf15259a # Install Passenger RUN gem install passenger && passenger-install-apache2-module --auto From 3eaa81f16ee9eadcb46acd193d6a5d95cee3d058 Mon Sep 17 00:00:00 2001 From: Rub21 Date: Tue, 14 Jan 2025 08:36:23 -0500 Subject: [PATCH 05/32] Update start file for development mode --- compose/web.yml | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/compose/web.yml b/compose/web.yml index d7f6f9ee..1d0047b7 100644 --- a/compose/web.yml +++ b/compose/web.yml @@ -8,19 +8,43 @@ services: dockerfile: Dockerfile ports: - '5432:5432' - volumes: - - ./data/db-data:/var/lib/postgresql/data env_file: - ./../envs/.env.web + restart: always + networks: + - web_network + # volumes: + # - ./data/db-data:/var/lib/postgresql/data + web: image: ohm-web:v1 build: context: ./../images/web dockerfile: Dockerfile + volumes: + - ./../../ohm-website/:/var/www/ + - ./../images/web/config/settings.yml:/var/www/config/settings.yml + - ./../images/web/config/settings.local.yml:/var/www/config/settings.local.yml + - ./../images/web/start.sh:/var/www/start.sh ports: - '80:80' + - '3000:3000' env_file: - ./../envs/.env.web -####### Enable for development mode -# volumes: -# - ./../../ohm-website:/var/www + networks: + - web_network + depends_on: + - db + - memcached + + memcached: + image: memcached:latest + ports: + - '11211:11211' + # command: memcached -m 64 -o modern + networks: + - web_network + +networks: + web_network: + driver: bridge From ce40512ef2ba57cf629f9faf694e6301e1aa5817 Mon Sep 17 00:00:00 2001 From: Rub21 Date: Tue, 14 Jan 2025 08:37:01 -0500 Subject: [PATCH 06/32] Add development mode to start from start.sh --- images/web/start.sh | 80 +++++++++++++++++++++++++-------------------- 1 file changed, 44 insertions(+), 36 deletions(-) diff --git a/images/web/start.sh b/images/web/start.sh index b2a87d3f..14944d00 100755 --- a/images/web/start.sh +++ b/images/web/start.sh @@ -1,11 +1,11 @@ #!/usr/bin/env bash workdir="/var/www" -export RAILS_ENV=production +# export RAILS_ENV=production #### Because we can not set up many env variable in build process, we are going to process here! #### Setting up the production database echo " # Production DB -production: +$RAILS_ENV: adapter: postgresql host: ${POSTGRES_HOST} database: ${POSTGRES_DB} @@ -41,7 +41,7 @@ sed -i -e 's/#memcache_servers: \[\]/memcache_servers: "'$OPENSTREETMAP_memcache #### Setting up nominatim url sed -i -e 's/nominatim.openhistoricalmap.org/'$NOMINATIM_URL'/g' $workdir/config/settings.local.yml -## Setting up overpass url +#### Setting up overpass url sed -i -e 's/overpass-api.openhistoricalmap.org/'$OVERPASS_URL'/g' $workdir/config/settings.local.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 @@ -57,37 +57,45 @@ chmod 400 /var/www/private.pem export DOORKEEPER_SIGNING_KEY=$(cat /var/www/private.pem | sed -e '1d;$d' | tr -d '\n') sed -i "s#PRIVATE_KEY#${DOORKEEPER_SIGNING_KEY}#" $workdir/config/settings.local.yml -#### Updating map-styles -python3 update_map_styles.py - - -#### Checking if db is already up and start the app -flag=true -while "$flag" = true; do - pg_isready -h $POSTGRES_HOST -p 5432 >/dev/null 2>&2 || continue - flag=false - # Print the log while compiling the assets - until $(curl -sf -o /dev/null $SERVER_URL); do - echo "Waiting to start rails ports server..." - sleep 2 - done & - - # Enable assets:precompile, to take lates changes for assets in $workdir/config/settings.local.yml. - time bundle exec rake i18n:js:export assets:precompile - - # Since leaflet-ohm-timeslider.css points directly to the svg files, they need to be copied to the public/assets directory. - cp $workdir/public/leaflet-ohm-timeslider-v2/assets/* $workdir/public/assets/ - - bundle exec rails db:migrate - - # Start cgimap - ./cgimap.sh - - apachectl -k start -DFOREGROUND & - # Loop to restart rake job every hour - while true; do - pkill -f "rake jobs:work" - bundle exec rake jobs:work --trace >> $workdir/log/jobs_work.log 2>&1 & - sleep 1h +#### Setting up developing mode +if [ "$ENVIRONMENT" = "development" ]; then + cp $workdir/config/example.storage.yml $workdir/config/storage.yml + gem install bundler && bundle install + bundle exec bin/yarn install + bundle exec rake i18n:js:export assets:precompile + rails server +else + #### Updating map-styles + python3 update_map_styles.py + + #### Checking if db is already up and start the app + flag=true + while "$flag" = true; do + pg_isready -h $POSTGRES_HOST -p 5432 >/dev/null 2>&2 || continue + flag=false + # Print the log while compiling the assets + until $(curl -sf -o /dev/null $SERVER_URL); do + echo "Waiting to start rails ports server..." + sleep 2 + done & + + # Enable assets:precompile, to take lates changes for assets in $workdir/config/settings.local.yml. + time bundle exec rake i18n:js:export assets:precompile + + # Since leaflet-ohm-timeslider.css points directly to the svg files, they need to be copied to the public/assets directory. + cp $workdir/public/leaflet-ohm-timeslider-v2/assets/* $workdir/public/assets/ + + bundle exec rails db:migrate + + # Start cgimap + ./cgimap.sh + + apachectl -k start -DFOREGROUND & + # Loop to restart rake job every hour + while true; do + pkill -f "rake jobs:work" + bundle exec rake jobs:work --trace >> $workdir/log/jobs_work.log 2>&1 & + sleep 1h + done done -done +fi \ No newline at end of file From 7e8a22c5bc0a3ed4120492ea1cd08be291ee586f Mon Sep 17 00:00:00 2001 From: Rub21 Date: Tue, 14 Jan 2025 11:08:35 -0500 Subject: [PATCH 07/32] Configure for development mode --- compose/web.yml | 17 ++--- images/web/start.sh | 169 +++++++++++++++++++++++++------------------- 2 files changed, 107 insertions(+), 79 deletions(-) diff --git a/compose/web.yml b/compose/web.yml index 1d0047b7..d73c071a 100644 --- a/compose/web.yml +++ b/compose/web.yml @@ -1,4 +1,5 @@ version: '3.8' + services: db: platform: linux/amd64 @@ -13,8 +14,6 @@ services: restart: always networks: - web_network - # volumes: - # - ./data/db-data:/var/lib/postgresql/data web: image: ohm-web:v1 @@ -23,14 +22,13 @@ services: dockerfile: Dockerfile volumes: - ./../../ohm-website/:/var/www/ - - ./../images/web/config/settings.yml:/var/www/config/settings.yml - - ./../images/web/config/settings.local.yml:/var/www/config/settings.local.yml + - ./../images/web/config/settings.yml:/tmp/settings.yml:rw + - ./../images/web/config/settings.local.yml:/tmp/settings.local.yml:rw - ./../images/web/start.sh:/var/www/start.sh - ports: - - '80:80' - - '3000:3000' env_file: - ./../envs/.env.web + ports: + - '3000:3000' networks: - web_network depends_on: @@ -41,10 +39,13 @@ services: image: memcached:latest ports: - '11211:11211' - # command: memcached -m 64 -o modern networks: - web_network networks: web_network: driver: bridge + +volumes: + caddy_data: + caddy_config: \ No newline at end of file diff --git a/images/web/start.sh b/images/web/start.sh index 14944d00..f75f471c 100755 --- a/images/web/start.sh +++ b/images/web/start.sh @@ -1,101 +1,128 @@ #!/usr/bin/env bash workdir="/var/www" -# export RAILS_ENV=production -#### Because we can not set up many env variable in build process, we are going to process here! - -#### Setting up the production database -echo " # Production DB -$RAILS_ENV: - adapter: postgresql - host: ${POSTGRES_HOST} - database: ${POSTGRES_DB} - username: ${POSTGRES_USER} - password: ${POSTGRES_PASSWORD} - encoding: utf8" >$workdir/config/database.yml - -#### Setting up server_url and server_protocol -sed -i -e 's/^server_protocol: "http"/server_protocol: "'$SERVER_PROTOCOL'"/g' $workdir/config/settings.yml -sed -i -e 's/^server_url: ".*"/server_url: "'$SERVER_URL'"/g' $workdir/config/settings.local.yml - -### Setting up website status -sed -i "s/online/$WEBSITE_STATUS/g" $workdir/config/settings.yml - -#### Setting up mail sender -sed -i -e 's/smtp_address: "localhost"/smtp_address: "'$MAILER_ADDRESS'"/g' $workdir/config/settings.yml -sed -i -e 's/smtp_port: 25/smtp_port: '$MAILER_PORT'/g' $workdir/config/settings.yml -sed -i -e 's/smtp_domain: "localhost"/smtp_domain: "'$MAILER_DOMAIN'"/g' $workdir/config/settings.yml -sed -i -e 's/smtp_authentication: null/smtp_authentication: "login"/g' $workdir/config/settings.yml -sed -i -e 's/smtp_user_name: null/smtp_user_name: "'$MAILER_USERNAME'"/g' $workdir/config/settings.yml -sed -i -e 's/smtp_password: null/smtp_password: "'$MAILER_PASSWORD'"/g' $workdir/config/settings.yml - -### Setting up oauth id and key for iD editor -sed -i -e 's/^oauth_application: ".*"/oauth_application: "'$OAUTH_CLIENT_ID'"/g' $workdir/config/settings.local.yml -sed -i -e 's/^oauth_key: ".*"/oauth_key: "'$OAUTH_KEY'"/g' $workdir/config/settings.local.yml - -#### Setting up id key for the website -sed -i -e 's/^id_application: ".*"/id_application: "'$OPENSTREETMAP_id_key'"/g' $workdir/config/settings.local.yml - -#### Setup env vars for memcached server -sed -i -e 's/#memcache_servers: \[\]/memcache_servers: "'$OPENSTREETMAP_memcache_servers'"/g' $workdir/config/settings.local.yml - -#### Setting up nominatim url -sed -i -e 's/nominatim.openhistoricalmap.org/'$NOMINATIM_URL'/g' $workdir/config/settings.local.yml - -#### Setting up overpass url -sed -i -e 's/overpass-api.openhistoricalmap.org/'$OVERPASS_URL'/g' $workdir/config/settings.local.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 - -## Setting up required credentials -echo $RAILS_CREDENTIALS_YML_ENC > config/credentials.yml.enc -echo $RAILS_MASTER_KEY > config/master.key -chmod 600 config/credentials.yml.enc config/master.key - -#### Adding doorkeeper_signing_key -openssl genpkey -algorithm RSA -out private.pem -chmod 400 /var/www/private.pem -export DOORKEEPER_SIGNING_KEY=$(cat /var/www/private.pem | sed -e '1d;$d' | tr -d '\n') -sed -i "s#PRIVATE_KEY#${DOORKEEPER_SIGNING_KEY}#" $workdir/config/settings.local.yml - -#### Setting up developing mode +export RAILS_ENV=production + +setup_env_vars() { + echo "Setting up environment variables..." + + #### Production Database Configuration + echo " # Production DB + $RAILS_ENV: + adapter: postgresql + host: ${POSTGRES_HOST} + database: ${POSTGRES_DB} + username: ${POSTGRES_USER} + password: ${POSTGRES_PASSWORD} + encoding: utf8" > $workdir/config/database.yml + echo "Database configuration written to $workdir/config/database.yml" + + #### Server Protocol and URL + sed -i -e "s/^server_protocol: .*/server_protocol: \"$SERVER_PROTOCOL\"/g" $workdir/config/settings.yml + sed -i -e "s/^server_url: .*/server_url: \"$SERVER_URL\"/g" $workdir/config/settings.local.yml + + #### Website Status + sed -i "s/online/$WEBSITE_STATUS/g" $workdir/config/settings.yml + + #### Mail Sender Configuration + sed -i -e "s/smtp_address: .*/smtp_address: \"$MAILER_ADDRESS\"/g" $workdir/config/settings.yml + sed -i -e "s/smtp_port: .*/smtp_port: $MAILER_PORT/g" $workdir/config/settings.yml + sed -i -e "s/smtp_domain: .*/smtp_domain: \"$MAILER_DOMAIN\"/g" $workdir/config/settings.yml + sed -i -e "s/smtp_authentication: .*/smtp_authentication: \"login\"/g" $workdir/config/settings.yml + sed -i -e "s/smtp_user_name: .*/smtp_user_name: \"$MAILER_USERNAME\"/g" $workdir/config/settings.yml + sed -i -e "s/smtp_password: .*/smtp_password: \"$MAILER_PASSWORD\"/g" $workdir/config/settings.yml + + #### OAuth Configuration + sed -i -e "s/^oauth_application: .*/oauth_application: \"$OAUTH_CLIENT_ID\"/g" $workdir/config/settings.local.yml + sed -i -e "s/^oauth_key: .*/oauth_key: \"$OAUTH_KEY\"/g" $workdir/config/settings.local.yml + + #### ID Key for Website + sed -i -e "s/^id_application: .*/id_application: \"$OPENSTREETMAP_id_key\"/g" $workdir/config/settings.local.yml + + #### Memcached Configuration + sed -i -e "s/#memcache_servers: \[\]/memcache_servers: \"$OPENSTREETMAP_memcache_servers\"/g" $workdir/config/settings.local.yml + + #### Nominatim URL + sed -i -e "s#nominatim.openhistoricalmap.org#$NOMINATIM_URL#g" $workdir/config/settings.local.yml + + #### Overpass URL + sed -i -e "s#overpass-api.openhistoricalmap.org#$OVERPASS_URL#g" $workdir/config/settings.local.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 + + #### Credentials Configuration + echo "$RAILS_CREDENTIALS_YML_ENC" > $workdir/config/credentials.yml.enc + echo "$RAILS_MASTER_KEY" > $workdir/config/master.key + chmod 600 $workdir/config/credentials.yml.enc $workdir/config/master.key + echo "Rails credentials and master key set up." + + #### Doorkeeper Signing Key + openssl genpkey -algorithm RSA -out /var/www/private.pem + chmod 400 /var/www/private.pem + export DOORKEEPER_SIGNING_KEY=$(sed -e '1d;$d' /var/www/private.pem | tr -d '\n') + sed -i "s#PRIVATE_KEY#${DOORKEEPER_SIGNING_KEY}#g" $workdir/config/settings.local.yml + echo "Doorkeeper signing key generated and set." +} +####################### Setting up development mode ####################### if [ "$ENVIRONMENT" = "development" ]; then + # Restore db + export PGPASSWORD=$POSTGRES_PASSWORD + curl -o $workdir/backup.sql $BACKUP_FILE_URL + sed -i 's/osm-sandbox.org/'"$SERVER_URL"'/g' $workdir/backup.sql + psql -h $POSTGRES_HOST -U $POSTGRES_USER -d $POSTGRES_DB -f $workdir/backup.sql + + # Copy example storage configuration for development mode cp $workdir/config/example.storage.yml $workdir/config/storage.yml - gem install bundler && bundle install + cp /tmp/settings.yml $workdir/config/settings.yml + cp /tmp/settings.local.yml $workdir/config/settings.local.yml + + # Set up environment variables + setup_env_vars bundle exec bin/yarn install - bundle exec rake i18n:js:export assets:precompile - rails server + bundle exec rails db:migrate --trace + bundle exec rake jobs:work & + rails server --log-to-stdout else - #### Updating map-styles +####################### Setting up production mode ####################### + # Set up environment variables for production + setup_env_vars + + #### Run a script to update map styles dynamically python3 update_map_styles.py - - #### Checking if db is already up and start the app + + #### Check database readiness and start the application flag=true while "$flag" = true; do + # Wait until the database is ready pg_isready -h $POSTGRES_HOST -p 5432 >/dev/null 2>&2 || continue flag=false - # Print the log while compiling the assets + + # Wait for the server to be available, logging progress until $(curl -sf -o /dev/null $SERVER_URL); do - echo "Waiting to start rails ports server..." + echo "Waiting to start Rails server..." sleep 2 done & - # Enable assets:precompile, to take lates changes for assets in $workdir/config/settings.local.yml. + #### Compile JavaScript and CSS assets to reflect changes in configuration files time bundle exec rake i18n:js:export assets:precompile - # Since leaflet-ohm-timeslider.css points directly to the svg files, they need to be copied to the public/assets directory. + #### Copy required assets for Leaflet OHM TimeSlider cp $workdir/public/leaflet-ohm-timeslider-v2/assets/* $workdir/public/assets/ + # Run database migrations bundle exec rails db:migrate - # Start cgimap + # Start the cgimap service to handle API requests ./cgimap.sh + #### Start Apache server in the foreground apachectl -k start -DFOREGROUND & - # Loop to restart rake job every hour + + #### Background job processing loop + # Restart the `rake jobs:work` process every hour to ensure smooth job execution while true; do pkill -f "rake jobs:work" bundle exec rake jobs:work --trace >> $workdir/log/jobs_work.log 2>&1 & sleep 1h done done -fi \ No newline at end of file +fi From e229c11b28a0c060720976cdb197f39db8738a66 Mon Sep 17 00:00:00 2001 From: Rub21 Date: Tue, 14 Jan 2025 15:33:14 -0500 Subject: [PATCH 08/32] Update web-api config for development db --- compose/README.md | 10 ++++++++-- compose/web.yml | 2 -- images/web/start.sh | 5 ++--- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/compose/README.md b/compose/README.md index 9a028ff5..c27d4510 100644 --- a/compose/README.md +++ b/compose/README.md @@ -1,8 +1,14 @@ ## Development Mode -Compose files are for development mode, e.g.: +- Web Api -- Tiler DB +```sh +docker compose -f compose/web.yml up memcached +docker compose -f compose/web.yml build +docker compose -f compose/web.yml run --service-ports web bash +``` + +- Tiler server ```sh docker compose -f compose/tiler.yml run --service-ports tiler bash diff --git a/compose/web.yml b/compose/web.yml index d73c071a..17934316 100644 --- a/compose/web.yml +++ b/compose/web.yml @@ -1,5 +1,3 @@ -version: '3.8' - services: db: platform: linux/amd64 diff --git a/images/web/start.sh b/images/web/start.sh index f75f471c..fa20c584 100755 --- a/images/web/start.sh +++ b/images/web/start.sh @@ -66,9 +66,8 @@ setup_env_vars() { if [ "$ENVIRONMENT" = "development" ]; then # Restore db export PGPASSWORD=$POSTGRES_PASSWORD - curl -o $workdir/backup.sql $BACKUP_FILE_URL - sed -i 's/osm-sandbox.org/'"$SERVER_URL"'/g' $workdir/backup.sql - psql -h $POSTGRES_HOST -U $POSTGRES_USER -d $POSTGRES_DB -f $workdir/backup.sql + curl -o backup.sql $BACKUP_FILE_URL + psql -h $POSTGRES_HOST -U $POSTGRES_USER -d $POSTGRES_DB -f backup.sql # Copy example storage configuration for development mode cp $workdir/config/example.storage.yml $workdir/config/storage.yml From 3806aa091f14ee11857bd809f0fb14a28c433a1f Mon Sep 17 00:00:00 2001 From: Rub21 Date: Sat, 25 Jan 2025 13:01:21 -0500 Subject: [PATCH 09/32] Update latest version for map-styles --- images/web/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/web/Dockerfile b/images/web/Dockerfile index 065de1e1..80fad91a 100644 --- a/images/web/Dockerfile +++ b/images/web/Dockerfile @@ -133,7 +133,7 @@ RUN apache2ctl configtest RUN chown -R www-data: $workdir # Clone Map-styles -ENV OPENHISTORICALMAP_MAP_STYLES_GITSHA=6de6e329569ab6561d1fa6ab2cebb42df7fd17c7 +ENV OPENHISTORICALMAP_MAP_STYLES_GITSHA=5f0c7fde6b216b986b59f2a9fde096e01a6d768a RUN git clone --branch staging --depth 1 https://github.com/OpenHistoricalMap/map-styles.git $workdir/public/map-styles RUN cd $workdir/public/map-styles && git fetch --depth 1 origin $OPENHISTORICALMAP_MAP_STYLES_GITSHA && git checkout $OPENHISTORICALMAP_MAP_STYLES_GITSHA RUN rm -rf $workdir/public/map-styles/.git From 2dedb6949ff729f5a644e8abc7272cd872c85d50 Mon Sep 17 00:00:00 2001 From: Rub21 Date: Mon, 27 Jan 2025 13:07:12 -0500 Subject: [PATCH 10/32] Block temporary ip --- images/web/config/production.conf | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/images/web/config/production.conf b/images/web/config/production.conf index 7ebd72c2..7d3ff398 100644 --- a/images/web/config/production.conf +++ b/images/web/config/production.conf @@ -19,6 +19,12 @@ RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] + Require all granted + # Use "Deny from" instead of "Require not ip" to ensure compatibility + + Require all granted + Require not ip 10.10.34.172 + # For TM, do not use cgimap auth. CGIPassAuth On @@ -44,9 +50,12 @@ # Relax Apache security settings - AllowOverride None - Allow from all - Options -MultiViews + AllowOverride None + Options -MultiViews + + Require all granted + Require not ip 10.10.34.172 + # Additional FastCGI configurations From 4969ff084bc6437fdc79fd1922ddc1dee865c87d Mon Sep 17 00:00:00 2001 From: Rub21 Date: Tue, 28 Jan 2025 10:31:20 -0500 Subject: [PATCH 11/32] Update apache config --- images/web/config/production.conf | 15 +++------------ images/web/start.sh | 2 +- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/images/web/config/production.conf b/images/web/config/production.conf index 7d3ff398..7ebd72c2 100644 --- a/images/web/config/production.conf +++ b/images/web/config/production.conf @@ -19,12 +19,6 @@ RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] - Require all granted - # Use "Deny from" instead of "Require not ip" to ensure compatibility - - Require all granted - Require not ip 10.10.34.172 - # For TM, do not use cgimap auth. CGIPassAuth On @@ -50,12 +44,9 @@ # Relax Apache security settings - AllowOverride None - Options -MultiViews - - Require all granted - Require not ip 10.10.34.172 - + AllowOverride None + Allow from all + Options -MultiViews # Additional FastCGI configurations diff --git a/images/web/start.sh b/images/web/start.sh index aa9b89c2..a295e706 100755 --- a/images/web/start.sh +++ b/images/web/start.sh @@ -141,7 +141,7 @@ setup_development() { rails server --log-to-stdout } -####################### Setting up development or Production mode ####################### +####################### Setting up Development or Production mode ####################### if [ "$ENVIRONMENT" = "development" ]; then setup_development else From 1fc59a076034a58ceb29ed0dd514f5ac29a9b6bd Mon Sep 17 00:00:00 2001 From: Rub21 Date: Tue, 28 Jan 2025 11:58:10 -0500 Subject: [PATCH 12/32] Update web config for development mode --- compose/web.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/compose/web.yml b/compose/web.yml index 17934316..32c48a84 100644 --- a/compose/web.yml +++ b/compose/web.yml @@ -21,7 +21,6 @@ services: volumes: - ./../../ohm-website/:/var/www/ - ./../images/web/config/settings.yml:/tmp/settings.yml:rw - - ./../images/web/config/settings.local.yml:/tmp/settings.local.yml:rw - ./../images/web/start.sh:/var/www/start.sh env_file: - ./../envs/.env.web @@ -43,7 +42,3 @@ services: networks: web_network: driver: bridge - -volumes: - caddy_data: - caddy_config: \ No newline at end of file From dad789067582bfbe7be2e4c78601a04f97314553 Mon Sep 17 00:00:00 2001 From: Rub21 Date: Tue, 28 Jan 2025 15:11:41 -0500 Subject: [PATCH 13/32] Roll back the map-style version to the stable version --- images/web/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/images/web/Dockerfile b/images/web/Dockerfile index 9ef37776..64d8d37a 100644 --- a/images/web/Dockerfile +++ b/images/web/Dockerfile @@ -86,7 +86,7 @@ RUN apache2ctl configtest RUN chown -R www-data: $workdir # Clone Map-styles -ENV OPENHISTORICALMAP_MAP_STYLES_GITSHA=5f0c7fde6b216b986b59f2a9fde096e01a6d768a +ENV OPENHISTORICALMAP_MAP_STYLES_GITSHA=6de6e329569ab6561d1fa6ab2cebb42df7fd17c7 RUN git clone --branch staging --depth 1 https://github.com/OpenHistoricalMap/map-styles.git $workdir/public/map-styles RUN cd $workdir/public/map-styles && git fetch --depth 1 origin $OPENHISTORICALMAP_MAP_STYLES_GITSHA && git checkout $OPENHISTORICALMAP_MAP_STYLES_GITSHA RUN rm -rf $workdir/public/map-styles/.git From f950aa92ffc2c696b40e0a9b52e39d381067a89e Mon Sep 17 00:00:00 2001 From: Rub21 Date: Tue, 28 Jan 2025 16:21:20 -0500 Subject: [PATCH 14/32] Update doc for dev mode --- compose/README.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/compose/README.md b/compose/README.md index c27d4510..9437a0a2 100644 --- a/compose/README.md +++ b/compose/README.md @@ -1,15 +1,21 @@ -## Development Mode +# Development Mode -- Web Api + +## Web Api + +Make a coppy of the enviroment files `envs/.env.web.example` file and name it `envs/.env.web`. ```sh -docker compose -f compose/web.yml up memcached docker compose -f compose/web.yml build +docker compose -f compose/web.yml up db -d +docker compose -f compose/web.yml up memcached -d docker compose -f compose/web.yml run --service-ports web bash ``` -- Tiler server +## Tiler server +Make a coppy of the enviroment files `envs/.env.tiler.example` file and name it `envs/.env.tiler`. ```sh +docker compose -f compose/tiler.yml build docker compose -f compose/tiler.yml run --service-ports tiler bash ``` From c73182ee02fac2b93b9f8f876928bdb15707e68f Mon Sep 17 00:00:00 2001 From: Rub21 Date: Wed, 29 Jan 2025 12:21:12 -0500 Subject: [PATCH 15/32] Enable osmcha - staging --- ohm/requirements.yaml | 2 +- values.staging.template.yaml | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ohm/requirements.yaml b/ohm/requirements.yaml index 05e88caf..eef357cc 100644 --- a/ohm/requirements.yaml +++ b/ohm/requirements.yaml @@ -1,4 +1,4 @@ dependencies: - name: osm-seed - version: '0.1.0-n809.hbe97794' + version: '0.1.0-n805.h6ba3da9' repository: https://devseed.com/osm-seed-chart/ diff --git a/values.staging.template.yaml b/values.staging.template.yaml index facc5264..38b60963 100644 --- a/values.staging.template.yaml +++ b/values.staging.template.yaml @@ -879,15 +879,15 @@ osm-seed: # Variables for osmcha web # ==================================================================================================== osmchaWeb: - enabled: false + enabled: true # ==================================================================================================== # Variables for osmcha Api, We hard code the container id. # ==================================================================================================== osmchaApi: - enabled: false + enabled: true image: name: "ghcr.io/openhistoricalmap/osmcha-django" - tag: "a1bcea85dc1f7c27566c20bafe7fff7aaa1e38a4" + tag: "upstream_main" ingressDomain: osmcha.staging.openhistoricalmap.org env: DJANGO_SETTINGS_MODULE: "config.settings.production" @@ -907,6 +907,8 @@ osm-seed: REACT_APP_OVERPASS_BASE: //overpass-api.openhistoricalmap.org/api/interpreter REACT_APP_ENABLE_REAL_CHANGESETS: 0 REACT_APP_MAPBOX_ACCESS_TOKEN: {{STAGING_OSMCHA_REACT_APP_MAPBOX_ACCESS_TOKEN}} + SOCIAL_AUTH_OPENSTREETMAP_OAUTH2_KEY: "none" + SOCIAL_AUTH_OPENSTREETMAP_OAUTH2_SECRET: "none" resources: enabled: false requests: @@ -923,7 +925,7 @@ osm-seed: # Variables for osmcha DB # ==================================================================================================== osmchaDb: - enabled: false + enabled: true image: name: "developmentseed/osmseed-osmcha-db" tag: "0.1.0-n767.h0090e97" From 2e95f4aab164249cac0a6871723c87f185d3520e Mon Sep 17 00:00:00 2001 From: Rub21 Date: Wed, 29 Jan 2025 12:37:25 -0500 Subject: [PATCH 16/32] Values for osmcha - oauth2 --- ohm/requirements.yaml | 2 +- values.staging.template.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ohm/requirements.yaml b/ohm/requirements.yaml index eef357cc..ae96d0b3 100644 --- a/ohm/requirements.yaml +++ b/ohm/requirements.yaml @@ -1,4 +1,4 @@ dependencies: - name: osm-seed - version: '0.1.0-n805.h6ba3da9' + version: '0.1.0-n806.hb29f21c' repository: https://devseed.com/osm-seed-chart/ diff --git a/values.staging.template.yaml b/values.staging.template.yaml index 38b60963..09de3823 100644 --- a/values.staging.template.yaml +++ b/values.staging.template.yaml @@ -907,8 +907,8 @@ osm-seed: REACT_APP_OVERPASS_BASE: //overpass-api.openhistoricalmap.org/api/interpreter REACT_APP_ENABLE_REAL_CHANGESETS: 0 REACT_APP_MAPBOX_ACCESS_TOKEN: {{STAGING_OSMCHA_REACT_APP_MAPBOX_ACCESS_TOKEN}} - SOCIAL_AUTH_OPENSTREETMAP_OAUTH2_KEY: "none" - SOCIAL_AUTH_OPENSTREETMAP_OAUTH2_SECRET: "none" + OAUTH2_OSM_KEY: VOTXm17r87qyHCu9oNK8sOrHkDUDynOZzpX_pcOhMVI + OAUTH2_OSM_SECRET: j86R1GGNaeFp62dPcMtrbGp3StZk-b5Zg6qsC_ZpzW8 resources: enabled: false requests: From 098b4c0bffcc0f58a800208174fa491e1d0dd087 Mon Sep 17 00:00:00 2001 From: Rub21 Date: Wed, 29 Jan 2025 12:48:42 -0500 Subject: [PATCH 17/32] Update osm-seed version --- ohm/requirements.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ohm/requirements.yaml b/ohm/requirements.yaml index ae96d0b3..47e793d1 100644 --- a/ohm/requirements.yaml +++ b/ohm/requirements.yaml @@ -1,4 +1,4 @@ dependencies: - name: osm-seed - version: '0.1.0-n806.hb29f21c' + version: '0.1.0-n807.hebb9443' repository: https://devseed.com/osm-seed-chart/ From 69ef3db3b0ec94c4b82f5a796255413c6593aa6a Mon Sep 17 00:00:00 2001 From: Rub21 Date: Wed, 29 Jan 2025 13:06:24 -0500 Subject: [PATCH 18/32] Update osm-seed version - osmcha --- ohm/requirements.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ohm/requirements.yaml b/ohm/requirements.yaml index 47e793d1..a394b3c4 100644 --- a/ohm/requirements.yaml +++ b/ohm/requirements.yaml @@ -1,4 +1,4 @@ dependencies: - name: osm-seed - version: '0.1.0-n807.hebb9443' + version: '0.1.0-n808.h1ca7331' repository: https://devseed.com/osm-seed-chart/ From 826dce86f60eb294d0ca952f877ed84399b0dce3 Mon Sep 17 00:00:00 2001 From: Rub21 Date: Wed, 29 Jan 2025 16:13:48 -0500 Subject: [PATCH 19/32] Update osm-seed version --- ohm/requirements.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ohm/requirements.yaml b/ohm/requirements.yaml index a394b3c4..1158e839 100644 --- a/ohm/requirements.yaml +++ b/ohm/requirements.yaml @@ -1,4 +1,4 @@ dependencies: - name: osm-seed - version: '0.1.0-n808.h1ca7331' + version: '0.1.0-n809.h6a3c690' repository: https://devseed.com/osm-seed-chart/ From 162385524da915e3abc720de7ee8fea31ccf5f9f Mon Sep 17 00:00:00 2001 From: Rub21 Date: Thu, 30 Jan 2025 07:03:14 -0500 Subject: [PATCH 20/32] Update osm-seed version --- ohm/requirements.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ohm/requirements.yaml b/ohm/requirements.yaml index 1158e839..e56c3c48 100644 --- a/ohm/requirements.yaml +++ b/ohm/requirements.yaml @@ -1,4 +1,4 @@ dependencies: - name: osm-seed - version: '0.1.0-n809.h6a3c690' + version: '0.1.0-n811.h22aa86b' repository: https://devseed.com/osm-seed-chart/ From 515a4ef38dbc23879595c62e6be49522ea923932 Mon Sep 17 00:00:00 2001 From: Rub21 Date: Thu, 30 Jan 2025 11:46:27 -0500 Subject: [PATCH 21/32] Add osmcha-frontend container --- chartpress.yaml | 2 ++ images/osmcha-frontend/Dockerfile | 28 ++++++++++++++++++++++++ images/osmcha-frontend/nginx.conf | 36 +++++++++++++++++++++++++++++++ ohm/values.yaml | 4 ++++ 4 files changed, 70 insertions(+) create mode 100644 images/osmcha-frontend/Dockerfile create mode 100644 images/osmcha-frontend/nginx.conf diff --git a/chartpress.yaml b/chartpress.yaml index ea7392fd..602e8274 100644 --- a/chartpress.yaml +++ b/chartpress.yaml @@ -18,3 +18,5 @@ charts: valuesPath: ohm.tilerCache.image cgimap: valuesPath: ohm.cgimap.image + osmcha-frontend: + valuesPath: ohm.osmchaWeb.image diff --git a/images/osmcha-frontend/Dockerfile b/images/osmcha-frontend/Dockerfile new file mode 100644 index 00000000..49a5f224 --- /dev/null +++ b/images/osmcha-frontend/Dockerfile @@ -0,0 +1,28 @@ +FROM node:22-alpine as builder + +ENV DEBIAN_FRONTEND noninteractive + +ARG GITSHA=e5d7de531016c3e4cb9aef684c2e8c3bff20e602 +ARG BUILD_ENV=prod + +WORKDIR /app + +## Clone osmcha repo +RUN apk add --no-cache git \ + && git clone https://github.com/OpenHistoricalMap/osmcha-frontend.git/app \ + && cd /app \ + && git checkout $GITSHA + +RUN yarn set version stable +RUN yarn install + +ENV REACT_APP_PRODUCTION_API_URL /api/v1 +ENV NODE_OPTIONS --openssl-legacy-provider + +RUN yarn run build:${BUILD_ENV} + +FROM nginx:alpine + +COPY --from=builder /app/build /srv/www + +COPY nginx.conf /etc/nginx/templates/default.conf.template diff --git a/images/osmcha-frontend/nginx.conf b/images/osmcha-frontend/nginx.conf new file mode 100644 index 00000000..27ff4838 --- /dev/null +++ b/images/osmcha-frontend/nginx.conf @@ -0,0 +1,36 @@ +server { + listen 80; + charset utf-8; + + include /etc/nginx/mime.types; + default_type application/octet-stream; + + gzip on; + sendfile on; + tcp_nopush on; + tcp_nodelay on; + keepalive_timeout 65; + + location ~ ^/(api|admin) { + # /api and /admin routes are handled by the backend + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_redirect off; + proxy_pass $BACKEND_URL; + } + + location /static { + # /static files are served without any magic (exact path or 404) + root /srv/www; + try_files $uri =404; + } + + location / { + # other routes are served by trying the exact path, and falling back to + # serving the app entrypoint (index.html). this is needed because the + # frontend JS code uses the path component of the URL in its client-side + # routing. + root /srv/www; + try_files $uri $uri/ /index.html; + } +} diff --git a/ohm/values.yaml b/ohm/values.yaml index 5de9a5c2..89d6fd0b 100644 --- a/ohm/values.yaml +++ b/ohm/values.yaml @@ -23,6 +23,10 @@ osm-seed: image: name: chartpress_replace_me tag: chartpress_replace_me + osmchaWeb: + image: + name: chartpress_replace_me + tag: chartpress_replace_me ohm: tilerCache: image: From b36777089e10b854b530948aa50f4118c48e5029 Mon Sep 17 00:00:00 2001 From: Rub21 Date: Thu, 30 Jan 2025 12:07:27 -0500 Subject: [PATCH 22/32] Update osmcha frontend container --- images/osmcha-frontend/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/images/osmcha-frontend/Dockerfile b/images/osmcha-frontend/Dockerfile index 49a5f224..c0f64314 100644 --- a/images/osmcha-frontend/Dockerfile +++ b/images/osmcha-frontend/Dockerfile @@ -2,14 +2,14 @@ FROM node:22-alpine as builder ENV DEBIAN_FRONTEND noninteractive -ARG GITSHA=e5d7de531016c3e4cb9aef684c2e8c3bff20e602 ARG BUILD_ENV=prod WORKDIR /app ## Clone osmcha repo +ENV GITSHA=e5d7de531016c3e4cb9aef684c2e8c3bff20e602 RUN apk add --no-cache git \ - && git clone https://github.com/OpenHistoricalMap/osmcha-frontend.git/app \ + && git clone https://github.com/OpenHistoricalMap/osmcha-frontend.git /app \ && cd /app \ && git checkout $GITSHA From c88625baa3e9402895a9c19c0da2f21700110035 Mon Sep 17 00:00:00 2001 From: Rub21 Date: Thu, 30 Jan 2025 12:25:47 -0500 Subject: [PATCH 23/32] Fix osm-seed key for osmcha-frontend --- chartpress.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chartpress.yaml b/chartpress.yaml index 602e8274..164b1385 100644 --- a/chartpress.yaml +++ b/chartpress.yaml @@ -19,4 +19,4 @@ charts: cgimap: valuesPath: ohm.cgimap.image osmcha-frontend: - valuesPath: ohm.osmchaWeb.image + valuesPath: osm-seed.osmchaWeb.image From bb6f36fbac43f39179a8e33429e91907490da9ea Mon Sep 17 00:00:00 2001 From: Rub21 Date: Thu, 30 Jan 2025 13:23:22 -0500 Subject: [PATCH 24/32] Update osmcha version --- ohm/requirements.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ohm/requirements.yaml b/ohm/requirements.yaml index e56c3c48..116280f3 100644 --- a/ohm/requirements.yaml +++ b/ohm/requirements.yaml @@ -1,4 +1,4 @@ dependencies: - name: osm-seed - version: '0.1.0-n811.h22aa86b' + version: '0.1.0-n813.h6c1a80d' repository: https://devseed.com/osm-seed-chart/ From 521214af5cccfcdfe76d9d18465320ab65275e92 Mon Sep 17 00:00:00 2001 From: Rub21 Date: Thu, 30 Jan 2025 13:40:21 -0500 Subject: [PATCH 25/32] Update osmcha env vars --- values.staging.template.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/values.staging.template.yaml b/values.staging.template.yaml index 09de3823..43d41e9a 100644 --- a/values.staging.template.yaml +++ b/values.staging.template.yaml @@ -897,7 +897,7 @@ osm-seed: OAUTH_OSM_SECRET: {{STAGING_OSMCHA_API_CONSUMER_SECRET}} DJANGO_SECURE_SSL_REDIRECT: "False" OSM_SERVER_URL: https://www.openhistoricalmap.org - OAUTH_REDIRECT_URI: https://osmcha.staging.openhistoricalmap.org/oauth-landing.html + OAUTH_REDIRECT_URI: https://osmcha.staging.openhistoricalmap.org/authorized OSM_PLANET_BASE_URL: https://s3.amazonaws.com/planet.openhistoricalmap.org/replication/changesets/ ## frontend OSMCHA_URL: https://osmcha.staging.openhistoricalmap.org @@ -907,8 +907,8 @@ osm-seed: REACT_APP_OVERPASS_BASE: //overpass-api.openhistoricalmap.org/api/interpreter REACT_APP_ENABLE_REAL_CHANGESETS: 0 REACT_APP_MAPBOX_ACCESS_TOKEN: {{STAGING_OSMCHA_REACT_APP_MAPBOX_ACCESS_TOKEN}} - OAUTH2_OSM_KEY: VOTXm17r87qyHCu9oNK8sOrHkDUDynOZzpX_pcOhMVI - OAUTH2_OSM_SECRET: j86R1GGNaeFp62dPcMtrbGp3StZk-b5Zg6qsC_ZpzW8 + OAUTH2_OSM_KEY: tEJ_Mlae0a_uxYmG2VEOuz92zSzbCZ3rVn_1r6ZPg70 + OAUTH2_OSM_SECRET: rhYlGb3vEFxqw4FjGSPjQiSHP2X-9no0FrTecOHHHos resources: enabled: false requests: From c206879a41cdf3a77228896529ca17f9c82a8fa8 Mon Sep 17 00:00:00 2001 From: Rub21 Date: Thu, 30 Jan 2025 15:34:19 -0500 Subject: [PATCH 26/32] Enable osmcha adiff --- ohm/requirements.yaml | 2 +- values.staging.template.yaml | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/ohm/requirements.yaml b/ohm/requirements.yaml index 116280f3..6147e0fb 100644 --- a/ohm/requirements.yaml +++ b/ohm/requirements.yaml @@ -1,4 +1,4 @@ dependencies: - name: osm-seed - version: '0.1.0-n813.h6c1a80d' + version: '0.1.0-n816.h05ebbdc' repository: https://devseed.com/osm-seed-chart/ diff --git a/values.staging.template.yaml b/values.staging.template.yaml index 43d41e9a..ed27f3ca 100644 --- a/values.staging.template.yaml +++ b/values.staging.template.yaml @@ -957,6 +957,29 @@ osm-seed: nodeSelector: enabled: false # ==================================================================================================== +# Variables for osmcha osm-adiff-service +# ==================================================================================================== + adiffService: + enabled: true + image: + name: ghcr.io/openhistoricalmap/osm-adiff-service + tag: a343422497bb2ad4735ca7eada921b60eeb19e20 + env: + ## Token for testing + OSMCHAADMINTOKEN: 35f2a6b5cd2a8cd7ee215a4bf7f2f09d90ddd6b5 + WORKER_COUNT: 2 + NODE_OPTIONS: --max-old-space-size=2048 + resources: + enabled: false + requests: + memory: "20Gi" + cpu: "8" + limits: + memory: "24Gi" + cpu: "10" + nodeSelector: + enabled: false +# ==================================================================================================== # Planet files server # ==================================================================================================== planetFiles: From 489e057f76428e0aad0cafc814ac84684b50ed2e Mon Sep 17 00:00:00 2001 From: Rub21 Date: Thu, 30 Jan 2025 18:25:03 -0500 Subject: [PATCH 27/32] Remove osmcha web from build process --- chartpress.yaml | 3 +-- images/osmcha-frontend/Dockerfile | 28 ------------------------ images/osmcha-frontend/nginx.conf | 36 ------------------------------- ohm/values.yaml | 4 ---- 4 files changed, 1 insertion(+), 70 deletions(-) delete mode 100644 images/osmcha-frontend/Dockerfile delete mode 100644 images/osmcha-frontend/nginx.conf diff --git a/chartpress.yaml b/chartpress.yaml index 164b1385..c81b43f4 100644 --- a/chartpress.yaml +++ b/chartpress.yaml @@ -18,5 +18,4 @@ charts: valuesPath: ohm.tilerCache.image cgimap: valuesPath: ohm.cgimap.image - osmcha-frontend: - valuesPath: osm-seed.osmchaWeb.image + diff --git a/images/osmcha-frontend/Dockerfile b/images/osmcha-frontend/Dockerfile deleted file mode 100644 index c0f64314..00000000 --- a/images/osmcha-frontend/Dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -FROM node:22-alpine as builder - -ENV DEBIAN_FRONTEND noninteractive - -ARG BUILD_ENV=prod - -WORKDIR /app - -## Clone osmcha repo -ENV GITSHA=e5d7de531016c3e4cb9aef684c2e8c3bff20e602 -RUN apk add --no-cache git \ - && git clone https://github.com/OpenHistoricalMap/osmcha-frontend.git /app \ - && cd /app \ - && git checkout $GITSHA - -RUN yarn set version stable -RUN yarn install - -ENV REACT_APP_PRODUCTION_API_URL /api/v1 -ENV NODE_OPTIONS --openssl-legacy-provider - -RUN yarn run build:${BUILD_ENV} - -FROM nginx:alpine - -COPY --from=builder /app/build /srv/www - -COPY nginx.conf /etc/nginx/templates/default.conf.template diff --git a/images/osmcha-frontend/nginx.conf b/images/osmcha-frontend/nginx.conf deleted file mode 100644 index 27ff4838..00000000 --- a/images/osmcha-frontend/nginx.conf +++ /dev/null @@ -1,36 +0,0 @@ -server { - listen 80; - charset utf-8; - - include /etc/nginx/mime.types; - default_type application/octet-stream; - - gzip on; - sendfile on; - tcp_nopush on; - tcp_nodelay on; - keepalive_timeout 65; - - location ~ ^/(api|admin) { - # /api and /admin routes are handled by the backend - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header Host $http_host; - proxy_redirect off; - proxy_pass $BACKEND_URL; - } - - location /static { - # /static files are served without any magic (exact path or 404) - root /srv/www; - try_files $uri =404; - } - - location / { - # other routes are served by trying the exact path, and falling back to - # serving the app entrypoint (index.html). this is needed because the - # frontend JS code uses the path component of the URL in its client-side - # routing. - root /srv/www; - try_files $uri $uri/ /index.html; - } -} diff --git a/ohm/values.yaml b/ohm/values.yaml index 89d6fd0b..5de9a5c2 100644 --- a/ohm/values.yaml +++ b/ohm/values.yaml @@ -23,10 +23,6 @@ osm-seed: image: name: chartpress_replace_me tag: chartpress_replace_me - osmchaWeb: - image: - name: chartpress_replace_me - tag: chartpress_replace_me ohm: tilerCache: image: From 1632b258029bb8553d1c7748239925868766b527 Mon Sep 17 00:00:00 2001 From: Rub21 Date: Fri, 31 Jan 2025 12:04:16 -0500 Subject: [PATCH 28/32] Osmcha deployment --- .github/workflows/chartpress.yaml | 6 ------ ohm/requirements.yaml | 2 +- values.staging.template.yaml | 33 +++++++------------------------ 3 files changed, 8 insertions(+), 33 deletions(-) diff --git a/.github/workflows/chartpress.yaml b/.github/workflows/chartpress.yaml index d5f9644d..43553543 100644 --- a/.github/workflows/chartpress.yaml +++ b/.github/workflows/chartpress.yaml @@ -74,8 +74,6 @@ jobs: DEVELOPMENT_NOMINATIM_PG_PASSWORD: ${{ secrets.STAGING_NOMINATIM_PG_PASSWORD }} ## osmcha DEVELOPMENT_OSMCHA_PG_PASSWORD: ${{ secrets.STAGING_OSMCHA_PG_PASSWORD }} - DEVELOPMENT_OSMCHA_API_CONSUMER_KEY: ${{ secrets.STAGING_OSMCHA_API_CONSUMER_KEY }} - DEVELOPMENT_OSMCHA_API_CONSUMER_SECRET: ${{ secrets.STAGING_OSMCHA_API_CONSUMER_SECRET }} DEVELOPMENT_OSMCHA_DJANGO_SECRET_KEY: ${{ secrets.STAGING_OSMCHA_DJANGO_SECRET_KEY }} DEVELOPMENT_OSMCHA_REACT_APP_MAPBOX_ACCESS_TOKEN: ${{ secrets.STAGING_OSMCHA_REACT_APP_MAPBOX_ACCESS_TOKEN }} OHM_SLACK_WEBHOOK_URL: ${{ secrets.OHM_SLACK_WEBHOOK_URL }} @@ -122,8 +120,6 @@ jobs: STAGING_NOMINATIM_PG_PASSWORD: ${{ secrets.STAGING_NOMINATIM_PG_PASSWORD }} ## osmcha STAGING_OSMCHA_PG_PASSWORD: ${{ secrets.STAGING_OSMCHA_PG_PASSWORD }} - STAGING_OSMCHA_API_CONSUMER_KEY: ${{ secrets.STAGING_OSMCHA_API_CONSUMER_KEY }} - STAGING_OSMCHA_API_CONSUMER_SECRET: ${{ secrets.STAGING_OSMCHA_API_CONSUMER_SECRET }} STAGING_OSMCHA_DJANGO_SECRET_KEY: ${{ secrets.STAGING_OSMCHA_DJANGO_SECRET_KEY }} STAGING_OSMCHA_REACT_APP_MAPBOX_ACCESS_TOKEN: ${{ secrets.STAGING_OSMCHA_REACT_APP_MAPBOX_ACCESS_TOKEN }} OHM_SLACK_WEBHOOK_URL: ${{ secrets.OHM_SLACK_WEBHOOK_URL }} @@ -173,8 +169,6 @@ jobs: PRODUCTION_NOMINATIM_PG_PASSWORD: ${{ secrets.PRODUCTION_NOMINATIM_PG_PASSWORD }} ## osmcha PRODUCTION_OSMCHA_PG_PASSWORD: ${{ secrets.PRODUCTION_OSMCHA_PG_PASSWORD }} - PRODUCTION_OSMCHA_API_CONSUMER_KEY: ${{ secrets.PRODUCTION_OSMCHA_API_CONSUMER_KEY }} - PRODUCTION_OSMCHA_API_CONSUMER_SECRET: ${{ secrets.PRODUCTION_OSMCHA_API_CONSUMER_SECRET }} PRODUCTION_OSMCHA_DJANGO_SECRET_KEY: ${{ secrets.PRODUCTION_OSMCHA_DJANGO_SECRET_KEY }} PRODUCTION_OSMCHA_REACT_APP_MAPBOX_ACCESS_TOKEN: ${{ secrets.PRODUCTION_OSMCHA_REACT_APP_MAPBOX_ACCESS_TOKEN }} OHM_SLACK_WEBHOOK_URL: ${{ secrets.OHM_SLACK_WEBHOOK_URL }} diff --git a/ohm/requirements.yaml b/ohm/requirements.yaml index 6147e0fb..55d433c2 100644 --- a/ohm/requirements.yaml +++ b/ohm/requirements.yaml @@ -1,4 +1,4 @@ dependencies: - name: osm-seed - version: '0.1.0-n816.h05ebbdc' + version: '0.1.0-n818.h7b2b8f0' repository: https://devseed.com/osm-seed-chart/ diff --git a/values.staging.template.yaml b/values.staging.template.yaml index ed27f3ca..1f7ebd8b 100644 --- a/values.staging.template.yaml +++ b/values.staging.template.yaml @@ -880,6 +880,9 @@ osm-seed: # ==================================================================================================== osmchaWeb: enabled: true + image: + name: "ghcr.io/openhistoricalmap/osmcha-frontend" + tag: "d004a05" # ==================================================================================================== # Variables for osmcha Api, We hard code the container id. # ==================================================================================================== @@ -892,9 +895,7 @@ osm-seed: env: DJANGO_SETTINGS_MODULE: "config.settings.production" OSMCHA_FRONTEND_VERSION: "v0.86.0-production" - DJANGO_SECRET_KEY: {{STAGING_OSMCHA_DJANGO_SECRET_KEY}} - OAUTH_OSM_KEY: {{STAGING_OSMCHA_API_CONSUMER_KEY}} - OAUTH_OSM_SECRET: {{STAGING_OSMCHA_API_CONSUMER_SECRET}} + DJANGO_SECRET_KEY: {{STAGING_OSMCHA_DJANGO_SECRET_KEY}} DJANGO_SECURE_SSL_REDIRECT: "False" OSM_SERVER_URL: https://www.openhistoricalmap.org OAUTH_REDIRECT_URI: https://osmcha.staging.openhistoricalmap.org/authorized @@ -902,13 +903,8 @@ osm-seed: ## frontend OSMCHA_URL: https://osmcha.staging.openhistoricalmap.org OSMCHA_API_URL: www.openhistoricalmap.org - REACT_APP_OSM_URL: https://www.openhistoricalmap.org - REACT_APP_OSM_API: https://www.openhistoricalmap.org/api/0.6 - REACT_APP_OVERPASS_BASE: //overpass-api.openhistoricalmap.org/api/interpreter - REACT_APP_ENABLE_REAL_CHANGESETS: 0 - REACT_APP_MAPBOX_ACCESS_TOKEN: {{STAGING_OSMCHA_REACT_APP_MAPBOX_ACCESS_TOKEN}} - OAUTH2_OSM_KEY: tEJ_Mlae0a_uxYmG2VEOuz92zSzbCZ3rVn_1r6ZPg70 - OAUTH2_OSM_SECRET: rhYlGb3vEFxqw4FjGSPjQiSHP2X-9no0FrTecOHHHos + OAUTH2_OSM_KEY: tHRgc_GVLsUj2tuVQSg05nn5f8Tnda8mF-ZfEbI3ItA + OAUTH2_OSM_SECRET: s9blyq71UditeidYeiQc_J40-DffUh3EVlDCGVcskQI resources: enabled: false requests: @@ -960,25 +956,10 @@ osm-seed: # Variables for osmcha osm-adiff-service # ==================================================================================================== adiffService: - enabled: true + enabled: false image: name: ghcr.io/openhistoricalmap/osm-adiff-service tag: a343422497bb2ad4735ca7eada921b60eeb19e20 - env: - ## Token for testing - OSMCHAADMINTOKEN: 35f2a6b5cd2a8cd7ee215a4bf7f2f09d90ddd6b5 - WORKER_COUNT: 2 - NODE_OPTIONS: --max-old-space-size=2048 - resources: - enabled: false - requests: - memory: "20Gi" - cpu: "8" - limits: - memory: "24Gi" - cpu: "10" - nodeSelector: - enabled: false # ==================================================================================================== # Planet files server # ==================================================================================================== From badf7602582890a6320fca80241ff709aaf9f049 Mon Sep 17 00:00:00 2001 From: Rub21 Date: Fri, 31 Jan 2025 15:55:39 -0500 Subject: [PATCH 29/32] Update osmcha - import workflow --- ohm/requirements.yaml | 2 +- values.staging.template.yaml | 30 ++++++++++++++++-------------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/ohm/requirements.yaml b/ohm/requirements.yaml index 55d433c2..b32aa382 100644 --- a/ohm/requirements.yaml +++ b/ohm/requirements.yaml @@ -1,4 +1,4 @@ dependencies: - name: osm-seed - version: '0.1.0-n818.h7b2b8f0' + version: '0.1.0-n819.h638f978' repository: https://devseed.com/osm-seed-chart/ diff --git a/values.staging.template.yaml b/values.staging.template.yaml index 1f7ebd8b..0c1e7df3 100644 --- a/values.staging.template.yaml +++ b/values.staging.template.yaml @@ -881,16 +881,16 @@ osm-seed: osmchaWeb: enabled: true image: - name: "ghcr.io/openhistoricalmap/osmcha-frontend" - tag: "d004a05" + name: ghcr.io/openhistoricalmap/osmcha-frontend + tag: d004a05 # ==================================================================================================== # Variables for osmcha Api, We hard code the container id. # ==================================================================================================== osmchaApi: enabled: true image: - name: "ghcr.io/openhistoricalmap/osmcha-django" - tag: "upstream_main" + name: ghcr.io/openhistoricalmap/osmcha-django + tag: 1e9d9dd ingressDomain: osmcha.staging.openhistoricalmap.org env: DJANGO_SETTINGS_MODULE: "config.settings.production" @@ -908,23 +908,25 @@ osm-seed: resources: enabled: false requests: - memory: "512Mi" - cpu: "1" + memory: '512Mi' + cpu: '1' limits: - memory: "512Mi" - cpu: "1" + memory: '512Mi' + cpu: '1' nodeSelector: enabled: false label_key: nodegroup_type label_value: web + fetch_changesets_cronjob: '*/2 * * * *' + process_changesets_cronjob: '0 * * * *' # ==================================================================================================== # Variables for osmcha DB # ==================================================================================================== osmchaDb: enabled: true image: - name: "developmentseed/osmseed-osmcha-db" - tag: "0.1.0-n767.h0090e97" + name: developmentseed/osmseed-osmcha-db + tag: 0.1.0-n767.h0090e97 env: POSTGRES_DB: osmcha POSTGRES_USER: postgres @@ -932,11 +934,11 @@ osm-seed: resources: enabled: false requests: - memory: "20Gi" - cpu: "8" + memory: '20Gi' + cpu: '8' limits: - memory: "24Gi" - cpu: "10" + memory: '24Gi' + cpu: '10' persistenceDisk: enabled: false accessMode: ReadWriteOnce From e9c545a5394b52565ce7c7f0c14d3a8c4eccc24f Mon Sep 17 00:00:00 2001 From: Rub21 Date: Fri, 31 Jan 2025 16:03:35 -0500 Subject: [PATCH 30/32] Update osm-seed version --- ohm/requirements.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ohm/requirements.yaml b/ohm/requirements.yaml index b32aa382..3079951f 100644 --- a/ohm/requirements.yaml +++ b/ohm/requirements.yaml @@ -1,4 +1,4 @@ dependencies: - name: osm-seed - version: '0.1.0-n819.h638f978' + version: '0.1.0-n820.ha0b02a1' repository: https://devseed.com/osm-seed-chart/ From 37d986fa9a6e73b0ac34e933f364264a3dfaa244 Mon Sep 17 00:00:00 2001 From: Rub21 Date: Mon, 3 Feb 2025 10:48:29 -0500 Subject: [PATCH 31/32] Get osmcha db from osm-seed --- .gitignore | 3 ++- values.staging.template.yaml | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index cde87a55..facf750e 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ data/ images/.env images/tiler.yml values.dev.yaml +values.osmcha.yaml secrets tegola envs/.env.tiler @@ -17,4 +18,4 @@ config.osm.toml */.DS_Store .env values.dev.staging.yaml -images/tiler-server/utils/exec.sh \ No newline at end of file +images/tiler-server/utils/exec.sh diff --git a/values.staging.template.yaml b/values.staging.template.yaml index 0c1e7df3..6befc724 100644 --- a/values.staging.template.yaml +++ b/values.staging.template.yaml @@ -924,9 +924,9 @@ osm-seed: # ==================================================================================================== osmchaDb: enabled: true - image: - name: developmentseed/osmseed-osmcha-db - tag: 0.1.0-n767.h0090e97 + # image: + # name: developmentseed/osmseed-osmcha-db + # tag: 0.1.0-n767.h0090e97 env: POSTGRES_DB: osmcha POSTGRES_USER: postgres From 4a4b3e1945c68943684199ed6400a20fe777269c Mon Sep 17 00:00:00 2001 From: Rub21 Date: Mon, 3 Feb 2025 10:58:26 -0500 Subject: [PATCH 32/32] Update prod config for osmcha --- values.production.template.yaml | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/values.production.template.yaml b/values.production.template.yaml index 33d41eed..422c8e56 100644 --- a/values.production.template.yaml +++ b/values.production.template.yaml @@ -849,6 +849,9 @@ osm-seed: # ==================================================================================================== osmchaWeb: enabled: true + image: + name: ghcr.io/openhistoricalmap/osmcha-frontend + tag: 80eb324 # ==================================================================================================== # Variables for osmcha Api # ==================================================================================================== @@ -862,20 +865,15 @@ osm-seed: DJANGO_SETTINGS_MODULE: "config.settings.production" OSMCHA_FRONTEND_VERSION: "v0.86.0-production" DJANGO_SECRET_KEY: {{PRODUCTION_OSMCHA_DJANGO_SECRET_KEY}} - OAUTH_OSM_KEY: {{PRODUCTION_OSMCHA_API_CONSUMER_KEY}} - OAUTH_OSM_SECRET: {{PRODUCTION_OSMCHA_API_CONSUMER_SECRET}} DJANGO_SECURE_SSL_REDIRECT: "False" OSM_SERVER_URL: https://www.openhistoricalmap.org - OAUTH_REDIRECT_URI: https://osmcha.openhistoricalmap.org/oauth-landing.html + OAUTH_REDIRECT_URI: https://osmcha.openhistoricalmap.org/authorized OSM_PLANET_BASE_URL: https://s3.amazonaws.com/planet.openhistoricalmap.org/replication/changesets/ ## frontend OSMCHA_URL: https://osmcha.openhistoricalmap.org OSMCHA_API_URL: www.openhistoricalmap.org - REACT_APP_OSM_URL: https://www.openhistoricalmap.org - REACT_APP_OSM_API: https://www.openhistoricalmap.org/api/0.6 - REACT_APP_OVERPASS_BASE: //overpass-api.openhistoricalmap.org/api/interpreter - REACT_APP_ENABLE_REAL_CHANGESETS: 0 - REACT_APP_MAPBOX_ACCESS_TOKEN: {{PRODUCTION_OSMCHA_REACT_APP_MAPBOX_ACCESS_TOKEN}} + OAUTH2_OSM_KEY: 0KWrkIIQtFBc4k_Blb2WuIi108w10GYXFwW30qvk-W8 + OAUTH2_OSM_SECRET: UAnkzA3FqCP6ZYhqN1NEyQRdG36ALv46XGI7UtHJ0_o resources: enabled: false requests: @@ -889,6 +887,14 @@ osm-seed: label_key: nodegroup_type label_value: web_large # ==================================================================================================== +# Variables for osmcha osm-adiff-service +# ==================================================================================================== + adiffService: + enabled: false + image: + name: ghcr.io/openhistoricalmap/osm-adiff-service + tag: a343422497bb2ad4735ca7eada921b60eeb19e20 +# ==================================================================================================== # Variables for osmcha DB # ==================================================================================================== osmchaDb: @@ -909,11 +915,11 @@ osm-seed: memory: "24Gi" cpu: "10" persistenceDisk: - enabled: false + enabled: true accessMode: ReadWriteOnce mountPath: /var/lib/postgresql/data - AWS_ElasticBlockStore_volumeID: vol-065901d9a34a6fbf9 - AWS_ElasticBlockStore_size: 100Gi + AWS_ElasticBlockStore_volumeID: vol-03f47ec4b4532e93d + AWS_ElasticBlockStore_size: 20Gi nodeSelector: enabled: true label_key: nodegroup_type