mirror of
https://github.com/publiclab/mapknitter.git
synced 2025-12-13 11:49:59 +01:00
Roll back to using Debian 9 with custom built GDAL (#489)
* Switch back to Debian 9 Stretch * Simplify docker image * Bump Ruby to 2.4.6 * Re-add dependency * Add dependency (zip) * Try pip install gdal * Install libgdal-dev * Revert attept to use pip * Bump ruby * Avoid naming containers in compose file * Avoid overwriting database on redeploy-container * Allow to load mysql dump * Include own GDAL packages * Disable ipv6 to prevent error * Add missing Amazon S3 yml to Makefile * Document unstable instance
This commit is contained in:
committed by
Jeffrey Warren
parent
647cafab4c
commit
5b0a8b1689
28
Dockerfile
28
Dockerfile
@@ -2,31 +2,26 @@
|
|||||||
# https://github.com/publiclab/mapknitter/
|
# https://github.com/publiclab/mapknitter/
|
||||||
# This image deploys Mapknitter!
|
# This image deploys Mapknitter!
|
||||||
|
|
||||||
FROM debian:buster
|
FROM ruby:2.4.6-stretch
|
||||||
|
|
||||||
# Set correct environment variables.
|
# Set correct environment variables.
|
||||||
ENV HOME /root
|
ENV HOME /root
|
||||||
|
|
||||||
|
# Backported GDAL
|
||||||
|
RUN echo "deb http://packages.laboratoriopublico.org/publiclab/ stretch main" > /etc/apt/sources.list.d/publiclab.list
|
||||||
|
|
||||||
|
# Obtain key
|
||||||
|
RUN mkdir ~/.gnupg
|
||||||
|
RUN echo "disable-ipv6" >> ~/.gnupg/dirmngr.conf
|
||||||
|
RUN apt-key adv --keyserver hkps.pool.sks-keyservers.net --recv-keys BF26EE05EA6A68F0
|
||||||
|
|
||||||
# Install dependencies
|
# Install dependencies
|
||||||
RUN apt-get update -qq && apt-get install -y \
|
RUN apt-get update -qq && apt-get install -y \
|
||||||
bundler ruby-rmagick libfreeimage3 \
|
nodejs gdal-bin curl procps git imagemagick python-gdal zip
|
||||||
libfreeimage-dev zip nodejs gdal-bin \
|
|
||||||
curl g++ gcc autoconf automake bison \
|
|
||||||
libc6-dev libffi-dev libgdbm-dev \
|
|
||||||
libncurses5-dev libsqlite3-dev libtool \
|
|
||||||
libyaml-dev make pkg-config sqlite3 \
|
|
||||||
zlib1g-dev libgmp-dev libreadline-dev libssl-dev \
|
|
||||||
procps libmariadb-dev-compat libmariadb-dev git python-gdal \
|
|
||||||
imagemagick
|
|
||||||
|
|
||||||
# Ruby
|
|
||||||
RUN gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB && curl -sSL https://get.rvm.io | bash -s stable && usermod -a -G rvm root
|
|
||||||
RUN /bin/bash -l -c ". /etc/profile.d/rvm.sh && rvm install 2.4.4 && rvm use 2.4.4 --default"
|
|
||||||
|
|
||||||
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash - && apt-get install -y npm
|
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash - && apt-get install -y npm
|
||||||
RUN npm install -g bower
|
RUN npm install -g bower
|
||||||
|
|
||||||
|
|
||||||
# Install bundle of gems
|
# Install bundle of gems
|
||||||
SHELL [ "/bin/bash", "-l", "-c" ]
|
SHELL [ "/bin/bash", "-l", "-c" ]
|
||||||
WORKDIR /tmp
|
WORKDIR /tmp
|
||||||
@@ -34,9 +29,6 @@ ADD Gemfile /tmp/Gemfile
|
|||||||
ADD Gemfile.lock /tmp/Gemfile.lock
|
ADD Gemfile.lock /tmp/Gemfile.lock
|
||||||
RUN bundle install
|
RUN bundle install
|
||||||
|
|
||||||
# HOTFIX Workaround for mysql2 gem incompatibility with libmariadb-dev
|
|
||||||
RUN sed -i "s/ LONG_PASSWORD |//g" /usr/local/rvm/gems/ruby-*/gems/mysql2-*/lib/mysql2/client.rb
|
|
||||||
|
|
||||||
# Add the Rails app
|
# Add the Rails app
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY Gemfile /app/Gemfile
|
COPY Gemfile /app/Gemfile
|
||||||
|
|||||||
2
Gemfile
2
Gemfile
@@ -1,6 +1,6 @@
|
|||||||
source "https://rubygems.org"
|
source "https://rubygems.org"
|
||||||
|
|
||||||
ruby "2.4.4"
|
ruby "2.4.6"
|
||||||
gem "rails", "~>3.2"
|
gem "rails", "~>3.2"
|
||||||
gem 'rake', '~> 12.3.2'
|
gem 'rake', '~> 12.3.2'
|
||||||
|
|
||||||
|
|||||||
2
Makefile
2
Makefile
@@ -2,6 +2,7 @@ export COMPOSE_HTTP_TIMEOUT=360
|
|||||||
|
|
||||||
build:
|
build:
|
||||||
cp config/database.yml.example config/database.yml
|
cp config/database.yml.example config/database.yml
|
||||||
|
cp config/amazon_s3.yml.example config/amazon_s3.yml
|
||||||
cp db/schema.rb.example db/schema.rb
|
cp db/schema.rb.example db/schema.rb
|
||||||
docker-compose down --remove-orphans
|
docker-compose down --remove-orphans
|
||||||
docker-compose build
|
docker-compose build
|
||||||
@@ -9,6 +10,7 @@ build:
|
|||||||
deploy-container:
|
deploy-container:
|
||||||
docker-compose run --rm web bash -l -c "sleep 10 && bower install --allow-root && rake db:setup && rake db:migrate && rake assets:precompile"
|
docker-compose run --rm web bash -l -c "sleep 10 && bower install --allow-root && rake db:setup && rake db:migrate && rake assets:precompile"
|
||||||
docker-compose up -d
|
docker-compose up -d
|
||||||
|
docker-compose exec -T web bash -l -c "sleep 10 && rake db:setup && rake db:migrate && rake assets:precompile"
|
||||||
|
|
||||||
redeploy-container:
|
redeploy-container:
|
||||||
docker-compose up --force-recreate -d
|
docker-compose up --force-recreate -d
|
||||||
|
|||||||
@@ -116,3 +116,6 @@ Help improve Public Lab software!
|
|||||||
* Review contributor guidelines at http://publiclab.org/wiki/contributing-to-public-lab-software
|
* Review contributor guidelines at http://publiclab.org/wiki/contributing-to-public-lab-software
|
||||||
* Some devs hang out in http://publiclab.org/chat (irc webchat)
|
* Some devs hang out in http://publiclab.org/chat (irc webchat)
|
||||||
|
|
||||||
|
## Staging infrastructure and testing
|
||||||
|
|
||||||
|
In addition automatic testing with Travis CI - we have a branch (`unstable`) is set to auto-build and deploy to [a staging instance](http://mapknitter-unstable.laboratoriopublico.org/). This instance includes a copy of the production database and is intended for experimenting or debugging purposes with a production-like environment.
|
||||||
|
|||||||
Reference in New Issue
Block a user