From 537e9664eb697034e67e16d805040280ffdf1eb5 Mon Sep 17 00:00:00 2001 From: Dominik Kohler Date: Tue, 3 Dec 2019 11:23:48 +0100 Subject: [PATCH 1/2] upgraded to pure-ftpd v1.0.49 --- config-example/pureftpd/pureftpd.conf | 20 ++++++++++---------- ftp/Dockerfile | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/config-example/pureftpd/pureftpd.conf b/config-example/pureftpd/pureftpd.conf index a0509d4..d31ba07 100644 --- a/config-example/pureftpd/pureftpd.conf +++ b/config-example/pureftpd/pureftpd.conf @@ -431,11 +431,21 @@ TLS 1 # Certificate file, for TLS +# The certificate itself and the keys can be bundled into the same +# file or split into two files. +# CertFile is for a cert+key bundle, CertFileAndKey for separate files. +# Use only one of these. CertFile /etc/ssl/private/pureftpd.pem +# CertFileAndKey "/etc/pure-ftpd.pem" "/etc/pure-ftpd.key" +# Unix socket of the external certificate handler, for TLS + +# ExtCert /var/run/ftpd-certs.sock + + # Listen only to IPv4 addresses in standalone mode (ie. disable IPv6) # By default, both IPv4 and IPv6 are enabled. @@ -447,13 +457,3 @@ CertFile /etc/ssl/private/pureftpd.pem # By default, both IPv4 and IPv6 are enabled. # IPV6Only yes - - - -# UTF-8 support for file names (RFC 2640) -# Set the charset of the server filesystem and optionally the default charset -# for remote clients that don't use UTF-8. -# Works only if pure-ftpd has been compiled with --with-rfc2640 - -# FileSystemCharset big5 -# ClientCharset big5 diff --git a/ftp/Dockerfile b/ftp/Dockerfile index 6ead058..be31666 100644 --- a/ftp/Dockerfile +++ b/ftp/Dockerfile @@ -10,7 +10,7 @@ RUN apt-get update && \ apt-get -y install libmariadb-dev && \ # download, configure and compile pure-ftpd mkdir /usr/src/pure-ftpd && cd /usr/src/pure-ftpd && \ - wget https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.47.tar.gz && \ + wget https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.49.tar.gz && \ tar xvzpf pure-ftpd-1*.tar.gz && \ cd pure-ftpd-1* && \ ./configure --with-mysql --with-tls --with-altlog && \ From 5c798ad66e4e4bc1c762d9206eb862de350579b1 Mon Sep 17 00:00:00 2001 From: Dominik Kohler Date: Tue, 3 Dec 2019 11:24:16 +0100 Subject: [PATCH 2/2] added upgrade guide --- readme.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/readme.md b/readme.md index 1038090..6ebb5b8 100644 --- a/readme.md +++ b/readme.md @@ -59,6 +59,22 @@ As pureftpd runs in a docker-container, it doesn't know it's public address. You ForcePassiveIP 1.2.3.4 ``` +## Upgrade in Production +It's easy to upgrade containers with short downtime. You can do it for all containers at once, but it's +recommended to do it step by step. + +First, if you changed your docker-compose file to use fixed version for images, update those. + +Then, pull the desired version and restart the container: `docker-compose pull {service} && docker-compose up --no-deps -d {service} +` + +``` +docker-compose pull web && docker-compose up --no-deps -d web + +docker-compose pull ftp && docker-compose up --no-deps -d ftp + +docker-compose pull db && docker-compose up --no-deps -d db +``` ## Manage the server