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
+