diff --git a/Dockerfile b/Dockerfile index 154fd336..843a886c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -71,10 +71,12 @@ RUN apt-get update -qq && \ COPY --from=build "${BUNDLE_PATH}" "${BUNDLE_PATH}" COPY --from=build /rails /rails +WORKDIR /rails + # Run and own only the runtime files as a non-root user for security RUN groupadd --system --gid 1000 rails && \ useradd rails --uid 1000 --gid 1000 --create-home --shell /bin/bash && \ - chown -R rails:rails db log storage tmp data + chown -R rails:rails /rails USER 1000:1000 # Entrypoint prepares the database. diff --git a/app/services/geocoding_service.rb b/app/services/geocoding_service.rb index 909f4785..581704ed 100644 --- a/app/services/geocoding_service.rb +++ b/app/services/geocoding_service.rb @@ -18,9 +18,12 @@ def self.geocode_address(address) http.use_ssl = (uri.scheme == "https") request = Net::HTTP::Get.new(uri) response = http.request(request) + + Rails.logger.info "[GEOCODING] Response code from Census Geocoder: #{response.code}" if response.is_a?(Net::HTTPSuccess) result = JSON.parse(response.body) matches = result.dig('result', 'addressMatches') + Rails.logger.info "[GEOCODING] Address matches found: #{matches.size}" if matches && matches.any? coords = matches.first['coordinates'] return { @@ -59,6 +62,7 @@ def self.geocode_address(address) http.request(nom_request) end @@last_nominatim_request_time = Time.now + Rails.logger.info "[GEOCODING] Nominatim response code: #{nom_response.code}" if nom_response.is_a?(Net::HTTPSuccess) nom_data = JSON.parse(nom_response.body) if nom_data.any?