From: Tom Hughes Date: Wed, 31 May 2023 17:40:07 +0000 (+0100) Subject: Merge remote-tracking branch 'upstream/pull/4055' X-Git-Tag: live~1250 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/91fa724078679ec563d3f664311424a746e05d53?hp=41ee371b3e3f734c63bc359ec6d6f0430dc4503d Merge remote-tracking branch 'upstream/pull/4055' --- diff --git a/.gitignore b/.gitignore index 75e9eb59e..e5866532e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ *~ .DS_Store +.bundle/config .idea .ruby-gemset .ruby-version diff --git a/Dockerfile b/Dockerfile index 78be28838..f3c56e161 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,16 +20,16 @@ RUN apt-get update \ libxslt1-dev \ locales \ postgresql-client \ - ruby3.0 \ - ruby3.0-dev \ + ruby \ + ruby-dev \ + ruby-bundler \ software-properties-common \ tzdata \ unzip \ - && curl https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \ - && add-apt-repository -y -U https://deb.nodesource.com/node_18.x \ - && apt-get install --no-install-recommends -y \ nodejs \ + npm \ && npm install --global yarn \ + # We can't use snap packages for firefox inside a container, so we need to get firefox+geckodriver elsewhere && add-apt-repository -y ppa:mozillateam/ppa \ && echo "Package: *\nPin: release o=LP-PPA-mozillateam\nPin-Priority: 1001" > /etc/apt/preferences.d/mozilla-firefox \ && apt-get install --no-install-recommends -y \ @@ -49,8 +49,7 @@ WORKDIR /app # Install Ruby packages ADD Gemfile Gemfile.lock /app/ -RUN gem install bundler \ - && bundle install +RUN bundle install # Install NodeJS packages using yarn ADD package.json yarn.lock /app/ diff --git a/INSTALL.md b/INSTALL.md index 787c81ee7..74c736f4c 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -31,12 +31,12 @@ These can be installed on Ubuntu 22.04 or later with: ``` sudo apt-get update -sudo apt-get install ruby3.0 libruby3.0 ruby3.0-dev \ +sudo apt-get install ruby ruby-dev ruby-bundler \ libvips-dev libxml2-dev libxslt1-dev nodejs \ - build-essential git-core firefox-geckodriver \ + build-essential git-core \ postgresql postgresql-contrib libpq-dev libsasl2-dev \ - libffi-dev libgd-dev libarchive-dev libbz2-dev yarnpkg -sudo gem3.0 install bundler + libffi-dev libgd-dev libarchive-dev libbz2-dev npm +sudo npm install --global yarn ``` ### Alternative platforms diff --git a/Vagrantfile b/Vagrantfile index 2ef899123..7895d3b86 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -4,7 +4,7 @@ Vagrant.configure("2") do |config| # use official ubuntu image for virtualbox config.vm.provider "virtualbox" do |vb, override| - override.vm.box = "ubuntu/focal64" + override.vm.box = "ubuntu/jammy64" override.vm.synced_folder ".", "/srv/openstreetmap-website" vb.customize ["modifyvm", :id, "--memory", "4096"] vb.customize ["modifyvm", :id, "--cpus", "2"] @@ -16,13 +16,13 @@ Vagrant.configure("2") do |config| # use third party image and sshfs or NFS sharing for lxc config.vm.provider "lxc" do |_, override| - override.vm.box = "generic/ubuntu2004" + override.vm.box = "generic/ubuntu2204" override.vm.synced_folder ".", "/srv/openstreetmap-website", :type => sharing_type end # use third party image and sshfs or NFS sharing for libvirt config.vm.provider "libvirt" do |_, override| - override.vm.box = "generic/ubuntu2004" + override.vm.box = "generic/ubuntu2204" override.vm.synced_folder ".", "/srv/openstreetmap-website", :type => sharing_type end diff --git a/script/vagrant/setup/provision.sh b/script/vagrant/setup/provision.sh index afabc4885..d34c46008 100644 --- a/script/vagrant/setup/provision.sh +++ b/script/vagrant/setup/provision.sh @@ -16,12 +16,12 @@ apt-get update apt-get upgrade -y # install packages as explained in INSTALL.md -apt-get install -y ruby2.7 libruby2.7 ruby2.7-dev \ - libxml2-dev libxslt1-dev nodejs yarnpkg \ - build-essential git-core firefox-geckodriver \ +apt-get install -y ruby ruby-dev ruby-bundler \ + libxml2-dev libxslt1-dev nodejs npm \ + build-essential git-core \ postgresql postgresql-contrib libpq-dev libvips-dev \ libsasl2-dev libffi-dev libgd-dev libarchive-dev libbz2-dev -gem2.7 install --version "~> 2.1.4" bundler +npm install --global yarn ## install the bundle necessary for openstreetmap-website pushd /srv/openstreetmap-website @@ -33,8 +33,6 @@ bundle exec bin/yarn install db_user_exists=`sudo -u postgres psql postgres -tAc "select 1 from pg_roles where rolname='vagrant'"` if [ "$db_user_exists" != "1" ]; then sudo -u postgres createuser -s vagrant - sudo -u vagrant createdb -E UTF-8 -O vagrant openstreetmap - sudo -u vagrant createdb -E UTF-8 -O vagrant osm_test fi # set up sample configs @@ -45,6 +43,8 @@ if [ ! -f config/storage.yml ]; then cp config/example.storage.yml config/storage.yml fi touch config/settings.local.yml +# create the databases +sudo -u vagrant bundle exec rails db:create # migrate the database to the latest version sudo -u vagrant bundle exec rails db:migrate popd