feat(): add UPLOAD_MAX_SIZE variable
This commit is contained in:
parent
33741f7948
commit
87d843564e
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
|
Loading…
x
Reference in New Issue
Block a user