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" | 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 \ | RUN echo "@community https://nl.alpinelinux.org/alpine/v3.6/community" >> /etc/apk/repositories \ | ||||||
|  && apk -U upgrade \ |  && 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 \ | ||||||
|  && wget -q https://www.rainloop.net/repository/webmail/rainloop-community-latest.zip.asc \ |  && wget -q https://www.rainloop.net/repository/webmail/rainloop-community-latest.zip.asc \ | ||||||
|  && wget -q https://www.rainloop.net/repository/RainLoop.asc \ |  && wget -q https://www.rainloop.net/repository/RainLoop.asc \ | ||||||
|  && echo "Verifying authenticity of rainloop-community-latest.zip using GPG..." \ |  | ||||||
|  && gpg --import RainLoop.asc \ |  && gpg --import RainLoop.asc \ | ||||||
|  && FINGERPRINT="$(LANG=C gpg --verify rainloop-community-latest.zip.asc rainloop-community-latest.zip 2>&1 \ |  && FINGERPRINT="$(LANG=C gpg --verify rainloop-community-latest.zip.asc rainloop-community-latest.zip 2>&1 \ | ||||||
|   | sed -n "s#Primary key fingerprint: \(.*\)#\1#p")" \ |   | sed -n "s#Primary key fingerprint: \(.*\)#\1#p")" \ | ||||||
|  && if [ -z "${FINGERPRINT}" ]; then echo "Warning! Invalid GPG signature!" && exit 1; fi \ |  && 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 \ |  && 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 \ |  && mkdir /rainloop && unzip -q /tmp/rainloop-community-latest.zip -d /rainloop \ | ||||||
|  && find /rainloop -type d -exec chmod 755 {} \; \ |  && find /rainloop -type d -exec chmod 755 {} \; \ | ||||||
|  && find /rainloop -type f -exec chmod 644 {} \; \ |  && find /rainloop -type f -exec chmod 644 {} \; \ | ||||||
|  && apk del build-dependencies \ |  && apk del build-dependencies \ | ||||||
|  && rm -rf /tmp/* /var/cache/apk/* /root/.gnupg |  && rm -rf /tmp/* /var/cache/apk/* /root/.gnupg | ||||||
|  |  | ||||||
| COPY nginx.conf /etc/nginx/nginx.conf | COPY rootfs / | ||||||
| COPY php-fpm.conf /etc/php7/php-fpm.conf | RUN chmod +x /usr/local/bin/run.sh /services/*/run /services/.s6-svscan/* | ||||||
| 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/* |  | ||||||
|  |  | ||||||
| VOLUME /rainloop/data | VOLUME /rainloop/data | ||||||
|  |  | ||||||
| EXPOSE 8888 | EXPOSE 8888 | ||||||
|  |  | ||||||
| CMD ["run.sh"] | 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 | | **UID** | rainloop user id | *optional* | 991 | ||||||
| | **GID** | rainloop group 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: | rainloop: | ||||||
|   image: hardware/rainloop |   image: hardware/rainloop | ||||||
|   container_name: rainloop |   container_name: rainloop | ||||||
|   links: |  | ||||||
|     - mariadb:mariadb |  | ||||||
|   volumes: |   volumes: | ||||||
|     - /mnt/docker/rainloop:/rainloop/data |     - /mnt/docker/rainloop:/rainloop/data | ||||||
|  |   depends_on: | ||||||
| # if using mariadb as contacts database : |     - mailserver | ||||||
|  |  | ||||||
| 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 |  | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
| #### Run ! | #### How to setup | ||||||
|  |  | ||||||
| ``` | https://github.com/hardware/mailserver/wiki/Rainloop-initial-configuration | ||||||
| docker-compose up -d |  | ||||||
| ``` |  | ||||||
|   | |||||||
| @@ -56,7 +56,7 @@ http { | |||||||
|     root /rainloop; |     root /rainloop; | ||||||
|     index index.php; |     index index.php; | ||||||
|     charset utf-8; |     charset utf-8; | ||||||
|     client_max_body_size 50M; |     client_max_body_size <UPLOAD_MAX_SIZE>; | ||||||
| 
 | 
 | ||||||
|     location ^~ /data { |     location ^~ /data { | ||||||
|       deny all; |       deny all; | ||||||
| @@ -10,5 +10,5 @@ pm.min_spare_servers = 1 | |||||||
| pm.max_spare_servers = 3 | pm.max_spare_servers = 3 | ||||||
| chdir = / | chdir = / | ||||||
| php_admin_value[expose_php] = Off | php_admin_value[expose_php] = Off | ||||||
| php_admin_value[post_max_size] = 50M | php_admin_value[post_max_size] = <UPLOAD_MAX_SIZE> | ||||||
| php_admin_value[upload_max_filesize] = 50M | 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