56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| FROM ruby
 | |
| MAINTAINER Disassembler <disassembler@dasm.cz>
 | |
| 
 | |
| RUN \
 | |
|  # Install NodeJS runtime
 | |
|  apk --no-cache add nodejs paxctl \
 | |
|  # Fix grsec attributes to loosen memory protection restrictions
 | |
|  && paxctl -cm /usr/bin/node \
 | |
|  # Cleanup
 | |
|  && apk --no-cache del paxctl
 | |
| 
 | |
| RUN \
 | |
|  # Install runtime dependencies
 | |
|  apk --no-cache add libpq s6
 | |
| 
 | |
| RUN \
 | |
|  # Install build dependencies for ODK Build
 | |
|  apk --no-cache add --virtual .deps build-base git linux-headers openjdk8-jre-base paxctl postgresql-dev \
 | |
|  # Fix grsec attributes to loosen memory protection restrictions
 | |
|  && paxctl -cm /usr/lib/jvm/java-1.8-openjdk/jre/bin/java \
 | |
|  && paxctl -cm /usr/lib/jvm/java-1.8-openjdk/bin/java \
 | |
|  # Clone ODK Build
 | |
|  && git clone --depth 1 https://github.com/opendatakit/build /srv/odkbuild \
 | |
|  # Install Ruby dependencies
 | |
|  && cd /srv/odkbuild \
 | |
|  && bundle install --without test \
 | |
|  && rake deploy:build \
 | |
|  # Create OS user
 | |
|  && addgroup -S -g 8017 odkbuild \
 | |
|  && adduser -S -u 8017 -h /srv/odkbuild -s /bin/false -g odkbuild -G odkbuild odkbuild \
 | |
|  && chown -R odkbuild:odkbuild /srv/odkbuild \
 | |
|  # Cleanup
 | |
|  && apk --no-cache del .deps \
 | |
|  && find /srv/odkbuild -name '.git*' -exec rm -rf {} + \
 | |
|  && rm -rf /root/.bundle
 | |
| 
 | |
| RUN \
 | |
|  # Install build dependencies for build2xlsform
 | |
|  apk --no-cache add --virtual .deps git make \
 | |
|  # Clone build2xlsform
 | |
|  && git clone --depth 1 https://github.com/opendatakit/build2xlsform /srv/build2xlsform \
 | |
|  && cd /srv/build2xlsform \
 | |
|  && make \
 | |
|  # Change ownership
 | |
|  && chown -R odkbuild:odkbuild /srv/build2xlsform \
 | |
|  # Cleanup
 | |
|  && apk --no-cache del .deps \
 | |
|  && find /srv/build2xlsform -name '.git*' -exec rm -rf {} + \
 | |
|  && rm -rf /root/.config /root/.npm
 | |
| 
 | |
| COPY docker/ /
 | |
| 
 | |
| EXPOSE 8080
 | |
| 
 | |
| CMD ["s6-svscan", "/etc/services.d"]
 |