diff --git a/acceptance-php7.4/Dockerfile b/acceptance-php7.4/Dockerfile new file mode 100644 index 00000000..675ae08b --- /dev/null +++ b/acceptance-php7.4/Dockerfile @@ -0,0 +1,9 @@ +FROM ghcr.io/nextcloud/continuous-integration-php7.4:latest + +RUN apt-get update && apt-get install -y apache2 libapache2-mod-php7.4 && \ + apt-get autoremove -y && apt-get autoclean && apt-get clean && \ + rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/* + +# /var/www/html has to be linked to the root directory of the Nextcloud server +# before the tests are run on Apache. +RUN rm -fr /var/www/html diff --git a/litmus-php7.4/Dockerfile b/litmus-php7.4/Dockerfile new file mode 100644 index 00000000..82d220e6 --- /dev/null +++ b/litmus-php7.4/Dockerfile @@ -0,0 +1,8 @@ +FROM ghcr.io/nextcloud/continuous-integration-php7.4:latest + +RUN apt-get update && apt-get install -y gcc coreutils make python && \ + mkdir -p /tmp/litmus && \ + wget -O /tmp/litmus/litmus-0.13.tar.gz http://www.webdav.org/neon/litmus/litmus-0.13.tar.gz && \ + cd /tmp/litmus && tar -xzf litmus-0.13.tar.gz && \ + cd /tmp/litmus/litmus-0.13 && ./configure && make && rm -f /tmp/litmus-0.13.tar.gz && \ + apt-get clean diff --git a/php7.4-memcached/Dockerfile b/php7.4-memcached/Dockerfile new file mode 100644 index 00000000..4b428955 --- /dev/null +++ b/php7.4-memcached/Dockerfile @@ -0,0 +1,10 @@ +FROM ghcr.io/nextcloud/continuous-integration-php7.4:latest +RUN apt-get update && \ + apt-get purge -y php7.4-apcu && \ + apt-get install -y php7.4-memcached memcached && \ + update-rc.d memcached enable && \ + apt-get autoremove -y && apt-get autoclean && apt-get clean && \ + rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/* + +ADD nextcloud.ini /etc/php/7.4/cli/conf.d/nextcloud.ini +ENTRYPOINT service memcached restart && bash diff --git a/php7.4-memcached/nextcloud.ini b/php7.4-memcached/nextcloud.ini new file mode 100644 index 00000000..0b34408e --- /dev/null +++ b/php7.4-memcached/nextcloud.ini @@ -0,0 +1,10 @@ +#apc.enable_cli = 1 +phar.readonly = 0 ; only for building phar files on CI - should be disabled on production environments +; Opcache +opcache.enable=1 +opcache.enable_cli=1 +opcache.interned_strings_buffer=8 +opcache.max_accelerated_files=10000 +opcache.memory_consumption=128 +opcache.save_comments=1 +opcache.revalidate_freq=1 diff --git a/samba-native-php7.4/Dockerfile b/samba-native-php7.4/Dockerfile new file mode 100644 index 00000000..ae0a13fe --- /dev/null +++ b/samba-native-php7.4/Dockerfile @@ -0,0 +1,8 @@ +FROM nextcloudci/samba-non-native-php7.4:latest + +RUN apt update +RUN apt-get install -y php7.4-dev libsmbclient-dev git +RUN git clone git://github.com/eduardok/libsmbclient-php.git +RUN cd libsmbclient-php && phpize && ./configure && make && make install + +ADD smbclient.ini /etc/php/7.4/cli/conf.d/smbclient.ini diff --git a/samba-native-php7.4/smbclient.ini b/samba-native-php7.4/smbclient.ini new file mode 100644 index 00000000..03f920fe --- /dev/null +++ b/samba-native-php7.4/smbclient.ini @@ -0,0 +1 @@ +extension="smbclient.so" diff --git a/samba-non-native-php7.4/Dockerfile b/samba-non-native-php7.4/Dockerfile new file mode 100644 index 00000000..1429ff4e --- /dev/null +++ b/samba-non-native-php7.4/Dockerfile @@ -0,0 +1,22 @@ +# Based upon https://hub.docker.com/r/silvershell/samba/ +FROM ghcr.io/nextcloud/continuous-integration-php7.4:latest + +ENV SMB_USER smbuser +ENV SMB_PASSWORD smbpassword + +RUN apt-get update + +RUN apt-get install -y samba smbclient +RUN mkdir -p /opt/samba/share +RUN chmod 777 /opt/samba/share + +RUN mkdir -p /opt/samba/user +RUN chmod 777 /opt/samba/user + +RUN useradd -s /bin/false "$SMB_USER" +RUN (echo "$SMB_PASSWORD"; echo "$SMB_PASSWORD" ) | pdbedit -a -u "$SMB_USER" + +EXPOSE 137/udp 138/udp 139 445 + +COPY smb.conf /etc/samba/smb.conf + diff --git a/samba-non-native-php7.4/smb.conf b/samba-non-native-php7.4/smb.conf new file mode 100644 index 00000000..6ba32a5c --- /dev/null +++ b/samba-non-native-php7.4/smb.conf @@ -0,0 +1,46 @@ +[global] + security = user + + load printers = no + printcap name = /dev/null + printing = bsd + + unix charset = UTF-8 + dos charset = CP932 + + workgroup = WORKGROUP + + server string = %h server (Samba, Ubuntu) + dns proxy = no + interfaces = eth* lo + bind interfaces only = no + log file = /var/log/samba/log.%m + max log size = 1000 + syslog = 0 + panic action = /usr/share/samba/panic-action %d + server role = standalone server + passdb backend = tdbsam + obey pam restrictions = yes + unix password sync = yes + passwd program = /usr/bin/passwd %u + passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . + pam password change = yes + map to guest = Bad User + usershare allow guests = yes + +[public] + path = /opt/samba/share + writable = yes + printable = no + public = yes + guest only = yes + create mode = 0777 + directory mode = 0777 + +[user] + path = /opt/samba/user + writable = yes + printable = no + public = no + create mode = 0777 + directory mode = 0777 diff --git a/webdav-apache-php7.4/Dockerfile b/webdav-apache-php7.4/Dockerfile new file mode 100644 index 00000000..5bf09dd1 --- /dev/null +++ b/webdav-apache-php7.4/Dockerfile @@ -0,0 +1,29 @@ +FROM ghcr.io/nextcloud/continuous-integration-php7.4:latest + +RUN apt-get update +RUN apt-get install -y apache2 apache2-utils +RUN a2enmod dav dav_fs +RUN a2dissite 000-default + +ENV APACHE_RUN_USER www-data +ENV APACHE_RUN_GROUP www-data +ENV APACHE_LOG_DIR /var/log/apache2 +ENV APACHE_PID_FILE /var/run/apache2.pid +ENV APACHE_LOCK_DIR /var/lock/apache2 +ENV APACHE_RUN_DIR /var/run/apache2 + +RUN mkdir -p /var/lock/apache2; chown www-data /var/lock/apache2 +RUN mkdir -p /var/webdav; chown www-data /var/webdav + +ADD webdav.conf /etc/apache2/sites-available/webdav.conf +RUN a2ensite webdav + +RUN htpasswd -cb /etc/apache2/webdav.password test pass +RUN chown root:www-data /etc/apache2/webdav.password +RUN chmod 640 /etc/apache2/webdav.password + +RUN apt-get autoremove -y && \ + apt-get autoclean && \ + apt-get clean && \ + rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/* + diff --git a/webdav-apache-php7.4/webdav.conf b/webdav-apache-php7.4/webdav.conf new file mode 100644 index 00000000..05929f3c --- /dev/null +++ b/webdav-apache-php7.4/webdav.conf @@ -0,0 +1,15 @@ +Alias /webdav /var/webdav/ + + DAV on + Options +Indexes + AuthType Basic + AuthName "webdav" + AuthUserFile /etc/apache2/webdav.password + Require valid-user + + + + Options Indexes FollowSymLinks + AllowOverride None + Require all granted +