feat(): add UPLOAD_MAX_SIZE variable
This commit is contained in:
		
							
								
								
									
										15
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								Dockerfile
									
									
									
									
									
								
							| @@ -5,7 +5,7 @@ LABEL description "Rainloop is a simple, modern & fast web-based client" \ | ||||
|  | ||||
| ARG GPG_FINGERPRINT="3B79 7ECE 694F 3B7B 70F3  11A4 ED7C 49D9 87DA 4591" | ||||
|  | ||||
| ENV UID=991 GID=991 | ||||
| ENV UID=991 GID=991 UPLOAD_MAX_SIZE=25M | ||||
|  | ||||
| RUN echo "@community https://nl.alpinelinux.org/alpine/v3.6/community" >> /etc/apk/repositories \ | ||||
|  && apk -U upgrade \ | ||||
| @@ -35,28 +35,19 @@ RUN echo "@community https://nl.alpinelinux.org/alpine/v3.6/community" >> /etc/a | ||||
|  && wget -q https://www.rainloop.net/repository/webmail/rainloop-community-latest.zip \ | ||||
|  && wget -q https://www.rainloop.net/repository/webmail/rainloop-community-latest.zip.asc \ | ||||
|  && wget -q https://www.rainloop.net/repository/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_FINGERPRINT}" ]; 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 build-dependencies \ | ||||
|  && rm -rf /tmp/* /var/cache/apk/* /root/.gnupg | ||||
|  | ||||
| COPY nginx.conf /etc/nginx/nginx.conf | ||||
| COPY php-fpm.conf /etc/php7/php-fpm.conf | ||||
| COPY s6.d /etc/s6.d | ||||
| COPY run.sh /usr/local/bin/run.sh | ||||
|  | ||||
| RUN chmod +x /usr/local/bin/run.sh /etc/s6.d/*/* /etc/s6.d/.s6-svscan/* | ||||
|  | ||||
| COPY rootfs / | ||||
| RUN chmod +x /usr/local/bin/run.sh /services/*/run /services/.s6-svscan/* | ||||
| VOLUME /rainloop/data | ||||
|  | ||||
| EXPOSE 8888 | ||||
|  | ||||
| CMD ["run.sh"] | ||||
|   | ||||
							
								
								
									
										38
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								README.md
									
									
									
									
									
								
							| @@ -28,43 +28,23 @@ Rainloop is a simple, modern & fast web-based client. More details on the [offic | ||||
| | -------- | ----------- | ---- | ------------- | | ||||
| | **UID** | rainloop user id | *optional* | 991 | ||||
| | **GID** | rainloop group id | *optional* | 991 | ||||
| | **UPLOAD_MAX_SIZE** | Attachment size limit | *optional* | 25M | ||||
|  | ||||
| ### Reverse proxy example with nginx | ||||
| ### Docker-compose.yml | ||||
|  | ||||
| https://github.com/hardware/mailserver/wiki/Reverse-proxy-configuration | ||||
| ```yml | ||||
| # Full example : | ||||
| # https://github.com/hardware/mailserver/blob/master/docker-compose.sample.yml | ||||
|  | ||||
| ### Initial configuration | ||||
|  | ||||
| https://github.com/hardware/mailserver/wiki/Rainloop-initial-configuration | ||||
|  | ||||
| ### Docker-compose | ||||
|  | ||||
| #### Docker-compose.yml | ||||
| ``` | ||||
| rainloop: | ||||
|   image: hardware/rainloop | ||||
|   container_name: rainloop | ||||
|   links: | ||||
|     - mariadb:mariadb | ||||
|   volumes: | ||||
|     - /mnt/docker/rainloop:/rainloop/data | ||||
|  | ||||
| # if using mariadb as contacts database : | ||||
|  | ||||
| mariadb: | ||||
|   image: mariadb:10.1 | ||||
|   container_name: mariadb | ||||
|   volumes: | ||||
|     - /mnt/docker/mysql/db:/var/lib/mysql | ||||
|   environment: | ||||
|     - MYSQL_ROOT_PASSWORD=xxxxxxx | ||||
|     - MYSQL_DATABASE=rainloop | ||||
|     - MYSQL_USER=rainloop | ||||
|     - MYSQL_PASSWORD=xxxxxxx | ||||
|   depends_on: | ||||
|     - mailserver | ||||
| ``` | ||||
|  | ||||
| #### Run ! | ||||
| #### How to setup | ||||
|  | ||||
| ``` | ||||
| docker-compose up -d | ||||
| ``` | ||||
| https://github.com/hardware/mailserver/wiki/Rainloop-initial-configuration | ||||
|   | ||||
| @@ -56,7 +56,7 @@ http { | ||||
|     root /rainloop; | ||||
|     index index.php; | ||||
|     charset utf-8; | ||||
|     client_max_body_size 50M; | ||||
|     client_max_body_size <UPLOAD_MAX_SIZE>; | ||||
| 
 | ||||
|     location ^~ /data { | ||||
|       deny all; | ||||
| @@ -10,5 +10,5 @@ pm.min_spare_servers = 1 | ||||
| pm.max_spare_servers = 3 | ||||
| chdir = / | ||||
| php_admin_value[expose_php] = Off | ||||
| php_admin_value[post_max_size] = 50M | ||||
| php_admin_value[upload_max_filesize] = 50M | ||||
| php_admin_value[post_max_size] = <UPLOAD_MAX_SIZE> | ||||
| php_admin_value[upload_max_filesize] = <UPLOAD_MAX_SIZE> | ||||
							
								
								
									
										10
									
								
								rootfs/usr/local/bin/run.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								rootfs/usr/local/bin/run.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| # Set attachment size limit | ||||
| sed -i "s/<UPLOAD_MAX_SIZE>/$UPLOAD_MAX_SIZE/g" /etc/php7/php-fpm.conf /etc/nginx/nginx.conf | ||||
|  | ||||
| # Fix permissions | ||||
| chown -R $UID:$GID /rainloop /services /var/log /var/lib/nginx | ||||
|  | ||||
| # RUN ! | ||||
| exec su-exec $UID:$GID /bin/s6-svscan /services | ||||
		Reference in New Issue
	
	Block a user
	 Hardware
					Hardware