feat(): add UPLOAD_MAX_SIZE variable

This commit is contained in:
Hardware 2017-08-27 16:31:04 +02:00
parent 33741f7948
commit 87d843564e
No known key found for this signature in database
GPG Key ID: EC6DF6F90263EDEA
9 changed files with 25 additions and 47 deletions

View File

@ -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"]

View File

@ -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

View File

@ -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;

View File

@ -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>

View 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

3
run.sh
View File

@ -1,3 +0,0 @@
#!/bin/sh
chown -R $UID:$GID /rainloop /etc/nginx /etc/php7 /var/log /var/lib/nginx /tmp /etc/s6.d
exec su-exec $UID:$GID /bin/s6-svscan /etc/s6.d