83 lines
2.4 KiB
Plaintext
83 lines
2.4 KiB
Plaintext
IMAGE decidim_0.21.0-200621
|
|
FROM alpine3.11-ruby2.6_2.6.5-200621
|
|
|
|
# https://github.com/Platoniq/decidim-install/blob/master/decidim-bionic.md
|
|
# https://github.com/Platoniq/decidim-install/blob/master/basic-config.md
|
|
|
|
ENV RAILS_ENV production
|
|
|
|
RUN EOF
|
|
# Install runtime dependencies
|
|
apk --no-cache add curl imagemagick libpq nodejs pcre procps tzdata
|
|
|
|
# Install build dependencies
|
|
apk --no-cache add --virtual .deps build-base curl-dev icu-dev libxml2-dev libxslt-dev linux-headers pcre-dev postgresql-dev zlib-dev
|
|
|
|
# Install passenger
|
|
gem install passenger --no-document
|
|
|
|
# Create OS user
|
|
addgroup -S -g 8080 decidim
|
|
adduser -S -u 8080 -h /srv/decidim-app -s /sbin/nologin -G decidim -g decidim decidim
|
|
|
|
# Compile nginx
|
|
# Minimized version of /usr/local/bin/passenger-install-nginx-module
|
|
NGINX_VERSION=$(grep ' PREFERRED_NGINX_VERSION' /usr/local/lib/ruby/gems/2.6.0/gems/passenger-*/src/ruby_supportlib/phusion_passenger.rb | grep -Eo '([0-9\.]+)')
|
|
cd /tmp
|
|
wget https://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz
|
|
tar xf nginx-*.tar.gz
|
|
cd nginx-*
|
|
./configure \
|
|
--prefix=/var/lib/nginx \
|
|
--sbin-path=/usr/sbin/nginx \
|
|
--conf-path=/etc/nginx/nginx.conf \
|
|
--pid-path=/run/nginx.pid \
|
|
--lock-path=/run/nginx.lock \
|
|
--user=decidim \
|
|
--group=decidim \
|
|
--with-threads \
|
|
--with-file-aio \
|
|
--with-http_ssl_module \
|
|
--with-http_v2_module \
|
|
--with-http_realip_module \
|
|
--with-http_gzip_static_module \
|
|
--with-http_stub_status_module \
|
|
--with-http_addition_module \
|
|
--with-cc-opt=-Wno-error \
|
|
--add-module=/usr/local/lib/ruby/gems/2.6.0/gems/passenger-*/src/nginx_module
|
|
make -j $(getconf _NPROCESSORS_ONLN)
|
|
make install
|
|
rm -f /etc/nginx/*.default
|
|
|
|
# Install Decidim
|
|
bundle config build.nokogiri --use-system-libraries
|
|
gem install bundler:1.17.3
|
|
gem install decidim
|
|
cd /srv
|
|
decidim decidim-app
|
|
EOF
|
|
|
|
COPY image.d
|
|
|
|
RUN EOF
|
|
# Install gems required by decidim
|
|
cd /srv/decidim-app
|
|
bundle update
|
|
|
|
# Setup delayed job for mail sending
|
|
bin/rails generate delayed_job:active_record
|
|
|
|
# Precompile static assets
|
|
bin/rails assets:precompile
|
|
|
|
# Change ownership
|
|
chown -R decidim:decidim /srv/decidim-app
|
|
|
|
# Cleanup
|
|
apk --no-cache del .deps
|
|
rm -rf /tmp/*
|
|
rm -rf /.bundle /root/.gem
|
|
EOF
|
|
|
|
CMD /bin/s6-svscan /etc/services.d
|