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 \
# 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/
apt-get upgrade -y
# install packages as explained in INSTALL.md
- apt-get install -y ruby3.0 libruby3.0 ruby3.0-dev \
+ 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
- gem3.0 install --version "~> 2.1.4" bundler
npm install --global yarn
## install the bundle necessary for openstreetmap-website
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
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