You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			80 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Docker
		
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Docker
		
	
ARG ARCH=""
 | 
						|
 | 
						|
# NOTE: only add file if building for arm
 | 
						|
FROM ${ARCH}alpine:3.14
 | 
						|
ARG VERSION
 | 
						|
ONBUILD COPY --from=balenalib/rpi-alpine:3.14 /usr/bin/qemu-arm-static /usr/bin/qemu-arm-static
 | 
						|
 | 
						|
ENV TZ Etc/UTC
 | 
						|
 | 
						|
LABEL version=$VERSION
 | 
						|
 | 
						|
# Shared later between dovecot postfix nginx rspamd rainloop and roundloop
 | 
						|
RUN apk add --no-cache \
 | 
						|
    python3 py3-pip tzdata \
 | 
						|
 && pip3 install socrate==0.2.0
 | 
						|
 | 
						|
#  https://www.rainloop.net/docs/system-requirements/
 | 
						|
#  Rainloop:
 | 
						|
#     cURL            Builtin
 | 
						|
#     iconv           php7-iconv
 | 
						|
#     json            php7-json
 | 
						|
#     libxml          php7-xml
 | 
						|
#     dom             php7-dom
 | 
						|
#     openssl         php7-openssl
 | 
						|
#     DateTime        Builtin
 | 
						|
#     PCRE            Builtin
 | 
						|
#     SPL             Builtin
 | 
						|
#  Recommended:
 | 
						|
#     php7-fpm        FastCGI Process Manager
 | 
						|
#  Optional PHP extension (for contacts):
 | 
						|
#     php7-pdo        Accessing databases in PHP
 | 
						|
#     php7-pdo_sqlite Access to SQLite 3 databases
 | 
						|
RUN apk add --no-cache \
 | 
						|
    nginx \
 | 
						|
    php7 php7-fpm php7-curl php7-iconv php7-json php7-xml php7-simplexml php7-dom php7-openssl php7-pdo php7-pdo_sqlite \
 | 
						|
 && rm /etc/nginx/http.d/default.conf \
 | 
						|
 && rm /etc/php7/php-fpm.d/www.conf \
 | 
						|
 && mkdir -p /run/nginx \
 | 
						|
 && mkdir -p /var/www/rainloop \
 | 
						|
 && mkdir -p /config
 | 
						|
 | 
						|
# nginx / PHP config files
 | 
						|
COPY config/nginx-rainloop.conf /config/nginx-rainloop.conf
 | 
						|
COPY config/php-rainloop.conf /etc/php7/php-fpm.d/rainloop.conf
 | 
						|
 | 
						|
# Rainloop login
 | 
						|
COPY login/include.php /var/www/rainloop/include.php
 | 
						|
COPY login/sso.php /var/www/rainloop/sso.php
 | 
						|
 | 
						|
# Parsed en moved at startup
 | 
						|
COPY defaults/php.ini /defaults/php.ini
 | 
						|
COPY defaults/application.ini /defaults/application.ini
 | 
						|
COPY defaults/default.ini /defaults/default.ini
 | 
						|
 | 
						|
# Install Rainloop from source
 | 
						|
ENV RAINLOOP_URL https://github.com/RainLoop/rainloop-webmail/releases/download/v1.16.0/rainloop-community-1.16.0.zip
 | 
						|
 | 
						|
RUN apk add --no-cache \
 | 
						|
      curl unzip \
 | 
						|
 && cd /var/www/rainloop \
 | 
						|
 && curl -L -O ${RAINLOOP_URL} \
 | 
						|
 && unzip -q *.zip \
 | 
						|
 && rm -f *.zip \
 | 
						|
 && rm -rf data/ \
 | 
						|
 && find . -type d -exec chmod 755 {} \; \
 | 
						|
 && find . -type f -exec chmod 644 {} \; \
 | 
						|
 && chown -R nginx:nginx /var/www/rainloop \
 | 
						|
 && apk del unzip
 | 
						|
 | 
						|
COPY start.py /start.py
 | 
						|
COPY config.py /config.py
 | 
						|
 | 
						|
EXPOSE 80/tcp
 | 
						|
VOLUME ["/data"]
 | 
						|
 | 
						|
CMD /start.py
 | 
						|
 | 
						|
HEALTHCHECK CMD curl -f -L http://localhost/ || exit 1
 | 
						|
RUN echo $VERSION >> /version
 |