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.
		
		
		
		
		
			
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Docker
		
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Docker
		
	
| # syntax=docker/dockerfile-upstream:1.4.3
 | |
| 
 | |
| #snappymail image
 | |
| FROM base
 | |
| 
 | |
| ARG VERSION
 | |
| LABEL version=$VERSION
 | |
| 
 | |
| RUN set -euxo pipefail \
 | |
|   ; apk add --no-cache \
 | |
|     nginx curl \
 | |
|     php81 php81-fpm php81-mbstring php81-zip php81-xml php81-simplexml \
 | |
|     php81-dom php81-curl php81-exif gd php81-gd php81-iconv php81-intl php81-openssl \
 | |
|     php81-pdo_sqlite php81-pdo php81-sodium libsodium php81-tidy php81-pecl-uuid \
 | |
|   ; ln -s /usr/bin/php81 /usr/bin/php \
 | |
|   ; rm /etc/nginx/http.d/default.conf \
 | |
|   ; rm /etc/php81/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/
 | |
| COPY config/php-snappymail.conf /etc/php81/php-fpm.d/snappymail.conf
 | |
| 
 | |
| # Parsed and moved at startup
 | |
| COPY defaults/php.ini /defaults/
 | |
| COPY defaults/application.ini /defaults/
 | |
| COPY defaults/default.ini /defaults/
 | |
| 
 | |
| # Install Snappymail from source
 | |
| ENV SNAPPYMAIL_URL https://github.com/the-djmaze/snappymail/releases/download/v2.19.4/snappymail-2.19.4.tar.gz
 | |
| # Note. This is the last working snappymail version. 2.19.6 up to 2.20.6 do not work.
 | |
| 
 | |
| RUN set -euxo pipefail \
 | |
|   ; cd /var/www/webmail \
 | |
|   ; curl -sL  ${SNAPPYMAIL_URL} | tar xz \
 | |
|   ; 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/
 | |
| COPY login/sso.php /var/www/webmail/
 | |
| 
 | |
| COPY start.py /
 | |
| COPY config.py /
 | |
| 
 | |
| EXPOSE 80/tcp
 | |
| VOLUME ["/data"]
 | |
| 
 | |
| CMD /start.py
 | |
| 
 | |
| HEALTHCHECK CMD curl -f -L http://localhost/ping || exit 1
 | |
| RUN echo $VERSION >> /version
 |