From 5ff3faa9b31142780e6392534321eead4d197f65 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Mon, 1 Aug 2016 23:53:46 +0000 Subject: [PATCH 01/31] Upgrade Roundcube 1.1.2 to 1.2.1 --- README.md | 2 +- roundcube/Dockerfile | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 3f560ff..e74d488 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ roundcube-docker ================ -Installs roundcube 1.1.1 inside a docker container. +Installs roundcube 1.2.1 inside a docker container. The installation may be used on your server, but also as a standalone IMAP client (if you skip the step 1. below). diff --git a/roundcube/Dockerfile b/roundcube/Dockerfile index c792aba..fb35593 100644 --- a/roundcube/Dockerfile +++ b/roundcube/Dockerfile @@ -5,15 +5,15 @@ MAINTAINER Round Cube RUN apt-get -y update && apt-get -y upgrade RUN apt-get install -y --no-install-recommends \ - nginx php5-fpm nano wget sqlite3 procps \ + ca-certificates nginx php5-fpm nano wget sqlite3 procps \ php5-mcrypt php5-intl php5-sqlite php-pear \ php-net-smtp php-mail-mime WORKDIR /root # when roundcube grows older, change version in the download link, but also in the 'mv' command RUN \ - wget http://downloads.sourceforge.net/project/roundcubemail/roundcubemail/1.1.2/roundcubemail-1.1.2.tar.gz -O - | tar xz ;\ + wget https://github.com/roundcube/roundcubemail/releases/download/1.2.1/roundcubemail-1.2.1-complete.tar.gz -O - | tar xz ;\ rm -fr /usr/share/nginx/www ;\ - mv /root/roundcubemail-1.1.2 /usr/share/nginx/www ;\ + mv /root/roundcubemail-1.2.1 /usr/share/nginx/www ;\ rm -fr /usr/share/nginx/www/installer ;\ mkdir -p /rc ADD config.inc.php /usr/share/nginx/www/config/ From 7849ab6a38e5a4bd2fb0d9bb1ddb0cf0a7b4c40e Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Tue, 2 Aug 2016 00:44:39 +0000 Subject: [PATCH 02/31] Upgrade php 5.x -> 7.0 --- roundcube/Dockerfile | 6 +++--- roundcube/default | 2 +- roundcube/launch.sh | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/roundcube/Dockerfile b/roundcube/Dockerfile index fb35593..05c39ff 100644 --- a/roundcube/Dockerfile +++ b/roundcube/Dockerfile @@ -1,12 +1,12 @@ -FROM debian:stable +FROM debian:testing ENV DEBIAN_FRONTEND noninteractive ENV TERM xterm MAINTAINER Round Cube RUN apt-get -y update && apt-get -y upgrade RUN apt-get install -y --no-install-recommends \ - ca-certificates nginx php5-fpm nano wget sqlite3 procps \ - php5-mcrypt php5-intl php5-sqlite php-pear \ + ca-certificates nginx php7.0-fpm nano wget sqlite3 procps \ + php7.0-mcrypt php7.0-intl php7.0-sqlite3 php-pear \ php-net-smtp php-mail-mime WORKDIR /root # when roundcube grows older, change version in the download link, but also in the 'mv' command diff --git a/roundcube/default b/roundcube/default index f070592..207df78 100644 --- a/roundcube/default +++ b/roundcube/default @@ -8,7 +8,7 @@ server { location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; - fastcgi_pass unix:/var/run/php5-fpm.sock; + fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; diff --git a/roundcube/launch.sh b/roundcube/launch.sh index 7be55dc..75348a2 100644 --- a/roundcube/launch.sh +++ b/roundcube/launch.sh @@ -9,7 +9,7 @@ mkdir -p /rc/tmp chown -R www-data:www-data /rc service nginx start -service php5-fpm start +service php7.0-fpm start tail -F /var/log/nginx/access.log From 168d78f6439e06a72ceb107125be4a8ca697e49f Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Mon, 16 Oct 2017 16:27:07 +0000 Subject: [PATCH 03/31] add --restart, repo thinred -> mabushey --- start.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/start.sh b/start.sh index dd43f4a..804454b 100755 --- a/start.sh +++ b/start.sh @@ -27,7 +27,7 @@ if [ "$?" -ne 0 ] ; then fi # 1. Create image with roundcube -sudo $DOCKER build -t thinred/roundcube ./roundcube +sudo $DOCKER build -t mabushey/roundcube ./roundcube # 2. Start it and attach rc-data volumes -sudo $DOCKER run -p ${LISTEN}:${PORT}:80 --volumes-from roundcube-data -d --name roundcube thinred/roundcube +$DOCKER run --restart unless-stopped -p ${LISTEN}:${PORT}:80 --volumes-from roundcube-data -d --name roundcube mabushey/roundcube From 875999dea8af7243f0bb935b38955c3e9f045478 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Mon, 16 Oct 2017 17:27:45 +0000 Subject: [PATCH 04/31] Dockerfile: Fix maintainer, remove nano --- roundcube/Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/roundcube/Dockerfile b/roundcube/Dockerfile index 05c39ff..1cb3394 100644 --- a/roundcube/Dockerfile +++ b/roundcube/Dockerfile @@ -1,13 +1,13 @@ FROM debian:testing ENV DEBIAN_FRONTEND noninteractive ENV TERM xterm -MAINTAINER Round Cube +MAINTAINER MAINTAINER Michael Bushey RUN apt-get -y update && apt-get -y upgrade RUN apt-get install -y --no-install-recommends \ - ca-certificates nginx php7.0-fpm nano wget sqlite3 procps \ - php7.0-mcrypt php7.0-intl php7.0-sqlite3 php-pear \ - php-net-smtp php-mail-mime + ca-certificates nginx wget sqlite3 procps \ + php7.0-fpm php7.0-mcrypt php7.0-intl php7.0-sqlite3 \ + php-pear php-net-smtp php-mail-mime WORKDIR /root # when roundcube grows older, change version in the download link, but also in the 'mv' command RUN \ From 92c1f4f7b32f026bc2a5e82ee33eb51fe8d54202 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Mon, 16 Oct 2017 17:44:38 +0000 Subject: [PATCH 05/31] Dockerfile: Clean up versioning, RC 1.2.1 -> 1.3.1 --- roundcube/Dockerfile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/roundcube/Dockerfile b/roundcube/Dockerfile index 1cb3394..a5e85fd 100644 --- a/roundcube/Dockerfile +++ b/roundcube/Dockerfile @@ -9,12 +9,12 @@ RUN apt-get install -y --no-install-recommends \ php7.0-fpm php7.0-mcrypt php7.0-intl php7.0-sqlite3 \ php-pear php-net-smtp php-mail-mime WORKDIR /root -# when roundcube grows older, change version in the download link, but also in the 'mv' command -RUN \ - wget https://github.com/roundcube/roundcubemail/releases/download/1.2.1/roundcubemail-1.2.1-complete.tar.gz -O - | tar xz ;\ - rm -fr /usr/share/nginx/www ;\ - mv /root/roundcubemail-1.2.1 /usr/share/nginx/www ;\ - rm -fr /usr/share/nginx/www/installer ;\ + +ARG RC_VER=1.3.1 +RUN rm -fr /usr/share/nginx/www &&\ + wget https://github.com/roundcube/roundcubemail/releases/download/${RC_VER}/roundcubemail-${RC_VER}-complete.tar.gz -O - | tar xz &&\ + mv /root/roundcubemail-${RC_VER} /usr/share/nginx/www &&\ + rm -fr /usr/share/nginx/www/installer &&\ mkdir -p /rc ADD config.inc.php /usr/share/nginx/www/config/ ADD default /etc/nginx/sites-enabled/default From 635a560e21cee78b9b5242ca334a6b544b3b06a2 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Mon, 16 Oct 2017 18:20:35 +0000 Subject: [PATCH 06/31] upgrade php 7.0 -> 7.1 via sury.org repo --- roundcube/Dockerfile | 16 +++++++++++----- roundcube/default | 2 +- roundcube/launch.sh | 2 +- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/roundcube/Dockerfile b/roundcube/Dockerfile index a5e85fd..7adcb03 100644 --- a/roundcube/Dockerfile +++ b/roundcube/Dockerfile @@ -3,13 +3,19 @@ ENV DEBIAN_FRONTEND noninteractive ENV TERM xterm MAINTAINER MAINTAINER Michael Bushey -RUN apt-get -y update && apt-get -y upgrade -RUN apt-get install -y --no-install-recommends \ - ca-certificates nginx wget sqlite3 procps \ - php7.0-fpm php7.0-mcrypt php7.0-intl php7.0-sqlite3 \ +RUN apt-get -y update &&\ + apt-get -y upgrade &&\ + apt-get install -y --no-install-recommends \ + apt-transport-https ca-certificates \ + nginx wget sqlite3 procps &&\ + wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg &&\ + sh -c 'echo "deb https://packages.sury.org/php/ stretch main" > /etc/apt/sources.list.d/php.list' &&\ + apt-get -y update &&\ + apt-get install -y --no-install-recommends \ + php7.1-fpm php7.1-mcrypt php7.1-intl php7.1-sqlite3 \ php-pear php-net-smtp php-mail-mime -WORKDIR /root +WORKDIR /root ARG RC_VER=1.3.1 RUN rm -fr /usr/share/nginx/www &&\ wget https://github.com/roundcube/roundcubemail/releases/download/${RC_VER}/roundcubemail-${RC_VER}-complete.tar.gz -O - | tar xz &&\ diff --git a/roundcube/default b/roundcube/default index 207df78..22cfde3 100644 --- a/roundcube/default +++ b/roundcube/default @@ -8,7 +8,7 @@ server { location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; - fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; + fastcgi_pass unix:/var/run/php/php7.1-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; diff --git a/roundcube/launch.sh b/roundcube/launch.sh index 75348a2..48e34bd 100644 --- a/roundcube/launch.sh +++ b/roundcube/launch.sh @@ -9,7 +9,7 @@ mkdir -p /rc/tmp chown -R www-data:www-data /rc service nginx start -service php7.0-fpm start +service php7.1-fpm start tail -F /var/log/nginx/access.log From 14fb4e1ae5b608685b76deae2312e31d80e29346 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Mon, 16 Oct 2017 18:21:44 +0000 Subject: [PATCH 07/31] README.md: Update version --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e74d488..2632bb8 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ roundcube-docker ================ -Installs roundcube 1.2.1 inside a docker container. +Installs roundcube 1.3.1 inside a docker container. The installation may be used on your server, but also as a standalone IMAP client (if you skip the step 1. below). From d846abb79887c4c0c8d4386a48a6c7ea1c841f31 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Thu, 9 Nov 2017 02:01:21 +0000 Subject: [PATCH 08/31] Dockerfile: MAINTAINER is deprecated, using LABEL --- roundcube/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roundcube/Dockerfile b/roundcube/Dockerfile index 7adcb03..f6adc65 100644 --- a/roundcube/Dockerfile +++ b/roundcube/Dockerfile @@ -1,7 +1,7 @@ FROM debian:testing ENV DEBIAN_FRONTEND noninteractive ENV TERM xterm -MAINTAINER MAINTAINER Michael Bushey +LABEL maintainer="Michael Bushey " RUN apt-get -y update &&\ apt-get -y upgrade &&\ From e0378a4995c26a548867673ec47ca28c99239478 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Wed, 22 Aug 2018 22:32:10 +0000 Subject: [PATCH 09/31] Roundcube 1.3.1 -> 1.3.7 --- README.md | 2 +- roundcube/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2632bb8..c1c945a 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ roundcube-docker ================ -Installs roundcube 1.3.1 inside a docker container. +Installs roundcube 1.3.7 inside a docker container. The installation may be used on your server, but also as a standalone IMAP client (if you skip the step 1. below). diff --git a/roundcube/Dockerfile b/roundcube/Dockerfile index f6adc65..e38cfe1 100644 --- a/roundcube/Dockerfile +++ b/roundcube/Dockerfile @@ -16,7 +16,7 @@ RUN apt-get -y update &&\ php-pear php-net-smtp php-mail-mime WORKDIR /root -ARG RC_VER=1.3.1 +ARG RC_VER=1.3.7 RUN rm -fr /usr/share/nginx/www &&\ wget https://github.com/roundcube/roundcubemail/releases/download/${RC_VER}/roundcubemail-${RC_VER}-complete.tar.gz -O - | tar xz &&\ mv /root/roundcubemail-${RC_VER} /usr/share/nginx/www &&\ From ccf2b07248da2db607004cbbdaf5719acb011793 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Mon, 1 Oct 2018 21:04:15 +0000 Subject: [PATCH 10/31] deabian testing -> ubuntu 18.04, php 7.1 -> 7.2 --- roundcube/Dockerfile | 19 +++++++------------ roundcube/default | 2 +- roundcube/launch.sh | 2 +- 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/roundcube/Dockerfile b/roundcube/Dockerfile index e38cfe1..e0163a3 100644 --- a/roundcube/Dockerfile +++ b/roundcube/Dockerfile @@ -1,19 +1,14 @@ -FROM debian:testing -ENV DEBIAN_FRONTEND noninteractive -ENV TERM xterm +FROM ubuntu:18.04 LABEL maintainer="Michael Bushey " -RUN apt-get -y update &&\ +RUN sed -i 's/# \(.*multiverse$\)/\1/g' /etc/apt/sources.list &&\ + apt-get update &&\ apt-get -y upgrade &&\ apt-get install -y --no-install-recommends \ - apt-transport-https ca-certificates \ - nginx wget sqlite3 procps &&\ - wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg &&\ - sh -c 'echo "deb https://packages.sury.org/php/ stretch main" > /etc/apt/sources.list.d/php.list' &&\ - apt-get -y update &&\ - apt-get install -y --no-install-recommends \ - php7.1-fpm php7.1-mcrypt php7.1-intl php7.1-sqlite3 \ - php-pear php-net-smtp php-mail-mime + apt-transport-https ca-certificates nginx wget sqlite3 procps \ + php7.2-fpm php7.2-intl php7.2-sqlite3 \ + php-pear php-net-smtp php-mail-mime &&\ + rm -rf /var/lib/apt/lists/* WORKDIR /root ARG RC_VER=1.3.7 diff --git a/roundcube/default b/roundcube/default index 22cfde3..183e718 100644 --- a/roundcube/default +++ b/roundcube/default @@ -8,7 +8,7 @@ server { location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; - fastcgi_pass unix:/var/run/php/php7.1-fpm.sock; + fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; diff --git a/roundcube/launch.sh b/roundcube/launch.sh index 48e34bd..c7fb3c2 100644 --- a/roundcube/launch.sh +++ b/roundcube/launch.sh @@ -9,7 +9,7 @@ mkdir -p /rc/tmp chown -R www-data:www-data /rc service nginx start -service php7.1-fpm start +service php7.2-fpm start tail -F /var/log/nginx/access.log From c45e092893afbeb610c3936749b97cd06e0df03e Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Mon, 1 Oct 2018 15:15:02 -0700 Subject: [PATCH 11/31] .gitignore: Ignore changes to the config file --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3db2896 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +roundcube/config.inc.php From e390bd03ae51b2792bd85ac82f742b6b44f3e5f2 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Tue, 2 Oct 2018 10:23:52 -0700 Subject: [PATCH 12/31] Dockerfile: Add EXPOSE 80 --- roundcube/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/roundcube/Dockerfile b/roundcube/Dockerfile index e0163a3..6f72e4d 100644 --- a/roundcube/Dockerfile +++ b/roundcube/Dockerfile @@ -21,5 +21,6 @@ ADD config.inc.php /usr/share/nginx/www/config/ ADD default /etc/nginx/sites-enabled/default ADD launch.sh /root/ +EXPOSE 80 VOLUME /rc CMD [ "bash", "/root/launch.sh" ] From 010f7506db2f79aae3b04ad03c83a74e5d099722 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Tue, 2 Oct 2018 10:47:54 -0700 Subject: [PATCH 13/31] config.inc.php -> config.inc.php.sample --- README.md | 3 ++- roundcube/{config.inc.php => config.inc.php.sample} | 0 2 files changed, 2 insertions(+), 1 deletion(-) rename roundcube/{config.inc.php => config.inc.php.sample} (100%) diff --git a/README.md b/README.md index c1c945a..1235523 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,8 @@ IMAP client (if you skip the step 1. below). Steps: - 1. Customize `roundcube/config.inc.php`. If the file is unmodified, + 1. `cp roundcube/config.inc.php.sample roundcube/config.inc.php`. +Customize `roundcube/config.inc.php`. If the file is unmodified, Roundcube will show a generic login page where the user can specify IMAP server. 2. Launch `sudo ./start.sh` to create roundcube image and start diff --git a/roundcube/config.inc.php b/roundcube/config.inc.php.sample similarity index 100% rename from roundcube/config.inc.php rename to roundcube/config.inc.php.sample From 607f9d9618e72ababd32f547be52115360fb2e46 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Tue, 2 Oct 2018 10:50:22 -0700 Subject: [PATCH 14/31] README.md: Fix steps --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 1235523..e26d456 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,21 @@ roundcube-docker ================ -Installs roundcube 1.3.7 inside a docker container. +Installs roundcube 1.3.7 in a docker container. The installation may be used on your server, but also as a standalone -IMAP client (if you skip the step 1. below). +IMAP client (if you skip the step 2 below). Steps: 1. `cp roundcube/config.inc.php.sample roundcube/config.inc.php`. -Customize `roundcube/config.inc.php`. If the file is unmodified, + 2. Customize `roundcube/config.inc.php`. If the file is unmodified, Roundcube will show a generic login page where the user can specify IMAP server. - 2. Launch `sudo ./start.sh` to create roundcube image and start + 3. Launch `sudo ./start.sh` to create roundcube image and start it with port forwarding at 127.0.0.1:8081. You may use LISTEN and PORT env. variables to change the default listening address and port. - 3. Update your web server to proxy connections. + 4. Update your web server to proxy connections. The SQLite database for contacts, settings, etc. is kept in `/rc` inside roundcube-data container. Even if you delete From 11a04dde725992f6c9d6c1c464dbe3afbc95a740 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Tue, 2 Oct 2018 11:05:56 -0700 Subject: [PATCH 15/31] Add docker-compose.yml sample w/auto SSL --- .gitignore | 1 + docker-compose.yml.sample | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 docker-compose.yml.sample diff --git a/.gitignore b/.gitignore index 3db2896..281bcd4 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ roundcube/config.inc.php +docker-compose.yml diff --git a/docker-compose.yml.sample b/docker-compose.yml.sample new file mode 100644 index 0000000..07e2003 --- /dev/null +++ b/docker-compose.yml.sample @@ -0,0 +1,37 @@ +version: "2.3" +services: + nginx-proxy: + image: jwilder/nginx-proxy + container_name: nginx-proxy + ports: + - "80:80" + - "443:443" + volumes: + - "/home/example/nginx/vhost.d:/etc/nginx/vhost.d" + - "/home/example/nginx/html:/usr/share/nginx/html" + - "/home/example/nginx/certs:/etc/nginx/certs" + - "/var/run/docker.sock:/tmp/docker.sock:ro" + + letsencrypt-nginx-proxy-companion: + image: jrcs/letsencrypt-nginx-proxy-companion + container_name: letsencrypt + volumes: + - "/var/run/docker.sock:/var/run/docker.sock:ro" + volumes_from: + - "nginx-proxy" + + roundcube: + build: ./roundcube + image: roundcube + container_name: roundcube + restart: unless-stopped + environment: + - VIRTUAL_HOST=mail.example.com + - LETSENCRYPT_HOST=mail.example.com + - LETSENCRYPT_EMAIL=example@example.com + volumes: + - "rc-data:/rc" + +volumes: + rc-data: + driver: local From 67b7f7661c48f474a1e3c0a39333c098d8a08cea Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Fri, 5 Oct 2018 11:55:00 -0700 Subject: [PATCH 16/31] Configure SSL/https on --- README.md | 3 ++- roundcube/config.inc.php.sample | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e26d456..7546d01 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,8 @@ Steps: 1. `cp roundcube/config.inc.php.sample roundcube/config.inc.php`. 2. Customize `roundcube/config.inc.php`. If the file is unmodified, Roundcube will show a generic login page where the user can -specify IMAP server. +specify IMAP server. Comment out the use_https line if you're not using +SSL. 3. Launch `sudo ./start.sh` to create roundcube image and start it with port forwarding at 127.0.0.1:8081. You may use LISTEN and PORT env. variables to change the default listening address and port. diff --git a/roundcube/config.inc.php.sample b/roundcube/config.inc.php.sample index 0332b86..9898ea6 100644 --- a/roundcube/config.inc.php.sample +++ b/roundcube/config.inc.php.sample @@ -87,3 +87,8 @@ $config['plugins'] = array(); // RFC1766 formatted language name like en_US, de_DE, de_CH, fr_FR, pt_BR $config['language'] = 'en_US'; +// ---------------------------------- +// Set https +// ---------------------------------- +$config['use_https'] = true; + From 7c09649f536af1b0a89c423de5501654f586bef7 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Mon, 11 Mar 2019 13:55:02 -0700 Subject: [PATCH 17/31] Roundcube 1.3.7 -> 1.3.8 --- roundcube/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roundcube/Dockerfile b/roundcube/Dockerfile index 6f72e4d..1adc89b 100644 --- a/roundcube/Dockerfile +++ b/roundcube/Dockerfile @@ -11,7 +11,7 @@ RUN sed -i 's/# \(.*multiverse$\)/\1/g' /etc/apt/sources.list &&\ rm -rf /var/lib/apt/lists/* WORKDIR /root -ARG RC_VER=1.3.7 +ARG RC_VER=1.3.8 RUN rm -fr /usr/share/nginx/www &&\ wget https://github.com/roundcube/roundcubemail/releases/download/${RC_VER}/roundcubemail-${RC_VER}-complete.tar.gz -O - | tar xz &&\ mv /root/roundcubemail-${RC_VER} /usr/share/nginx/www &&\ From 6751a969e8fc5438ccfdc7f17fe2f7dd26d19ece Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Mon, 11 Mar 2019 13:56:16 -0700 Subject: [PATCH 18/31] Update version in README too --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7546d01..d758d51 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ roundcube-docker ================ -Installs roundcube 1.3.7 in a docker container. +Installs roundcube 1.3.8 in a docker container. The installation may be used on your server, but also as a standalone IMAP client (if you skip the step 2 below). From 92ee441027d1fe4bc656c89a5edf6280f0448000 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Fri, 26 Apr 2019 11:45:50 -0700 Subject: [PATCH 19/31] Upgrade roundcube 1.3.8 -> 1.4-rc1 --- roundcube/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roundcube/Dockerfile b/roundcube/Dockerfile index 1adc89b..d5b4244 100644 --- a/roundcube/Dockerfile +++ b/roundcube/Dockerfile @@ -11,7 +11,7 @@ RUN sed -i 's/# \(.*multiverse$\)/\1/g' /etc/apt/sources.list &&\ rm -rf /var/lib/apt/lists/* WORKDIR /root -ARG RC_VER=1.3.8 +ARG RC_VER=1.4-rc1 RUN rm -fr /usr/share/nginx/www &&\ wget https://github.com/roundcube/roundcubemail/releases/download/${RC_VER}/roundcubemail-${RC_VER}-complete.tar.gz -O - | tar xz &&\ mv /root/roundcubemail-${RC_VER} /usr/share/nginx/www &&\ From c4f39a716a050d93dd4550995bf0819a90b907cc Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Fri, 26 Apr 2019 12:08:32 -0700 Subject: [PATCH 20/31] config.inc.php.sample: Use new elastic theme --- roundcube/config.inc.php.sample | 1 + 1 file changed, 1 insertion(+) diff --git a/roundcube/config.inc.php.sample b/roundcube/config.inc.php.sample index 9898ea6..1f4d9c8 100644 --- a/roundcube/config.inc.php.sample +++ b/roundcube/config.inc.php.sample @@ -92,3 +92,4 @@ $config['language'] = 'en_US'; // ---------------------------------- $config['use_https'] = true; +$config['skin'] = 'elastic'; From 042ebd866b1c67962af69ba62624e9f9db060982 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Fri, 26 Apr 2019 12:09:31 -0700 Subject: [PATCH 21/31] Upgrade Ubuntu: 18.04 -> 19.04 --- roundcube/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roundcube/Dockerfile b/roundcube/Dockerfile index d5b4244..1242b51 100644 --- a/roundcube/Dockerfile +++ b/roundcube/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:18.04 +FROM ubuntu:19.04 LABEL maintainer="Michael Bushey " RUN sed -i 's/# \(.*multiverse$\)/\1/g' /etc/apt/sources.list &&\ From 0599c5be94d7eeec7500205c4cf2c7fb63145185 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Mon, 28 Oct 2019 15:46:40 -0700 Subject: [PATCH 22/31] Ubuntu 19.04 -> 19.10, php 7.2 -> 7.3, Roundcube 1.4-rc1 -> 1.4-rc2 --- roundcube/Dockerfile | 8 ++++---- roundcube/default | 2 +- roundcube/launch.sh | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/roundcube/Dockerfile b/roundcube/Dockerfile index 1242b51..3c055e0 100644 --- a/roundcube/Dockerfile +++ b/roundcube/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:19.04 +FROM ubuntu:19.10 LABEL maintainer="Michael Bushey " RUN sed -i 's/# \(.*multiverse$\)/\1/g' /etc/apt/sources.list &&\ @@ -6,12 +6,12 @@ RUN sed -i 's/# \(.*multiverse$\)/\1/g' /etc/apt/sources.list &&\ apt-get -y upgrade &&\ apt-get install -y --no-install-recommends \ apt-transport-https ca-certificates nginx wget sqlite3 procps \ - php7.2-fpm php7.2-intl php7.2-sqlite3 \ + php7.3-fpm php7.3-intl php7.3-sqlite3 \ php-pear php-net-smtp php-mail-mime &&\ - rm -rf /var/lib/apt/lists/* + rm -rf /var/lIB/apt/lists/* WORKDIR /root -ARG RC_VER=1.4-rc1 +ARG RC_VER=1.4-rc2 RUN rm -fr /usr/share/nginx/www &&\ wget https://github.com/roundcube/roundcubemail/releases/download/${RC_VER}/roundcubemail-${RC_VER}-complete.tar.gz -O - | tar xz &&\ mv /root/roundcubemail-${RC_VER} /usr/share/nginx/www &&\ diff --git a/roundcube/default b/roundcube/default index 183e718..a651636 100644 --- a/roundcube/default +++ b/roundcube/default @@ -8,7 +8,7 @@ server { location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; - fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; + fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; diff --git a/roundcube/launch.sh b/roundcube/launch.sh index c7fb3c2..f4b57a1 100644 --- a/roundcube/launch.sh +++ b/roundcube/launch.sh @@ -9,7 +9,7 @@ mkdir -p /rc/tmp chown -R www-data:www-data /rc service nginx start -service php7.2-fpm start +service php7.3-fpm start tail -F /var/log/nginx/access.log From a3380907d2e6d63f3aa4d00ce3b74fc183107104 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Tue, 28 Apr 2020 12:39:05 -0700 Subject: [PATCH 23/31] RoundCube 1.4-rc2 -> 1.4.3, Ubuntu 19.10 -> 20.04, php 7.3 -> 7.4 --- roundcube/Dockerfile | 6 +++--- roundcube/default | 2 +- roundcube/launch.sh | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/roundcube/Dockerfile b/roundcube/Dockerfile index 3c055e0..5f0c832 100644 --- a/roundcube/Dockerfile +++ b/roundcube/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:19.10 +FROM ubuntu:20.04 LABEL maintainer="Michael Bushey " RUN sed -i 's/# \(.*multiverse$\)/\1/g' /etc/apt/sources.list &&\ @@ -6,12 +6,12 @@ RUN sed -i 's/# \(.*multiverse$\)/\1/g' /etc/apt/sources.list &&\ apt-get -y upgrade &&\ apt-get install -y --no-install-recommends \ apt-transport-https ca-certificates nginx wget sqlite3 procps \ - php7.3-fpm php7.3-intl php7.3-sqlite3 \ + php7.4-fpm php7.4-intl php7.4-sqlite3 \ php-pear php-net-smtp php-mail-mime &&\ rm -rf /var/lIB/apt/lists/* WORKDIR /root -ARG RC_VER=1.4-rc2 +ARG RC_VER=1.4.3 RUN rm -fr /usr/share/nginx/www &&\ wget https://github.com/roundcube/roundcubemail/releases/download/${RC_VER}/roundcubemail-${RC_VER}-complete.tar.gz -O - | tar xz &&\ mv /root/roundcubemail-${RC_VER} /usr/share/nginx/www &&\ diff --git a/roundcube/default b/roundcube/default index a651636..2343525 100644 --- a/roundcube/default +++ b/roundcube/default @@ -8,7 +8,7 @@ server { location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; - fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; + fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; diff --git a/roundcube/launch.sh b/roundcube/launch.sh index f4b57a1..e4eef39 100644 --- a/roundcube/launch.sh +++ b/roundcube/launch.sh @@ -9,7 +9,7 @@ mkdir -p /rc/tmp chown -R www-data:www-data /rc service nginx start -service php7.3-fpm start +service php7.4-fpm start tail -F /var/log/nginx/access.log From 214e1ec8d3c5fff9ad8ac12a84e63ccb70def70f Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Tue, 28 Apr 2020 12:42:36 -0700 Subject: [PATCH 24/31] README.md: Update --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d758d51..8c7be6c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ roundcube-docker ================ -Installs roundcube 1.3.8 in a docker container. +Installs roundcube 1.4.3 in a docker container. The installation may be used on your server, but also as a standalone IMAP client (if you skip the step 2 below). From e0c0bec013d4b4f13b8a9870aba048afe7275f38 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Sat, 19 Sep 2020 16:28:40 -0600 Subject: [PATCH 25/31] Create google.yml --- .github/workflows/google.yml | 74 ++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 .github/workflows/google.yml diff --git a/.github/workflows/google.yml b/.github/workflows/google.yml new file mode 100644 index 0000000..c3ec05a --- /dev/null +++ b/.github/workflows/google.yml @@ -0,0 +1,74 @@ +# This workflow will build a docker container, publish it to Google Container Registry, and deploy it to GKE when a release is created +# +# To configure this workflow: +# +# 1. Ensure that your repository contains the necessary configuration for your Google Kubernetes Engine cluster, including deployment.yml, kustomization.yml, service.yml, etc. +# +# 2. Set up secrets in your workspace: GKE_PROJECT with the name of the project and GKE_SA_KEY with the Base64 encoded JSON service account key (https://github.com/GoogleCloudPlatform/github-actions/tree/docs/service-account-key/setup-gcloud#inputs). +# +# 3. Change the values for the GKE_ZONE, GKE_CLUSTER, IMAGE, and DEPLOYMENT_NAME environment variables (below). +# +# For more support on how to run the workflow, please visit https://github.com/GoogleCloudPlatform/github-actions/tree/master/example-workflows/gke + +name: Build and Deploy to GKE + +on: push + +env: + PROJECT_ID: ${{ secrets.GKE_PROJECT }} + GKE_CLUSTER: ops-cdx # TODO: update to cluster name + GKE_ZONE: us-central1-a # TODO: update to cluster zone + DEPLOYMENT_NAME: gke-test # TODO: update to deployment name + IMAGE: roundcube + +jobs: + setup-build-publish-deploy: + name: Setup, Build, Publish, and Deploy + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v2 + + # Setup gcloud CLI + - uses: GoogleCloudPlatform/github-actions/setup-gcloud@0.1.3 + with: + service_account_key: ${{ secrets.GKE_SA_KEY }} + project_id: ${{ secrets.GKE_PROJECT }} + + # Configure Docker to use the gcloud command-line tool as a credential + # helper for authentication + - run: |- + gcloud --quiet auth configure-docker + + # Get the GKE credentials so we can deploy to the cluster + - run: |- + gcloud container clusters get-credentials "$GKE_CLUSTER" --zone "$GKE_ZONE" + + # Build the Docker image + - name: Build + run: |- + docker build \ + --tag "gcr.io/$PROJECT_ID/$IMAGE:$GITHUB_SHA" \ + --build-arg GITHUB_SHA="$GITHUB_SHA" \ + --build-arg GITHUB_REF="$GITHUB_REF" \ + . + + # Push the Docker image to Google Container Registry + - name: Publish + run: |- + docker push "gcr.io/$PROJECT_ID/$IMAGE:$GITHUB_SHA" + + # Set up kustomize + - name: Set up Kustomize + run: |- + curl -sfLo kustomize https://github.com/kubernetes-sigs/kustomize/releases/download/v3.1.0/kustomize_3.1.0_linux_amd64 + chmod u+x ./kustomize + + # Deploy the Docker image to the GKE cluster + - name: Deploy + run: |- + ./kustomize edit set image gcr.io/PROJECT_ID/IMAGE:TAG=gcr.io/$PROJECT_ID/$IMAGE:$GITHUB_SHA + ./kustomize build . | kubectl apply -f - + kubectl rollout status deployment/$DEPLOYMENT_NAME + kubectl get services -o wide From 4398b289020538e48eae47b2fe73d57818b43cc6 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Sat, 19 Sep 2020 17:12:58 -0600 Subject: [PATCH 26/31] Trigger action --- roundcube/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/roundcube/Dockerfile b/roundcube/Dockerfile index 5f0c832..9ea76e0 100644 --- a/roundcube/Dockerfile +++ b/roundcube/Dockerfile @@ -10,6 +10,7 @@ RUN sed -i 's/# \(.*multiverse$\)/\1/g' /etc/apt/sources.list &&\ php-pear php-net-smtp php-mail-mime &&\ rm -rf /var/lIB/apt/lists/* + WORKDIR /root ARG RC_VER=1.4.3 RUN rm -fr /usr/share/nginx/www &&\ From b0129c071ccbe91a3cf6cae1606aedbfc4e4d2ee Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Sat, 19 Sep 2020 17:24:54 -0600 Subject: [PATCH 27/31] Next attempt --- .github/workflows/google.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/google.yml b/.github/workflows/google.yml index c3ec05a..ae479fd 100644 --- a/.github/workflows/google.yml +++ b/.github/workflows/google.yml @@ -15,7 +15,7 @@ name: Build and Deploy to GKE on: push env: - PROJECT_ID: ${{ secrets.GKE_PROJECT }} + PROJECT_ID: plat-dev-266621 GKE_CLUSTER: ops-cdx # TODO: update to cluster name GKE_ZONE: us-central1-a # TODO: update to cluster zone DEPLOYMENT_NAME: gke-test # TODO: update to deployment name From 5668152a671167b7969cc38c3c6562a0d91f1aa7 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Sat, 19 Sep 2020 17:43:37 -0600 Subject: [PATCH 28/31] Next attempt --- .github/workflows/google.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/google.yml b/.github/workflows/google.yml index ae479fd..20e11c9 100644 --- a/.github/workflows/google.yml +++ b/.github/workflows/google.yml @@ -21,6 +21,7 @@ env: DEPLOYMENT_NAME: gke-test # TODO: update to deployment name IMAGE: roundcube + jobs: setup-build-publish-deploy: name: Setup, Build, Publish, and Deploy From cd0ae53dada5bc40b07deaa462665a448b947835 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Sat, 19 Sep 2020 17:47:30 -0600 Subject: [PATCH 29/31] Next attempt 3 --- .github/workflows/google.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/google.yml b/.github/workflows/google.yml index 20e11c9..c170e2f 100644 --- a/.github/workflows/google.yml +++ b/.github/workflows/google.yml @@ -16,6 +16,7 @@ on: push env: PROJECT_ID: plat-dev-266621 + CLOUDSDK_CORE_PROJECT: plat-dev-266621 GKE_CLUSTER: ops-cdx # TODO: update to cluster name GKE_ZONE: us-central1-a # TODO: update to cluster zone DEPLOYMENT_NAME: gke-test # TODO: update to deployment name From 310e8dbf424b5ddd0b068b8efa3d7c83fe9a5224 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Sat, 19 Sep 2020 18:28:01 -0600 Subject: [PATCH 30/31] Zone makes no sense for a k8s cluster, using region which our cluster lives in --- .github/workflows/google.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/google.yml b/.github/workflows/google.yml index c170e2f..d69ecf1 100644 --- a/.github/workflows/google.yml +++ b/.github/workflows/google.yml @@ -18,7 +18,8 @@ env: PROJECT_ID: plat-dev-266621 CLOUDSDK_CORE_PROJECT: plat-dev-266621 GKE_CLUSTER: ops-cdx # TODO: update to cluster name - GKE_ZONE: us-central1-a # TODO: update to cluster zone + ## GKE_ZONE: us-central1-a # TODO: update to cluster zone + GKE_REGION: us-central1 DEPLOYMENT_NAME: gke-test # TODO: update to deployment name IMAGE: roundcube @@ -45,7 +46,7 @@ jobs: # Get the GKE credentials so we can deploy to the cluster - run: |- - gcloud container clusters get-credentials "$GKE_CLUSTER" --zone "$GKE_ZONE" + gcloud container clusters get-credentials "$GKE_CLUSTER" --region "$GKE_REGION" # Build the Docker image - name: Build From 18ba87c1c103273167f064e59d0dc1ac73ece9a5 Mon Sep 17 00:00:00 2001 From: Michael Bushey Date: Fri, 25 Aug 2023 15:07:23 -0600 Subject: [PATCH 31/31] clean up template vars --- .github/workflows/google.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/google.yml b/.github/workflows/google.yml index d69ecf1..a1018d2 100644 --- a/.github/workflows/google.yml +++ b/.github/workflows/google.yml @@ -15,12 +15,11 @@ name: Build and Deploy to GKE on: push env: - PROJECT_ID: plat-dev-266621 - CLOUDSDK_CORE_PROJECT: plat-dev-266621 - GKE_CLUSTER: ops-cdx # TODO: update to cluster name - ## GKE_ZONE: us-central1-a # TODO: update to cluster zone - GKE_REGION: us-central1 - DEPLOYMENT_NAME: gke-test # TODO: update to deployment name + PROJECT_ID: [Project] # TODO: update to project + CLOUDSDK_CORE_PROJECT: [Project] # TODO: update to project + GKE_CLUSTER: [cluster] # TODO: update to cluster name + GKE_REGION: us-central1 # TODO: update to region + DEPLOYMENT_NAME: roundcube # TODO: update to deployment name IMAGE: roundcube