diff --git a/.travis.yml b/.travis.yml index c02cfd26b..58f397ed4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,21 +38,12 @@ matrix: ########## - - name: NextCloud (latest, 16, 17, 18) + - name: NextCloud (latest) script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/nextcloud:latest nextcloud/latest - docker push epicmorg/nextcloud:latest - - docker build --compress -t epicmorg/nextcloud:16 nextcloud/16 - - docker push epicmorg/nextcloud:16 - - - docker build --compress -t epicmorg/nextcloud:17 nextcloud/17 - - docker push epicmorg/nextcloud:17 - - - docker build --compress -t epicmorg/nextcloud:18 nextcloud/18 - - docker push epicmorg/nextcloud:18 - ######################################### #### Our High priority images ######################################### @@ -63,61 +54,97 @@ matrix: # - docker build --compress -t user/repo:tag path/to/folder/contains/dockerfile # - docker push user/repo:tag - - name: Base Production + JDK 6, 7, 8 11 + - name: Base Production script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/prod:latest epicmorg/prod/main - docker push epicmorg/prod:latest + - name: Base Production + JDK 6 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/prod:jdk6 epicmorg/prod/jdk6 - docker push epicmorg/prod:jdk6 + - name: Base Production + JDK 7 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/prod:jdk7 epicmorg/prod/jdk7 - docker push epicmorg/prod:jdk7 + - name: Base Production + JDK 8 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/prod:jdk8 epicmorg/prod/jdk8 - docker push epicmorg/prod:jdk8 + - name: Base Production + JDK 11 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/prod:jdk11 epicmorg/prod/jdk11 - docker push epicmorg/prod:jdk11 ########## - - name: Base Edge + JDK 6, 7, 8 11 + - name: Base Edge script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/edge:latest epicmorg/edge/main - docker push epicmorg/edge:latest + - name: Base Edge + JDK 6 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/edge:jdk6 epicmorg/edge/jdk6 - docker push epicmorg/edge:jdk6 + - name: Base Edge + JDK 7 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/edge:jdk7 epicmorg/edge/jdk7 - docker push epicmorg/edge:jdk7 + - name: Base Edge + JDK 8 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/edge:jdk8 epicmorg/edge/jdk8 - docker push epicmorg/edge:jdk8 + - name: Base Edge + JDK 11 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/edge:jdk11 epicmorg/edge/jdk11 - docker push epicmorg/edge:jdk11 ########## - - name: Base Develop JDK 6, 7, 8 11 + - name: Base Develop script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/devel:latest epicmorg/devel/main - docker push epicmorg/devel:latest + - name: Base Develop + JDK 6 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/devel:jdk6 epicmorg/devel/jdk6 - docker push epicmorg/devel:jdk6 + - name: Base Develop + JDK 7 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/devel:jdk7 epicmorg/devel/jdk7 - docker push epicmorg/devel:jdk7 + - name: Base Develop + JDK 8 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/devel:jdk8 epicmorg/devel/jdk8 - docker push epicmorg/devel:jdk8 + - name: Base Develop + JDK 11 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/devel:jdk11 epicmorg/devel/jdk11 - docker push epicmorg/devel:jdk11 @@ -165,25 +192,39 @@ matrix: ########## - - name: Bitbucket (latest) + - name: Bitbucket + JDK 8 (latest) script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/bitbucket:latest atlassian/bitbucket/latest + - docker build --compress -t epicmorg/bitbucket:latest atlassian/bitbucket/latest - docker push epicmorg/bitbucket:latest + + - name: Bitbucket + JDK 11 (latest-jdk11) + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/bitbucket:latest-jdk11 -f atlassian/bitbucket/latest/Dockerfile.jdk11 atlassian/bitbucket/latest - docker push epicmorg/bitbucket:latest-jdk11 - - name: Confluence (latest) + - name: Confluence + JDK 8 (latest) script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/confluence:latest atlassian/confluence/latest - docker push epicmorg/confluence:latest + + - name: Confluence + JDK 11 (latest-jdk11) + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/confluence:latest-jdk11 -f atlassian/confluence/latest/Dockerfile.jdk11 atlassian/confluence/latest - docker push epicmorg/confluence:latest-jdk11 - + - name: Jira + JDK 8 (latest) + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/jira:latest atlassian/jira/latest - docker push epicmorg/jira:latest + + - name: Jira + JDK 11 (latest-jdk11) + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/jira:latest-jdk11 -f atlassian/jira/latest/Dockerfile.jdk11 atlassian/jira/latest - docker push epicmorg/jira:latest-jdk11 @@ -195,21 +236,24 @@ matrix: ########## - - name: qBitTorrent [latest + unstable + stable] + - name: qBitTorrent (latest) script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/qbittorrent:latest qbittorrent/latest - docker push epicmorg/qbittorrent:latest - + + - name: qBitTorrent (unstable) + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/qbittorrent:unstable qbittorrent/latest - docker push epicmorg/qbittorrent:unstable - + + - name: qBitTorrent (stable) + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/qbittorrent:stable qbittorrent/stable - docker push epicmorg/qbittorrent:stable - - - ######################################### #### Our minor priority images ######################################### diff --git a/CHANGELOG.md b/CHANGELOG.md index 57e9915a4..abe40e7a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,12 @@ ## Changelog * `February 2020` + * **Big rework of repositories on github**. Containers was Splited to another sub-repositories. Now current repo will be contain only fresh and latest versions of images. All older versions will be appeared in sub-repos. More fater building, less bad load to CI. * `fixed` all `*.sh` chmods. (sorry) * fixed `balancer` final container with `edge`. * `websites` migrated to `edge`. why not? * added `jdk6` and `jdk7` base images - * addded `PostgresSQL 9.3` + * addded `PostgresSQL 9-12` * `January 2020` (01/13/2020 - 01/30/2020) * separated `base` images to `prod`, `prod:jdk8`, `prod:jdk11`, `devel`, `devel:jdk8`, `devel:jdk11` * teamcity - `devel:jdk11` diff --git a/README.md b/README.md index a1102eb3b..296a877e8 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ | [![atlassian-bitbucket-6](https://img.shields.io/badge/Atlassian-Bitbucket%206-brightgreen?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-bitbucket-6) | [![confluence-7](https://img.shields.io/badge/Atlassian-Confluence%207-brightgreen?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-confluence-7) | [![atlassian-jira-8](https://img.shields.io/badge/Atlassian-Jira%208-brightgreen?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-jira-8) | [![PostgreSQL](https://img.shields.io/badge/EpicMorg-PostgreSQL%20Backports-yellow?style=popout-square)](https://github.com/EpicMorgVault/docker-postgres-backports) | | ` ` | [![confluence-6](https://img.shields.io/badge/Atlassian-Confluence%206-yellow?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-confluence-6) | [![atlassian-jira-7](https://img.shields.io/badge/Atlassian-Jira%207-yellow?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-jira-7) | [![Experimental](https://img.shields.io/badge/EpicMorg-Deprecated-orange?style=popout-square)](https://github.com/EpicMorgVault/docker-experimental-images) | | ` ` | [![confluence-5](https://img.shields.io/badge/Atlassian-Confluence%205-orange?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-confluence-5) | [![atlassian-jira-6](https://img.shields.io/badge/Atlassian-Jira%206-orange?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-jira-6) | [![Deprecated](https://img.shields.io/badge/EpicMorg-Experimental-red?style=popout-square)](https://github.com/EpicMorgVault/docker-deprecated-images) | -| ` ` | ` ` | [![atlassian-jira-5](https://img.shields.io/badge/Atlassian-Jira%205-red?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-jira-5) | ` ` | +| ` ` | ` ` | [![atlassian-jira-5](https://img.shields.io/badge/Atlassian-Jira%205-red?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-jira-5) | [![NextCloud](https://img.shields.io/badge/EpicMorg-NextCloud%20Backports-yellow?style=popout-square)](https://github.com/EpicMorgVault/docker-nextcloud-backports) | | # Containers Map diff --git a/nextcloud/16/.docker-repository.yml b/nextcloud/16/.docker-repository.yml deleted file mode 100644 index 7e8e1f859..000000000 --- a/nextcloud/16/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/nextcloud diff --git a/nextcloud/16/.dockerignore b/nextcloud/16/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/nextcloud/16/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/nextcloud/16/Dockerfile b/nextcloud/16/Dockerfile deleted file mode 100644 index 2ab40d8be..000000000 --- a/nextcloud/16/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM nextcloud:16 -ENV DEBIAN_FRONTEND noninteractive - -#smb additional magic -ADD php-smbclient-latest.tar.gz /tmp -RUN cp -fv /tmp/php-smbclient-latest/etc/php/7.3/mods-available/smbclient.ini /usr/local/etc/php/conf.d/smbclient.ini && \ - cp -fv /tmp/php-smbclient-latest/usr/lib/php/20180731/smbclient.so /usr/local/lib/php/extensions/no-debug-non-zts-20180731/smbclient.so && \ - rm -frv /tmp/php-smbclient-latest.tar.gz /tmp/php-smbclient-latest - -#addoing some utils -RUN apt update -y && apt install -y --allow-unauthenticated sudo apt-transport-https wget htop mc nano smbclient libsmbclient - -#thank u, mac users. rolling back normal ZipStreammer -RUN rm -frv /var/www/html/lib/private/Streamer.php -ADD Streamer.php /var/www/html/lib/private/ - -#smb fix -RUN rm -frv /etc/samba/smb.conf /usr/share/samba/smb.conf -ADD smb.conf /etc/samba/ -ADD smb.conf /usr/share/samba/ diff --git a/nextcloud/16/Makefile b/nextcloud/16/Makefile deleted file mode 100644 index 6ac8545e4..000000000 --- a/nextcloud/16/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: nc -nc: - docker build --compress -t epicmorg/nextcloud:16 . - diff --git a/nextcloud/16/Streamer.php b/nextcloud/16/Streamer.php deleted file mode 100644 index 677856b29..000000000 --- a/nextcloud/16/Streamer.php +++ /dev/null @@ -1,169 +0,0 @@ - - * @author Thomas Müller - * @author Victor Dubiniuk - * - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see - * - */ - -namespace OC; - -use OCP\IRequest; -use ownCloud\TarStreamer\TarStreamer; -use ZipStreamer\ZipStreamer; - -class Streamer { - // array of regexp. Matching user agents will get tar instead of zip - private $preferTarFor = [ '/macintosh|mac os x/i' ]; - - // streamer instance - private $streamerInstance; - - /** - * Streamer constructor. - * - * @param IRequest $request - * @param int $size The size of the files in bytes - * @param int $numberOfFiles The number of files (and directories) that will - * be included in the streamed file - */ - public function __construct(IRequest $request, int $size, int $numberOfFiles){ - - /** - * zip32 constraints for a basic (without compression, volumes nor - * encryption) zip file according to the Zip specification: - * - No file size is larger than 4 bytes (file size < 4294967296); see - * 4.4.9 uncompressed size - * - The size of all files plus their local headers is not larger than - * 4 bytes; see 4.4.16 relative offset of local header and 4.4.24 - * offset of start of central directory with respect to the starting - * disk number - * - The total number of entries (files and directories) in the zip file - * is not larger than 2 bytes (number of entries < 65536); see 4.4.22 - * total number of entries in the central dir - * - The size of the central directory is not larger than 4 bytes; see - * 4.4.23 size of the central directory - * - * Due to all that, zip32 is used if the size is below 4GB and there are - * less than 65536 files; the margin between 4*1000^3 and 4*1024^3 - * should give enough room for the extra zip metadata. Technically, it - * would still be possible to create an invalid zip32 file (for example, - * a zip file from files smaller than 4GB with a central directory - * larger than 4GiB), but it should not happen in the real world. - */ - if ($size < 4 * 1000 * 1000 * 1000 && $numberOfFiles < 65536) { - $this->streamerInstance = new ZipStreamer(['zip64' => true]); - } else if ($request->isUserAgent($this->preferTarFor)) { - $this->streamerInstance = new TarStreamer(); - } else { - $this->streamerInstance = new ZipStreamer(['zip64' => PHP_INT_SIZE !== 4]); - } - } - - /** - * Send HTTP headers - * @param string $name - */ - public function sendHeaders($name){ - $extension = $this->streamerInstance instanceof ZipStreamer ? '.zip' : '.tar'; - $fullName = $name . $extension; - $this->streamerInstance->sendHeaders($fullName); - } - - /** - * Stream directory recursively - * @param string $dir - * @param string $internalDir - */ - public function addDirRecursive($dir, $internalDir='') { - $dirname = basename($dir); - $rootDir = $internalDir . $dirname; - if (!empty($rootDir)) { - $this->streamerInstance->addEmptyDir($rootDir); - } - $internalDir .= $dirname . '/'; - // prevent absolute dirs - $internalDir = ltrim($internalDir, '/'); - - $files= \OC\Files\Filesystem::getDirectoryContent($dir); - foreach($files as $file) { - $filename = $file['name']; - $file = $dir . '/' . $filename; - if(\OC\Files\Filesystem::is_file($file)) { - $filesize = \OC\Files\Filesystem::filesize($file); - $fileTime = \OC\Files\Filesystem::filemtime($file); - $fh = \OC\Files\Filesystem::fopen($file, 'r'); - $this->addFileFromStream($fh, $internalDir . $filename, $filesize, $fileTime); - fclose($fh); - }elseif(\OC\Files\Filesystem::is_dir($file)) { - $this->addDirRecursive($file, $internalDir); - } - } - } - - /** - * Add a file to the archive at the specified location and file name. - * - * @param string $stream Stream to read data from - * @param string $internalName Filepath and name to be used in the archive. - * @param int $size Filesize - * @param int|bool $time File mtime as int, or false - * @return bool $success - */ - public function addFileFromStream($stream, $internalName, $size, $time) { - $options = []; - if ($time) { - $options = [ - 'timestamp' => $time - ]; - } - - if ($this->streamerInstance instanceof ZipStreamer) { - return $this->streamerInstance->addFileFromStream($stream, $internalName, $options); - } else { - return $this->streamerInstance->addFileFromStream($stream, $internalName, $size, $options); - } - } - - /** - * Add an empty directory entry to the archive. - * - * @param string $dirName Directory Path and name to be added to the archive. - * @return bool $success - */ - public function addEmptyDir($dirName){ - return $this->streamerInstance->addEmptyDir($dirName); - } - - /** - * Close the archive. - * A closed archive can no longer have new files added to it. After - * closing, the file is completely written to the output stream. - * @return bool $success - */ - public function finalize(){ - return $this->streamerInstance->finalize(); - } -} diff --git a/nextcloud/16/php-smbclient-latest.tar.gz b/nextcloud/16/php-smbclient-latest.tar.gz deleted file mode 100644 index 050212013..000000000 Binary files a/nextcloud/16/php-smbclient-latest.tar.gz and /dev/null differ diff --git a/nextcloud/16/smb.conf b/nextcloud/16/smb.conf deleted file mode 100644 index 9346a22f4..000000000 --- a/nextcloud/16/smb.conf +++ /dev/null @@ -1,239 +0,0 @@ -# -# Sample configuration file for the Samba suite for Debian GNU/Linux. -# -# -# This is the main Samba configuration file. You should read the -# smb.conf(5) manual page in order to understand the options listed -# here. Samba has a huge number of configurable options most of which -# are not shown in this example -# -# Some options that are often worth tuning have been included as -# commented-out examples in this file. -# - When such options are commented with ";", the proposed setting -# differs from the default Samba behaviour -# - When commented with "#", the proposed setting is the default -# behaviour of Samba but the option is considered important -# enough to be mentioned here -# -# NOTE: Whenever you modify this file you should run the command -# "testparm" to check that you have not made any basic syntactic -# errors. - -#======================= Global Settings ======================= - -[global] -client min protocol = SMB2 -client max protocol = SMB3 - - -## Browsing/Identification ### - -# Change this to the workgroup/NT-domain name your Samba server will part of - workgroup = WORKGROUP - -#### Networking #### - -# The specific set of interfaces / networks to bind to -# This can be either the interface name or an IP address/netmask; -# interface names are normally preferred -; interfaces = 127.0.0.0/8 eth0 - -# Only bind to the named interfaces and/or networks; you must use the -# 'interfaces' option above to use this. -# It is recommended that you enable this feature if your Samba machine is -# not protected by a firewall or is a firewall itself. However, this -# option cannot handle dynamic or non-broadcast interfaces correctly. -; bind interfaces only = yes - - - -#### Debugging/Accounting #### - -# This tells Samba to use a separate log file for each machine -# that connects - log file = /var/log/samba/log.%m - -# Cap the size of the individual log files (in KiB). - max log size = 1000 - -# We want Samba to only log to /var/log/samba/log.{smbd,nmbd}. -# Append syslog@1 if you want important messages to be sent to syslog too. - logging = file - -# Do something sensible when Samba crashes: mail the admin a backtrace - panic action = /usr/share/samba/panic-action %d - - -####### Authentication ####### - -# Server role. Defines in which mode Samba will operate. Possible -# values are "standalone server", "member server", "classic primary -# domain controller", "classic backup domain controller", "active -# directory domain controller". -# -# Most people will want "standalone server" or "member server". -# Running as "active directory domain controller" will require first -# running "samba-tool domain provision" to wipe databases and create a -# new domain. - server role = standalone server - - obey pam restrictions = yes - -# This boolean parameter controls whether Samba attempts to sync the Unix -# password with the SMB password when the encrypted SMB password in the -# passdb is changed. - unix password sync = yes - -# For Unix password sync to work on a Debian GNU/Linux system, the following -# parameters must be set (thanks to Ian Kahan < for -# sending the correct chat script for the passwd program in Debian Sarge). - passwd program = /usr/bin/passwd %u - passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . - -# This boolean controls whether PAM will be used for password changes -# when requested by an SMB client instead of the program listed in -# 'passwd program'. The default is 'no'. - pam password change = yes - -# This option controls how unsuccessful authentication attempts are mapped -# to anonymous connections - map to guest = bad user - -########## Domains ########### - -# -# The following settings only takes effect if 'server role = primary -# classic domain controller', 'server role = backup domain controller' -# or 'domain logons' is set -# - -# It specifies the location of the user's -# profile directory from the client point of view) The following -# required a [profiles] share to be setup on the samba server (see -# below) -; logon path = \\%N\profiles\%U -# Another common choice is storing the profile in the user's home directory -# (this is Samba's default) -# logon path = \\%N\%U\profile - -# The following setting only takes effect if 'domain logons' is set -# It specifies the location of a user's home directory (from the client -# point of view) -; logon drive = H: -# logon home = \\%N\%U - -# The following setting only takes effect if 'domain logons' is set -# It specifies the script to run during logon. The script must be stored -# in the [netlogon] share -# NOTE: Must be store in 'DOS' file format convention -; logon script = logon.cmd - -# This allows Unix users to be created on the domain controller via the SAMR -# RPC pipe. The example command creates a user account with a disabled Unix -# password; please adapt to your needs -; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u - -# This allows machine accounts to be created on the domain controller via the -# SAMR RPC pipe. -# The following assumes a "machines" group exists on the system -; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u - -# This allows Unix groups to be created on the domain controller via the SAMR -# RPC pipe. -; add group script = /usr/sbin/addgroup --force-badname %g - -############ Misc ############ - -# Using the following line enables you to customise your configuration -# on a per machine basis. The %m gets replaced with the netbios name -# of the machine that is connecting -; include = /home/samba/etc/smb.conf.%m - -# Some defaults for winbind (make sure you're not using the ranges -# for something else.) -; idmap config * : backend = tdb -; idmap config * : range = 3000-7999 -; idmap config YOURDOMAINHERE : backend = tdb -; idmap config YOURDOMAINHERE : range = 100000-999999 -; template shell = /bin/bash - -# Setup usershare options to enable non-root users to share folders -# with the net usershare command. - -# Maximum number of usershare. 0 means that usershare is disabled. -# usershare max shares = 100 - -# Allow users who've been granted usershare privileges to create -# public shares, not just authenticated ones - usershare allow guests = yes - -#======================= Share Definitions ======================= - -[homes] - comment = Home Directories - browseable = no - -# By default, the home directories are exported read-only. Change the -# next parameter to 'no' if you want to be able to write to them. - read only = yes - -# File creation mask is set to 0700 for security reasons. If you want to -# create files with group=rw permissions, set next parameter to 0775. - create mask = 0700 - -# Directory creation mask is set to 0700 for security reasons. If you want to -# create dirs. with group=rw permissions, set next parameter to 0775. - directory mask = 0700 - -# By default, \\server\username shares can be connected to by anyone -# with access to the samba server. -# The following parameter makes sure that only "username" can connect -# to \\server\username -# This might need tweaking when using external authentication schemes - valid users = %S - -# Un-comment the following and create the netlogon directory for Domain Logons -# (you need to configure Samba to act as a domain controller too.) -;[netlogon] -; comment = Network Logon Service -; path = /home/samba/netlogon -; guest ok = yes -; read only = yes - -# Un-comment the following and create the profiles directory to store -# users profiles (see the "logon path" option above) -# (you need to configure Samba to act as a domain controller too.) -# The path below should be writable by all users so that their -# profile directory may be created the first time they log on -;[profiles] -; comment = Users profiles -; path = /home/samba/profiles -; guest ok = no -; browseable = no -; create mask = 0600 -; directory mask = 0700 - -[printers] - comment = All Printers - browseable = no - path = /var/spool/samba - printable = yes - guest ok = no - read only = yes - create mask = 0700 - -# Windows clients look for this share name as a source of downloadable -# printer drivers -[print$] - comment = Printer Drivers - path = /var/lib/samba/printers - browseable = yes - read only = yes - guest ok = no -# Uncomment to allow remote administration of Windows print drivers. -# You may need to replace 'lpadmin' with the name of the group your -# admin users are members of. -# Please note that you also need to set appropriate Unix permissions -# to the drivers directory for these users to have write rights in it -; write list = root, @lpadmin - diff --git a/nextcloud/17/.docker-repository.yml b/nextcloud/17/.docker-repository.yml deleted file mode 100644 index 7e8e1f859..000000000 --- a/nextcloud/17/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/nextcloud diff --git a/nextcloud/17/.dockerignore b/nextcloud/17/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/nextcloud/17/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/nextcloud/17/Dockerfile b/nextcloud/17/Dockerfile deleted file mode 100644 index 15be670b0..000000000 --- a/nextcloud/17/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM nextcloud:17 -ENV DEBIAN_FRONTEND noninteractive - -#smb additional magic -ADD php-smbclient-latest.tar.gz /tmp -RUN cp -fv /tmp/php-smbclient-latest/etc/php/7.3/mods-available/smbclient.ini /usr/local/etc/php/conf.d/smbclient.ini && \ - cp -fv /tmp/php-smbclient-latest/usr/lib/php/20180731/smbclient.so /usr/local/lib/php/extensions/no-debug-non-zts-20180731/smbclient.so && \ - rm -frv /tmp/php-smbclient-latest.tar.gz /tmp/php-smbclient-latest - -#addoing some utils -RUN apt update -y && apt install -y --allow-unauthenticated sudo apt-transport-https wget htop mc nano smbclient libsmbclient - -#thank u, mac users. rolling back normal ZipStreammer -RUN rm -frv /var/www/html/lib/private/Streamer.php -ADD Streamer.php /var/www/html/lib/private/ - -#smb fix -RUN rm -frv /etc/samba/smb.conf /usr/share/samba/smb.conf -ADD smb.conf /etc/samba/ -ADD smb.conf /usr/share/samba/ diff --git a/nextcloud/17/Makefile b/nextcloud/17/Makefile deleted file mode 100644 index c66ad8b5a..000000000 --- a/nextcloud/17/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: nc -nc: - docker build --compress -t epicmorg/nextcloud:17 . - diff --git a/nextcloud/17/Streamer.php b/nextcloud/17/Streamer.php deleted file mode 100644 index 677856b29..000000000 --- a/nextcloud/17/Streamer.php +++ /dev/null @@ -1,169 +0,0 @@ - - * @author Thomas Müller - * @author Victor Dubiniuk - * - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see - * - */ - -namespace OC; - -use OCP\IRequest; -use ownCloud\TarStreamer\TarStreamer; -use ZipStreamer\ZipStreamer; - -class Streamer { - // array of regexp. Matching user agents will get tar instead of zip - private $preferTarFor = [ '/macintosh|mac os x/i' ]; - - // streamer instance - private $streamerInstance; - - /** - * Streamer constructor. - * - * @param IRequest $request - * @param int $size The size of the files in bytes - * @param int $numberOfFiles The number of files (and directories) that will - * be included in the streamed file - */ - public function __construct(IRequest $request, int $size, int $numberOfFiles){ - - /** - * zip32 constraints for a basic (without compression, volumes nor - * encryption) zip file according to the Zip specification: - * - No file size is larger than 4 bytes (file size < 4294967296); see - * 4.4.9 uncompressed size - * - The size of all files plus their local headers is not larger than - * 4 bytes; see 4.4.16 relative offset of local header and 4.4.24 - * offset of start of central directory with respect to the starting - * disk number - * - The total number of entries (files and directories) in the zip file - * is not larger than 2 bytes (number of entries < 65536); see 4.4.22 - * total number of entries in the central dir - * - The size of the central directory is not larger than 4 bytes; see - * 4.4.23 size of the central directory - * - * Due to all that, zip32 is used if the size is below 4GB and there are - * less than 65536 files; the margin between 4*1000^3 and 4*1024^3 - * should give enough room for the extra zip metadata. Technically, it - * would still be possible to create an invalid zip32 file (for example, - * a zip file from files smaller than 4GB with a central directory - * larger than 4GiB), but it should not happen in the real world. - */ - if ($size < 4 * 1000 * 1000 * 1000 && $numberOfFiles < 65536) { - $this->streamerInstance = new ZipStreamer(['zip64' => true]); - } else if ($request->isUserAgent($this->preferTarFor)) { - $this->streamerInstance = new TarStreamer(); - } else { - $this->streamerInstance = new ZipStreamer(['zip64' => PHP_INT_SIZE !== 4]); - } - } - - /** - * Send HTTP headers - * @param string $name - */ - public function sendHeaders($name){ - $extension = $this->streamerInstance instanceof ZipStreamer ? '.zip' : '.tar'; - $fullName = $name . $extension; - $this->streamerInstance->sendHeaders($fullName); - } - - /** - * Stream directory recursively - * @param string $dir - * @param string $internalDir - */ - public function addDirRecursive($dir, $internalDir='') { - $dirname = basename($dir); - $rootDir = $internalDir . $dirname; - if (!empty($rootDir)) { - $this->streamerInstance->addEmptyDir($rootDir); - } - $internalDir .= $dirname . '/'; - // prevent absolute dirs - $internalDir = ltrim($internalDir, '/'); - - $files= \OC\Files\Filesystem::getDirectoryContent($dir); - foreach($files as $file) { - $filename = $file['name']; - $file = $dir . '/' . $filename; - if(\OC\Files\Filesystem::is_file($file)) { - $filesize = \OC\Files\Filesystem::filesize($file); - $fileTime = \OC\Files\Filesystem::filemtime($file); - $fh = \OC\Files\Filesystem::fopen($file, 'r'); - $this->addFileFromStream($fh, $internalDir . $filename, $filesize, $fileTime); - fclose($fh); - }elseif(\OC\Files\Filesystem::is_dir($file)) { - $this->addDirRecursive($file, $internalDir); - } - } - } - - /** - * Add a file to the archive at the specified location and file name. - * - * @param string $stream Stream to read data from - * @param string $internalName Filepath and name to be used in the archive. - * @param int $size Filesize - * @param int|bool $time File mtime as int, or false - * @return bool $success - */ - public function addFileFromStream($stream, $internalName, $size, $time) { - $options = []; - if ($time) { - $options = [ - 'timestamp' => $time - ]; - } - - if ($this->streamerInstance instanceof ZipStreamer) { - return $this->streamerInstance->addFileFromStream($stream, $internalName, $options); - } else { - return $this->streamerInstance->addFileFromStream($stream, $internalName, $size, $options); - } - } - - /** - * Add an empty directory entry to the archive. - * - * @param string $dirName Directory Path and name to be added to the archive. - * @return bool $success - */ - public function addEmptyDir($dirName){ - return $this->streamerInstance->addEmptyDir($dirName); - } - - /** - * Close the archive. - * A closed archive can no longer have new files added to it. After - * closing, the file is completely written to the output stream. - * @return bool $success - */ - public function finalize(){ - return $this->streamerInstance->finalize(); - } -} diff --git a/nextcloud/17/php-smbclient-latest.tar.gz b/nextcloud/17/php-smbclient-latest.tar.gz deleted file mode 100644 index 050212013..000000000 Binary files a/nextcloud/17/php-smbclient-latest.tar.gz and /dev/null differ diff --git a/nextcloud/17/smb.conf b/nextcloud/17/smb.conf deleted file mode 100644 index 9346a22f4..000000000 --- a/nextcloud/17/smb.conf +++ /dev/null @@ -1,239 +0,0 @@ -# -# Sample configuration file for the Samba suite for Debian GNU/Linux. -# -# -# This is the main Samba configuration file. You should read the -# smb.conf(5) manual page in order to understand the options listed -# here. Samba has a huge number of configurable options most of which -# are not shown in this example -# -# Some options that are often worth tuning have been included as -# commented-out examples in this file. -# - When such options are commented with ";", the proposed setting -# differs from the default Samba behaviour -# - When commented with "#", the proposed setting is the default -# behaviour of Samba but the option is considered important -# enough to be mentioned here -# -# NOTE: Whenever you modify this file you should run the command -# "testparm" to check that you have not made any basic syntactic -# errors. - -#======================= Global Settings ======================= - -[global] -client min protocol = SMB2 -client max protocol = SMB3 - - -## Browsing/Identification ### - -# Change this to the workgroup/NT-domain name your Samba server will part of - workgroup = WORKGROUP - -#### Networking #### - -# The specific set of interfaces / networks to bind to -# This can be either the interface name or an IP address/netmask; -# interface names are normally preferred -; interfaces = 127.0.0.0/8 eth0 - -# Only bind to the named interfaces and/or networks; you must use the -# 'interfaces' option above to use this. -# It is recommended that you enable this feature if your Samba machine is -# not protected by a firewall or is a firewall itself. However, this -# option cannot handle dynamic or non-broadcast interfaces correctly. -; bind interfaces only = yes - - - -#### Debugging/Accounting #### - -# This tells Samba to use a separate log file for each machine -# that connects - log file = /var/log/samba/log.%m - -# Cap the size of the individual log files (in KiB). - max log size = 1000 - -# We want Samba to only log to /var/log/samba/log.{smbd,nmbd}. -# Append syslog@1 if you want important messages to be sent to syslog too. - logging = file - -# Do something sensible when Samba crashes: mail the admin a backtrace - panic action = /usr/share/samba/panic-action %d - - -####### Authentication ####### - -# Server role. Defines in which mode Samba will operate. Possible -# values are "standalone server", "member server", "classic primary -# domain controller", "classic backup domain controller", "active -# directory domain controller". -# -# Most people will want "standalone server" or "member server". -# Running as "active directory domain controller" will require first -# running "samba-tool domain provision" to wipe databases and create a -# new domain. - server role = standalone server - - obey pam restrictions = yes - -# This boolean parameter controls whether Samba attempts to sync the Unix -# password with the SMB password when the encrypted SMB password in the -# passdb is changed. - unix password sync = yes - -# For Unix password sync to work on a Debian GNU/Linux system, the following -# parameters must be set (thanks to Ian Kahan < for -# sending the correct chat script for the passwd program in Debian Sarge). - passwd program = /usr/bin/passwd %u - passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . - -# This boolean controls whether PAM will be used for password changes -# when requested by an SMB client instead of the program listed in -# 'passwd program'. The default is 'no'. - pam password change = yes - -# This option controls how unsuccessful authentication attempts are mapped -# to anonymous connections - map to guest = bad user - -########## Domains ########### - -# -# The following settings only takes effect if 'server role = primary -# classic domain controller', 'server role = backup domain controller' -# or 'domain logons' is set -# - -# It specifies the location of the user's -# profile directory from the client point of view) The following -# required a [profiles] share to be setup on the samba server (see -# below) -; logon path = \\%N\profiles\%U -# Another common choice is storing the profile in the user's home directory -# (this is Samba's default) -# logon path = \\%N\%U\profile - -# The following setting only takes effect if 'domain logons' is set -# It specifies the location of a user's home directory (from the client -# point of view) -; logon drive = H: -# logon home = \\%N\%U - -# The following setting only takes effect if 'domain logons' is set -# It specifies the script to run during logon. The script must be stored -# in the [netlogon] share -# NOTE: Must be store in 'DOS' file format convention -; logon script = logon.cmd - -# This allows Unix users to be created on the domain controller via the SAMR -# RPC pipe. The example command creates a user account with a disabled Unix -# password; please adapt to your needs -; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u - -# This allows machine accounts to be created on the domain controller via the -# SAMR RPC pipe. -# The following assumes a "machines" group exists on the system -; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u - -# This allows Unix groups to be created on the domain controller via the SAMR -# RPC pipe. -; add group script = /usr/sbin/addgroup --force-badname %g - -############ Misc ############ - -# Using the following line enables you to customise your configuration -# on a per machine basis. The %m gets replaced with the netbios name -# of the machine that is connecting -; include = /home/samba/etc/smb.conf.%m - -# Some defaults for winbind (make sure you're not using the ranges -# for something else.) -; idmap config * : backend = tdb -; idmap config * : range = 3000-7999 -; idmap config YOURDOMAINHERE : backend = tdb -; idmap config YOURDOMAINHERE : range = 100000-999999 -; template shell = /bin/bash - -# Setup usershare options to enable non-root users to share folders -# with the net usershare command. - -# Maximum number of usershare. 0 means that usershare is disabled. -# usershare max shares = 100 - -# Allow users who've been granted usershare privileges to create -# public shares, not just authenticated ones - usershare allow guests = yes - -#======================= Share Definitions ======================= - -[homes] - comment = Home Directories - browseable = no - -# By default, the home directories are exported read-only. Change the -# next parameter to 'no' if you want to be able to write to them. - read only = yes - -# File creation mask is set to 0700 for security reasons. If you want to -# create files with group=rw permissions, set next parameter to 0775. - create mask = 0700 - -# Directory creation mask is set to 0700 for security reasons. If you want to -# create dirs. with group=rw permissions, set next parameter to 0775. - directory mask = 0700 - -# By default, \\server\username shares can be connected to by anyone -# with access to the samba server. -# The following parameter makes sure that only "username" can connect -# to \\server\username -# This might need tweaking when using external authentication schemes - valid users = %S - -# Un-comment the following and create the netlogon directory for Domain Logons -# (you need to configure Samba to act as a domain controller too.) -;[netlogon] -; comment = Network Logon Service -; path = /home/samba/netlogon -; guest ok = yes -; read only = yes - -# Un-comment the following and create the profiles directory to store -# users profiles (see the "logon path" option above) -# (you need to configure Samba to act as a domain controller too.) -# The path below should be writable by all users so that their -# profile directory may be created the first time they log on -;[profiles] -; comment = Users profiles -; path = /home/samba/profiles -; guest ok = no -; browseable = no -; create mask = 0600 -; directory mask = 0700 - -[printers] - comment = All Printers - browseable = no - path = /var/spool/samba - printable = yes - guest ok = no - read only = yes - create mask = 0700 - -# Windows clients look for this share name as a source of downloadable -# printer drivers -[print$] - comment = Printer Drivers - path = /var/lib/samba/printers - browseable = yes - read only = yes - guest ok = no -# Uncomment to allow remote administration of Windows print drivers. -# You may need to replace 'lpadmin' with the name of the group your -# admin users are members of. -# Please note that you also need to set appropriate Unix permissions -# to the drivers directory for these users to have write rights in it -; write list = root, @lpadmin - diff --git a/nextcloud/18/.docker-repository.yml b/nextcloud/18/.docker-repository.yml deleted file mode 100644 index 7e8e1f859..000000000 --- a/nextcloud/18/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/nextcloud diff --git a/nextcloud/18/.dockerignore b/nextcloud/18/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/nextcloud/18/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/nextcloud/18/Dockerfile b/nextcloud/18/Dockerfile deleted file mode 100644 index 9038ea57a..000000000 --- a/nextcloud/18/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM nextcloud:18 -ENV DEBIAN_FRONTEND noninteractive - -#smb additional magic -ADD php-smbclient-latest.tar.gz /tmp -RUN cp -fv /tmp/php-smbclient-latest/etc/php/7.3/mods-available/smbclient.ini /usr/local/etc/php/conf.d/smbclient.ini && \ - cp -fv /tmp/php-smbclient-latest/usr/lib/php/20180731/smbclient.so /usr/local/lib/php/extensions/no-debug-non-zts-20180731/smbclient.so && \ - rm -frv /tmp/php-smbclient-latest.tar.gz /tmp/php-smbclient-latest - -#addoing some utils -RUN apt update -y && apt install -y --allow-unauthenticated sudo apt-transport-https wget htop mc nano smbclient libsmbclient - -#thank u, mac users. rolling back normal ZipStreammer -RUN rm -frv /var/www/html/lib/private/Streamer.php -ADD Streamer.php /var/www/html/lib/private/ - -#smb fix -RUN rm -frv /etc/samba/smb.conf /usr/share/samba/smb.conf -ADD smb.conf /etc/samba/ -ADD smb.conf /usr/share/samba/ diff --git a/nextcloud/18/Makefile b/nextcloud/18/Makefile deleted file mode 100644 index 86a2ab24c..000000000 --- a/nextcloud/18/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: nc -nc: - docker build --compress -t epicmorg/nextcloud:18 . - diff --git a/nextcloud/18/Streamer.php b/nextcloud/18/Streamer.php deleted file mode 100644 index 677856b29..000000000 --- a/nextcloud/18/Streamer.php +++ /dev/null @@ -1,169 +0,0 @@ - - * @author Thomas Müller - * @author Victor Dubiniuk - * - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see - * - */ - -namespace OC; - -use OCP\IRequest; -use ownCloud\TarStreamer\TarStreamer; -use ZipStreamer\ZipStreamer; - -class Streamer { - // array of regexp. Matching user agents will get tar instead of zip - private $preferTarFor = [ '/macintosh|mac os x/i' ]; - - // streamer instance - private $streamerInstance; - - /** - * Streamer constructor. - * - * @param IRequest $request - * @param int $size The size of the files in bytes - * @param int $numberOfFiles The number of files (and directories) that will - * be included in the streamed file - */ - public function __construct(IRequest $request, int $size, int $numberOfFiles){ - - /** - * zip32 constraints for a basic (without compression, volumes nor - * encryption) zip file according to the Zip specification: - * - No file size is larger than 4 bytes (file size < 4294967296); see - * 4.4.9 uncompressed size - * - The size of all files plus their local headers is not larger than - * 4 bytes; see 4.4.16 relative offset of local header and 4.4.24 - * offset of start of central directory with respect to the starting - * disk number - * - The total number of entries (files and directories) in the zip file - * is not larger than 2 bytes (number of entries < 65536); see 4.4.22 - * total number of entries in the central dir - * - The size of the central directory is not larger than 4 bytes; see - * 4.4.23 size of the central directory - * - * Due to all that, zip32 is used if the size is below 4GB and there are - * less than 65536 files; the margin between 4*1000^3 and 4*1024^3 - * should give enough room for the extra zip metadata. Technically, it - * would still be possible to create an invalid zip32 file (for example, - * a zip file from files smaller than 4GB with a central directory - * larger than 4GiB), but it should not happen in the real world. - */ - if ($size < 4 * 1000 * 1000 * 1000 && $numberOfFiles < 65536) { - $this->streamerInstance = new ZipStreamer(['zip64' => true]); - } else if ($request->isUserAgent($this->preferTarFor)) { - $this->streamerInstance = new TarStreamer(); - } else { - $this->streamerInstance = new ZipStreamer(['zip64' => PHP_INT_SIZE !== 4]); - } - } - - /** - * Send HTTP headers - * @param string $name - */ - public function sendHeaders($name){ - $extension = $this->streamerInstance instanceof ZipStreamer ? '.zip' : '.tar'; - $fullName = $name . $extension; - $this->streamerInstance->sendHeaders($fullName); - } - - /** - * Stream directory recursively - * @param string $dir - * @param string $internalDir - */ - public function addDirRecursive($dir, $internalDir='') { - $dirname = basename($dir); - $rootDir = $internalDir . $dirname; - if (!empty($rootDir)) { - $this->streamerInstance->addEmptyDir($rootDir); - } - $internalDir .= $dirname . '/'; - // prevent absolute dirs - $internalDir = ltrim($internalDir, '/'); - - $files= \OC\Files\Filesystem::getDirectoryContent($dir); - foreach($files as $file) { - $filename = $file['name']; - $file = $dir . '/' . $filename; - if(\OC\Files\Filesystem::is_file($file)) { - $filesize = \OC\Files\Filesystem::filesize($file); - $fileTime = \OC\Files\Filesystem::filemtime($file); - $fh = \OC\Files\Filesystem::fopen($file, 'r'); - $this->addFileFromStream($fh, $internalDir . $filename, $filesize, $fileTime); - fclose($fh); - }elseif(\OC\Files\Filesystem::is_dir($file)) { - $this->addDirRecursive($file, $internalDir); - } - } - } - - /** - * Add a file to the archive at the specified location and file name. - * - * @param string $stream Stream to read data from - * @param string $internalName Filepath and name to be used in the archive. - * @param int $size Filesize - * @param int|bool $time File mtime as int, or false - * @return bool $success - */ - public function addFileFromStream($stream, $internalName, $size, $time) { - $options = []; - if ($time) { - $options = [ - 'timestamp' => $time - ]; - } - - if ($this->streamerInstance instanceof ZipStreamer) { - return $this->streamerInstance->addFileFromStream($stream, $internalName, $options); - } else { - return $this->streamerInstance->addFileFromStream($stream, $internalName, $size, $options); - } - } - - /** - * Add an empty directory entry to the archive. - * - * @param string $dirName Directory Path and name to be added to the archive. - * @return bool $success - */ - public function addEmptyDir($dirName){ - return $this->streamerInstance->addEmptyDir($dirName); - } - - /** - * Close the archive. - * A closed archive can no longer have new files added to it. After - * closing, the file is completely written to the output stream. - * @return bool $success - */ - public function finalize(){ - return $this->streamerInstance->finalize(); - } -} diff --git a/nextcloud/18/php-smbclient-latest.tar.gz b/nextcloud/18/php-smbclient-latest.tar.gz deleted file mode 100644 index 050212013..000000000 Binary files a/nextcloud/18/php-smbclient-latest.tar.gz and /dev/null differ diff --git a/nextcloud/18/smb.conf b/nextcloud/18/smb.conf deleted file mode 100644 index 9346a22f4..000000000 --- a/nextcloud/18/smb.conf +++ /dev/null @@ -1,239 +0,0 @@ -# -# Sample configuration file for the Samba suite for Debian GNU/Linux. -# -# -# This is the main Samba configuration file. You should read the -# smb.conf(5) manual page in order to understand the options listed -# here. Samba has a huge number of configurable options most of which -# are not shown in this example -# -# Some options that are often worth tuning have been included as -# commented-out examples in this file. -# - When such options are commented with ";", the proposed setting -# differs from the default Samba behaviour -# - When commented with "#", the proposed setting is the default -# behaviour of Samba but the option is considered important -# enough to be mentioned here -# -# NOTE: Whenever you modify this file you should run the command -# "testparm" to check that you have not made any basic syntactic -# errors. - -#======================= Global Settings ======================= - -[global] -client min protocol = SMB2 -client max protocol = SMB3 - - -## Browsing/Identification ### - -# Change this to the workgroup/NT-domain name your Samba server will part of - workgroup = WORKGROUP - -#### Networking #### - -# The specific set of interfaces / networks to bind to -# This can be either the interface name or an IP address/netmask; -# interface names are normally preferred -; interfaces = 127.0.0.0/8 eth0 - -# Only bind to the named interfaces and/or networks; you must use the -# 'interfaces' option above to use this. -# It is recommended that you enable this feature if your Samba machine is -# not protected by a firewall or is a firewall itself. However, this -# option cannot handle dynamic or non-broadcast interfaces correctly. -; bind interfaces only = yes - - - -#### Debugging/Accounting #### - -# This tells Samba to use a separate log file for each machine -# that connects - log file = /var/log/samba/log.%m - -# Cap the size of the individual log files (in KiB). - max log size = 1000 - -# We want Samba to only log to /var/log/samba/log.{smbd,nmbd}. -# Append syslog@1 if you want important messages to be sent to syslog too. - logging = file - -# Do something sensible when Samba crashes: mail the admin a backtrace - panic action = /usr/share/samba/panic-action %d - - -####### Authentication ####### - -# Server role. Defines in which mode Samba will operate. Possible -# values are "standalone server", "member server", "classic primary -# domain controller", "classic backup domain controller", "active -# directory domain controller". -# -# Most people will want "standalone server" or "member server". -# Running as "active directory domain controller" will require first -# running "samba-tool domain provision" to wipe databases and create a -# new domain. - server role = standalone server - - obey pam restrictions = yes - -# This boolean parameter controls whether Samba attempts to sync the Unix -# password with the SMB password when the encrypted SMB password in the -# passdb is changed. - unix password sync = yes - -# For Unix password sync to work on a Debian GNU/Linux system, the following -# parameters must be set (thanks to Ian Kahan < for -# sending the correct chat script for the passwd program in Debian Sarge). - passwd program = /usr/bin/passwd %u - passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . - -# This boolean controls whether PAM will be used for password changes -# when requested by an SMB client instead of the program listed in -# 'passwd program'. The default is 'no'. - pam password change = yes - -# This option controls how unsuccessful authentication attempts are mapped -# to anonymous connections - map to guest = bad user - -########## Domains ########### - -# -# The following settings only takes effect if 'server role = primary -# classic domain controller', 'server role = backup domain controller' -# or 'domain logons' is set -# - -# It specifies the location of the user's -# profile directory from the client point of view) The following -# required a [profiles] share to be setup on the samba server (see -# below) -; logon path = \\%N\profiles\%U -# Another common choice is storing the profile in the user's home directory -# (this is Samba's default) -# logon path = \\%N\%U\profile - -# The following setting only takes effect if 'domain logons' is set -# It specifies the location of a user's home directory (from the client -# point of view) -; logon drive = H: -# logon home = \\%N\%U - -# The following setting only takes effect if 'domain logons' is set -# It specifies the script to run during logon. The script must be stored -# in the [netlogon] share -# NOTE: Must be store in 'DOS' file format convention -; logon script = logon.cmd - -# This allows Unix users to be created on the domain controller via the SAMR -# RPC pipe. The example command creates a user account with a disabled Unix -# password; please adapt to your needs -; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u - -# This allows machine accounts to be created on the domain controller via the -# SAMR RPC pipe. -# The following assumes a "machines" group exists on the system -; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u - -# This allows Unix groups to be created on the domain controller via the SAMR -# RPC pipe. -; add group script = /usr/sbin/addgroup --force-badname %g - -############ Misc ############ - -# Using the following line enables you to customise your configuration -# on a per machine basis. The %m gets replaced with the netbios name -# of the machine that is connecting -; include = /home/samba/etc/smb.conf.%m - -# Some defaults for winbind (make sure you're not using the ranges -# for something else.) -; idmap config * : backend = tdb -; idmap config * : range = 3000-7999 -; idmap config YOURDOMAINHERE : backend = tdb -; idmap config YOURDOMAINHERE : range = 100000-999999 -; template shell = /bin/bash - -# Setup usershare options to enable non-root users to share folders -# with the net usershare command. - -# Maximum number of usershare. 0 means that usershare is disabled. -# usershare max shares = 100 - -# Allow users who've been granted usershare privileges to create -# public shares, not just authenticated ones - usershare allow guests = yes - -#======================= Share Definitions ======================= - -[homes] - comment = Home Directories - browseable = no - -# By default, the home directories are exported read-only. Change the -# next parameter to 'no' if you want to be able to write to them. - read only = yes - -# File creation mask is set to 0700 for security reasons. If you want to -# create files with group=rw permissions, set next parameter to 0775. - create mask = 0700 - -# Directory creation mask is set to 0700 for security reasons. If you want to -# create dirs. with group=rw permissions, set next parameter to 0775. - directory mask = 0700 - -# By default, \\server\username shares can be connected to by anyone -# with access to the samba server. -# The following parameter makes sure that only "username" can connect -# to \\server\username -# This might need tweaking when using external authentication schemes - valid users = %S - -# Un-comment the following and create the netlogon directory for Domain Logons -# (you need to configure Samba to act as a domain controller too.) -;[netlogon] -; comment = Network Logon Service -; path = /home/samba/netlogon -; guest ok = yes -; read only = yes - -# Un-comment the following and create the profiles directory to store -# users profiles (see the "logon path" option above) -# (you need to configure Samba to act as a domain controller too.) -# The path below should be writable by all users so that their -# profile directory may be created the first time they log on -;[profiles] -; comment = Users profiles -; path = /home/samba/profiles -; guest ok = no -; browseable = no -; create mask = 0600 -; directory mask = 0700 - -[printers] - comment = All Printers - browseable = no - path = /var/spool/samba - printable = yes - guest ok = no - read only = yes - create mask = 0700 - -# Windows clients look for this share name as a source of downloadable -# printer drivers -[print$] - comment = Printer Drivers - path = /var/lib/samba/printers - browseable = yes - read only = yes - guest ok = no -# Uncomment to allow remote administration of Windows print drivers. -# You may need to replace 'lpadmin' with the name of the group your -# admin users are members of. -# Please note that you also need to set appropriate Unix permissions -# to the drivers directory for these users to have write rights in it -; write list = root, @lpadmin -