refactor(): image enhancements
This commit is contained in:
		
							
								
								
									
										52
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										52
									
								
								Dockerfile
									
									
									
									
									
								
							| @@ -2,36 +2,47 @@ FROM alpine:3.3 | ||||
| MAINTAINER Wonderfall <wonderfall@mondedie.fr> | ||||
| MAINTAINER Hardware <contact@meshup.net> | ||||
|  | ||||
| ARG GPG_rainloop="3B79 7ECE 694F 3B7B 70F3  11A4 ED7C 49D9 87DA 4591" | ||||
|  | ||||
| ENV GID=991 UID=991 | ||||
|  | ||||
| RUN echo "@commuedge http://nl.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories \ | ||||
|  && echo "@testing http://nl.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \ | ||||
|  && apk -U add \ | ||||
|     nginx \ | ||||
|     php-fpm \ | ||||
|     php-curl \ | ||||
|     php-iconv \ | ||||
|     php-xml \ | ||||
|     php-dom \ | ||||
|     php-openssl \ | ||||
|     php-json \ | ||||
|     php-zlib \ | ||||
|     php-pdo_mysql \ | ||||
|     php-pdo_sqlite \ | ||||
|     php-sqlite3 \ | ||||
|     supervisor \ | ||||
|     gnupg \ | ||||
|     nginx \ | ||||
|     supervisor \ | ||||
|     tini@commuedge \ | ||||
|  && wget -q http://repository.rainloop.net/v2/webmail/rainloop-community-latest.zip -P /tmp \ | ||||
|  && wget -q http://repository.rainloop.net/v2/webmail/rainloop-community-latest.zip.asc -P /tmp \ | ||||
|  && wget -q http://repository.rainloop.net/RainLoop.asc -P /tmp \ | ||||
|  && gpg --import /tmp/RainLoop.asc \ | ||||
|  && gpg --verify /tmp/rainloop-community-latest.zip.asc \ | ||||
|     php7-fpm@testing \ | ||||
|     php7-curl@testing \ | ||||
|     php7-iconv@testing \ | ||||
|     php7-xml@testing \ | ||||
|     php7-dom@testing \ | ||||
|     php7-openssl@testing \ | ||||
|     php7-json@testing \ | ||||
|     php7-zlib@testing \ | ||||
|     php7-pdo_mysql@testing \ | ||||
|     php7-pdo_sqlite@testing \ | ||||
|     php7-sqlite3@testing \ | ||||
|  && cd /tmp \ | ||||
|  && wget -q http://repository.rainloop.net/v2/webmail/rainloop-community-latest.zip \ | ||||
|  && wget -q http://repository.rainloop.net/v2/webmail/rainloop-community-latest.zip.asc \ | ||||
|  && wget -q http://repository.rainloop.net/RainLoop.asc \ | ||||
|  && echo "Verifying authenticity of rainloop-community-latest.zip using GPG..." \ | ||||
|  && gpg --import RainLoop.asc \ | ||||
|  && FINGERPRINT="$(LANG=C gpg --verify rainloop-community-latest.zip.asc rainloop-community-latest.zip 2>&1 \ | ||||
|   | sed -n "s#Primary key fingerprint: \(.*\)#\1#p")" \ | ||||
|  && if [ -z "${FINGERPRINT}" ]; then echo "Warning! Invalid GPG signature!" && exit 1; fi \ | ||||
|  && if [ "${FINGERPRINT}" != "${GPG_rainloop}" ]; then echo "Warning! Wrong GPG fingerprint!" && exit 1; fi \ | ||||
|  && echo "All seems good, now unzipping rainloop-community-latest.zip..." \ | ||||
|  && mkdir /rainloop && unzip -q /tmp/rainloop-community-latest.zip -d /rainloop \ | ||||
|  && find /rainloop -type d -exec chmod 755 {} \; \ | ||||
|  && find /rainloop -type f -exec chmod 644 {} \; \ | ||||
|  && apk del gnupg \ | ||||
|  && rm -rf /tmp/* /var/cache/apk/* | ||||
|  | ||||
| COPY nginx.conf /etc/nginx/nginx.conf | ||||
| COPY php-fpm.conf /etc/php/php-fpm.conf | ||||
| COPY php-fpm.conf /etc/php7/php-fpm.conf | ||||
| COPY supervisord.conf /etc/supervisor/supervisord.conf | ||||
| COPY startup /usr/local/bin/startup | ||||
|  | ||||
| @@ -39,5 +50,4 @@ RUN chmod +x /usr/local/bin/startup | ||||
|  | ||||
| VOLUME /rainloop/data | ||||
| EXPOSE 80 | ||||
| LABEL description "Fast, simple and modern webmail client" | ||||
| CMD ["tini","--","startup"] | ||||
| CMD ["/sbin/tini","--","startup"] | ||||
							
								
								
									
										31
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								README.md
									
									
									
									
									
								
							| @@ -2,17 +2,11 @@ | ||||
|  | ||||
|  | ||||
|  | ||||
| Rainloop is a SIMPLE, MODERN & FAST WEB-BASED EMAIL CLIENT. More details on the [official website](http://www.rainloop.net/). | ||||
|  | ||||
| ### Requirement | ||||
|  | ||||
| - Docker 1.0 or higher | ||||
| - MySQL (Optional, for contacts database) | ||||
| Rainloop is a simple, modern & fast web-based client. More details on the [official website](http://www.rainloop.net/). | ||||
|  | ||||
| ### Features | ||||
| - Based on Alpine 3.3 | ||||
| - Latest Rainloop **Community Edition** (stable) | ||||
| - Extremely lightweight | ||||
| - Contacts (DB) : sqlite, or mysql (server not built-in) | ||||
|  | ||||
| ### How to use | ||||
| @@ -25,6 +19,18 @@ docker run -d \ | ||||
|   hardware/rainloop | ||||
| ``` | ||||
|  | ||||
| ### Reverse proxy example with nginx | ||||
|  | ||||
| https://github.com/hardware/mailserver/wiki/Reverse-proxy-configuration | ||||
|  | ||||
| ### Initial configuration | ||||
|  | ||||
| https://github.com/hardware/mailserver/wiki/Rainloop-initial-configuration | ||||
|  | ||||
| #### Build-time variables | ||||
|  | ||||
| - **GPG_rainloop** : fingerprint of signing key | ||||
|  | ||||
| ### Environment variables | ||||
|  | ||||
| - **UID** : rainloop user id (*optional*, default: 991) | ||||
| @@ -39,9 +45,6 @@ rainloop: | ||||
|   container_name: rainloop | ||||
|   links: | ||||
|     - mariadb:mariadb | ||||
|   environment: | ||||
|     - GID=991 | ||||
|     - UID=991 | ||||
|   volumes: | ||||
|     - /mnt/docker/rainloop:/rainloop/data | ||||
|  | ||||
| @@ -64,11 +67,3 @@ mariadb: | ||||
| ``` | ||||
| docker-compose up -d | ||||
| ``` | ||||
|  | ||||
| ### Reverse proxy example with nginx | ||||
|  | ||||
| https://github.com/hardware/mailserver/wiki/Reverse-proxy-configuration | ||||
|  | ||||
| ### Initial configuration | ||||
|  | ||||
| https://github.com/hardware/mailserver/wiki/Rainloop-initial-configuration | ||||
|   | ||||
| @@ -4,8 +4,8 @@ pid /var/run/nginx.pid; | ||||
| daemon off; | ||||
|  | ||||
| events { | ||||
|     worker_connections 1024; | ||||
|     use epoll; | ||||
|   worker_connections 1024; | ||||
|   use epoll; | ||||
| } | ||||
|  | ||||
| http { | ||||
|   | ||||
							
								
								
									
										2
									
								
								startup
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								startup
									
									
									
									
									
								
							| @@ -5,8 +5,6 @@ addgroup -g ${GID} rainloop && adduser -h /rainloop -s /bin/sh -D -G rainloop -u | ||||
|  | ||||
| # Set permissions | ||||
| chown -R rainloop:rainloop /rainloop /var/run/php-fpm.sock /var/lib/nginx /tmp | ||||
| find /rainloop -type d -exec chmod 755 {} \; | ||||
| find /rainloop -type f -exec chmod 644 {} \; | ||||
|  | ||||
| # RUN ! | ||||
| supervisord -c /etc/supervisor/supervisord.conf | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| nodaemon=true | ||||
|  | ||||
| [program:php-fpm] | ||||
| command=php-fpm | ||||
| command=php-fpm7 | ||||
|  | ||||
| [program:nginx] | ||||
| command=nginx | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Hardware
					Hardware