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.
		
		
		
		
		
			
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Docker
		
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.9 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 snappymail and roundloop
 | |
| RUN apk add --no-cache \
 | |
|     python3 py3-pip tzdata \
 | |
|  && pip3 install socrate==0.2.0
 | |
| 
 | |
| #  https://github.com/the-djmaze/snappymail/wiki/Installation-instructions#requirements
 | |
| #  SnappyMail:
 | |
| # SnappyMail requires PHP 7.4 (or a newer version) with the following extensions:
 | |
| #
 | |
| #     mbstring          php7-mbstring
 | |
| #     Zlib              built-in OR php7-zip????
 | |
| #     json              php7-json
 | |
| #     libxml            php7-xml
 | |
| #     dom               php7-dom
 | |
| 
 | |
| # Optional extensions:
 | |
| 
 | |
| #     cURL              php7-curl
 | |
| #     exif              php7-exif
 | |
| #     gd, gmagick or imagemagick gd and php7-gd
 | |
| #     gnupg              gpgme and alpine has no php7-gnupg library :(
 | |
| #     iconv             php7-iconv
 | |
| #     intl              php7-intl
 | |
| #     ldap              we don't use ldap
 | |
| #     openssl           php7-openssl
 | |
| #     PDO (MySQL/PostgreSQL/SQLite) (for contacts) php7-pdo_sqlite and php7-pdo
 | |
| #     redis             NOT USED
 | |
| #     Sodium            php7-sodium and libsodium
 | |
| #     Tidy              php7-tidy
 | |
| #     uuid (PECL)       php7-pecl-uuid
 | |
| #     xxtea (PECL)      not found on alpine repo
 | |
| #     zip               php7-zip
 | |
| #php7-curl php7-iconv php7-json php7-xml php7-simplexml php7-dom php7-openssl php7-pdo php7-pdo_sqlite php7-mbstring \
 | |
| RUN apk add --no-cache \
 | |
|     nginx curl \
 | |
|     php7 php7-fpm php7-mbstring php7-zip php7-json php7-xml php7-simplexml \
 | |
|     php7-dom php7-curl php7-exif gd php7-gd php7-iconv php7-intl php7-openssl \
 | |
|     php7-pdo_sqlite php7-pdo php7-sodium libsodium php7-tidy php7-pecl-uuid \
 | |
|  && rm /etc/nginx/http.d/default.conf \
 | |
|  && rm /etc/php7/php-fpm.d/www.conf \
 | |
|  && mkdir -p /run/nginx \
 | |
|  && mkdir -p /var/www/webmail \
 | |
|  && mkdir -p /config
 | |
| 
 | |
| # nginx / PHP config files
 | |
| COPY config/nginx-snappymail.conf /config/nginx-snappymail.conf
 | |
| COPY config/php-snappymail.conf /etc/php7/php-fpm.d/snappymail.conf
 | |
| 
 | |
| # Parsed and 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 Snappymail from source
 | |
| ENV SNAPPYMAIL_URL https://github.com/the-djmaze/snappymail/releases/download/v2.13.4/snappymail-2.13.4.zip
 | |
| 
 | |
| RUN cd /var/www/webmail \
 | |
|  && busybox wget ${SNAPPYMAIL_URL} -O - | busybox unzip - \
 | |
|  && chmod -R u+w,a+rX /var/www/webmail \
 | |
|  && chown -R nginx:nginx /var/www/webmail
 | |
| 
 | |
| # SnappyMail login
 | |
| COPY login/include.php /var/www/webmail/include.php
 | |
| COPY login/sso.php /var/www/webmail/sso.php
 | |
| 
 | |
| 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/ping || exit 1
 | |
| RUN echo $VERSION >> /version
 |