1
0
Fork 0
mirror of https://codeberg.org/icewind/haze.git synced 2026-06-03 09:04:12 +02:00

initial nix based docker images

This commit is contained in:
Robin Appelman 2025-06-07 18:24:39 +02:00
commit 06bf3b4b62
72 changed files with 472 additions and 789 deletions

View file

@ -1,23 +0,0 @@
#!/usr/bin/env bash
set -e
export DOCKER_BUILDKIT=1
versions=("8.1" "8.2" "8.3" "8.4")
for version in "${versions[@]}"; do
echo "building haze-php-$version"
docker build --build-arg PHP_VERSION=$version -t "icewind1991/haze-php:$version" -f "php/Dockerfile" php
echo "building haze-php-$version-dbg"
docker build --build-arg BASE_IMAGE=icewind1991/php-dbg --build-arg PHP_VERSION=$version -t "icewind1991/haze-php:$version-dbg" -f "php/Dockerfile" php
done
for version in "${versions[@]}"; do
echo "building haze-$version"
docker build --build-arg PHP_VERSION=$version -t "icewind1991/haze:$version" -f "haze/Dockerfile" haze
echo "building haze-$version-dbg"
docker build --build-arg PHP_VERSION=$version-dbg -t "icewind1991/haze:$version-dbg" -f "haze/Dockerfile" haze
done
docker build -t "icewind1991/haze-ldap" -f "ldap/Dockerfile" ldap

View file

@ -1 +0,0 @@
.git

View file

@ -1,64 +0,0 @@
ARG PHP_VERSION
FROM icewind1991/haze-php:$PHP_VERSION
RUN DEBIAN_FRONTEND=noninteractive ;\
apt-get update && \
apt-get install --assume-yes \
cron \
redis-server \
smbclient \
npm \
sudo \
wget \
attr \
git \
neovim \
nano \
sqlite3 \
s3cmd \
gdb \
python3-pip \
procps \
rsnapshot \
# chromium \
ncat && \
apt-get install --assume-yes libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libasound2 libxtst6 xauth xvfb && \
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.1.35.zip" -o "awscliv2.zip" && \
unzip awscliv2.zip && \
./aws/install && \
wget https://phar.phpunit.de/phpunit-9.phar -O /usr/local/bin/phpunit.phar && \
curl -L https://github.com/harness/drone-cli/releases/latest/download/drone_linux_amd64.tar.gz | tar zx && \
install -t /usr/bin drone && \
wget https://github.com/vimeo/psalm/releases/latest/download/psalm.phar -O /usr/local/bin/psalm && \
chmod +x /usr/local/bin/psalm && \
touch /var/log/rsnapshot.log && \
chmod 0777 /var/log/rsnapshot.log && \
chmod 0777 /var/cache/rsnapshot
ADD misc/collaboraonline.sources /etc/apt/sources.list.d
RUN DEBIAN_FRONTEND=noninteractive ;\
wget -q -O - https://packages.blackfire.io/gpg.key | apt-key add - && \
echo "deb http://packages.blackfire.io/debian any main" >> /etc/apt/sources.list.d/blackfire.list && \
wget https://collaboraoffice.com/downloads/gpg/collaboraonline-release-keyring.gpg -O /usr/share/keyrings/collaboraonline-release-keyring.gpg && \
apt-get update && \
apt-get install --assume-yes blackfire
RUN curl https://dl.min.io/client/mc/release/linux-amd64/mc -o /usr/bin/mc && \
chmod +x /usr/bin/mc
ADD configs /root/
ADD configs/nginx-app.conf /etc/nginx/
RUN mkdir --parent /var/log/cron
ADD configs/cron.conf /etc/oc-cron.conf
ADD misc/bootstrap.sh misc/occ misc/tests misc/phpunit misc/install misc/occ misc/integration misc/chromium-no-sandbox /usr/local/bin/
ADD configs/sudoers /etc/sudoers.d/haze
ADD configs/.s3cfg configs/.gdbinit configs/.aws /home/haze/
ADD rsnapshot.conf /etc/rsnapshot.conf
ADD redis-certificates /redis-certificates
ENV WEBROOT /var/www/html
ENV EDITOR /usr/bin/neovim
ENTRYPOINT ["bootstrap.sh"]

View file

@ -1,9 +0,0 @@
[default]
s3 =
endpoint_url = http://s3:4566
s3api =
endpoint_url = http://s3:4566
[plugins]
endpoint = awscli_plugin_endpoint
cli_legacy_plugin_path = /usr/local/lib/python3.7/dist-packages

View file

@ -1,3 +0,0 @@
[default]
aws_access_key_id = dummy
aws_secret_access_key = dummy

View file

@ -1,645 +0,0 @@
define set_ts
set $tsrm_ls = $arg0
end
document set_ts
set the ts resource, it is impossible for gdb to
call ts_resource_ex while no process is running,
but we could get the resource from the argument
of frame info.
end
define ____executor_globals
if basic_functions_module.zts
set $tsrm_ls = _tsrm_ls_cache
set $eg = ((zend_executor_globals*) (*((void ***) $tsrm_ls))[executor_globals_id-1])
set $cg = ((zend_compiler_globals*) (*((void ***) $tsrm_ls))[compiler_globals_id-1])
set $eg_ptr = $eg
else
set $eg = executor_globals
set $cg = compiler_globals
set $eg_ptr = (zend_executor_globals*) &executor_globals
end
end
document ____executor_globals
portable way of accessing executor_globals, set $eg
this also sets compiler_globals to $cg
ZTS detection is automatically based on ext/standard module struct
end
define print_cvs
if $argc == 0
____executor_globals
set $cv_ex_ptr = $eg.current_execute_data
else
set $cv_ex_ptr = (zend_execute_data *)$arg0
end
set $cv_count = $cv_ex_ptr.func.op_array.last_var
set $cv = $cv_ex_ptr.func.op_array.vars
set $cv_idx = 0
set $callFrameSize = (sizeof(zend_execute_data) + sizeof(zval) - 1) / sizeof(zval)
printf "Compiled variables count: %d\n\n", $cv_count
while $cv_idx < $cv_count
printf "[%d] '%s'\n", $cv_idx, $cv[$cv_idx].val
set $zvalue = ((zval *) $cv_ex_ptr) + $callFrameSize + $cv_idx
printzv $zvalue
set $cv_idx = $cv_idx + 1
end
end
document print_cvs
Prints the compiled variables and their values.
If a zend_execute_data pointer is set this will print the compiled
variables of that scope. If no parameter is used it will use
current_execute_data for scope.
usage: print_cvs [zend_execute_data *]
end
define dump_bt
set $ex = $arg0
while $ex
printf "[%p] ", $ex
set $func = $ex->func
if $func
if $ex->This->value.obj
if $func->common.scope
printf "%s->", $func->common.scope->name->val
else
printf "%s->", $ex->This->value.obj->ce.name->val
end
else
if $func->common.scope
printf "%s::", $func->common.scope->name->val
end
end
if $func->common.function_name
printf "%s(", $func->common.function_name->val
else
printf "(main"
end
set $callFrameSize = (sizeof(zend_execute_data) + sizeof(zval) - 1) / sizeof(zval)
set $count = $ex->This.u2.num_args
set $arg = 0
while $arg < $count
if $arg > 0
printf ", "
end
set $zvalue = (zval *) $ex + $callFrameSize + $arg
set $type = $zvalue->u1.v.type
if $type == 1
printf "NULL"
end
if $type == 2
printf "false"
end
if $type == 3
printf "true"
end
if $type == 4
printf "%ld", $zvalue->value.lval
end
if $type == 5
printf "%f", $zvalue->value.dval
end
if $type == 6
____print_str $zvalue->value.str->val $zvalue->value.str->len
end
if $type == 7
printf "array(%d)[%p]", $zvalue->value.arr->nNumOfElements, $zvalue
end
if $type == 8
printf "object[%p]", $zvalue
end
if $type == 9
printf "resource(#%d)", $zvalue->value.lval
end
if $type == 10
printf "reference"
end
if $type > 10
printf "unknown type %d", $type
end
set $arg = $arg + 1
end
printf ") "
else
printf "??? "
end
if $func != 0
if $func->type == 2
printf "%s:%d ", $func->op_array.filename->val, $ex->opline->lineno
else
printf "[internal function]"
end
end
set $ex = $ex->prev_execute_data
printf "\n"
end
end
document dump_bt
dumps the current execution stack. usage: dump_bt executor_globals.current_execute_data
end
define printzv
set $ind = 1
____printzv $arg0 0
end
document printzv
prints zval contents
end
define ____printzv_contents
set $zvalue = $arg0
set $type = $zvalue->u1.v.type
# 15 == IS_INDIRECT
if $type > 5 && $type < 12
printf "(refcount=%d) ", $zvalue->value.counted->gc.refcount
end
if $type == 0
printf "UNDEF"
end
if $type == 1
printf "NULL"
end
if $type == 2
printf "bool: false"
end
if $type == 3
printf "bool: true"
end
if $type == 4
printf "long: %ld", $zvalue->value.lval
end
if $type == 5
printf "double: %f", $zvalue->value.dval
end
if $type == 6
printf "string: %s", $zvalue->value.str->val
end
if $type == 7
printf "array: "
if ! $arg1
set $ind = $ind + 1
____print_ht $zvalue->value.arr 1
set $ind = $ind - 1
set $i = $ind
while $i > 0
printf " "
set $i = $i - 1
end
end
set $type = 0
end
if $type == 8
printf "object"
____executor_globals
set $handle = $zvalue->value.obj.handle
set $handlers = $zvalue->value.obj.handlers
set $zobj = $zvalue->value.obj
set $cname = $zobj->ce->name->val
printf "(%s) #%d", $cname, $handle
if ! $arg1
if $handlers->get_properties == &zend_std_get_properties
if $zobj->properties
printf "\nProperties "
set $ht = $zobj->properties
set $ind = $ind + 1
____print_ht $ht 1
set $ind = $ind - 1
set $i = $ind
while $i > 0
printf " "
set $i = $i - 1
end
else
printf " {\n"
set $ht = &$zobj->ce->properties_info
set $k = 0
set $num = $ht->nNumUsed
while $k < $num
set $p = (Bucket*)($ht->arData + $k)
set $name = $p->key
set $prop = (zend_property_info*)$p->val.value.ptr
set $val = (zval*)((char*)$zobj + $prop->offset)
printf "%s => ", $name->val
printzv $val
set $k = $k + 1
end
end
end
end
set $type = 0
end
if $type == 9
printf "resource: #%d", $zvalue->value.res->handle
end
if $type == 10
printf "reference: "
____printzv &$zvalue->value.ref->val $arg1
end
if $type == 11
printf "CONSTANT_AST"
end
if $type == 12
printf "indirect: "
____printzv $zvalue->value.zv $arg1
end
if $type == 13
printf "pointer: %p", $zvalue->value.ptr
end
if $type == 15
printf "_ERROR"
end
if $type == 16
printf "_BOOL"
end
if $type == 17
printf "_NUMBER"
end
if $type > 17
printf "unknown type %d", $type
end
printf "\n"
end
define ____printzv
____executor_globals
set $zvalue = $arg0
printf "[%p] ", $zvalue
set $zcontents = (zval*) $zvalue
if $arg1
____printzv_contents $zcontents $arg1
else
____printzv_contents $zcontents 0
end
end
define print_global_vars
____executor_globals
set $symtable = ((HashTable *)&($eg_ptr->symbol_table))
print_ht $symtable
end
document print_global_vars
Prints the global variables
end
define print_const_table
set $ind = 1
printf "[%p] {\n", $arg0
____print_ht $arg0 4
printf "}\n"
end
document print_const_table
Dumps elements of Constants HashTable
Example: print_const_table executor_globals.zend_constants
end
define ____print_ht
set $ht = (HashTable*)$arg0
set $n = $ind
while $n > 0
printf " "
set $n = $n - 1
end
if $ht->u.v.flags & 4
printf "Packed"
else
printf "Hash"
end
printf "(%d)[%p]: {\n", $ht->nNumOfElements, $ht
set $num = $ht->nNumUsed
set $i = 0
set $ind = $ind + 1
while $i < $num
set $p = (Bucket*)($ht->arData + $i)
set $n = $ind
if $p->val.u1.v.type > 0
while $n > 0
printf " "
set $n = $n - 1
end
printf "[%d] ", $i
if $p->key
____print_str $p->key->val $p->key->len
printf " => "
else
printf "%d => ", $p->h
end
if $arg1 == 0
printf "%p\n", (zval *)&$p->val
end
if $arg1 == 1
set $zval = (zval *)&$p->val
____printzv $zval 1
end
if $arg1 == 2
printf "%s\n", (char*)$p->val.value.ptr
end
if $arg1 == 3
set $func = (zend_function*)$p->val.value.ptr
printf "\"%s\"\n", $func->common.function_name->val
end
if $arg1 == 4
set $const = (zend_constant *)$p->val.value.ptr
____printzv $const 1
end
end
set $i = $i + 1
end
set $ind = $ind - 1
printf "}\n"
end
define print_ht
set $ind = 0
____print_ht $arg0 1
end
document print_ht
dumps elements of HashTable made of zval
end
define print_htptr
set $ind = 0
____print_ht $arg0 0
end
document print_htptr
dumps elements of HashTable made of pointers
end
define print_htstr
set $ind = 0
____print_ht $arg0 2
end
document print_htstr
dumps elements of HashTable made of strings
end
define print_ft
set $ind = 0
____print_ht $arg0 3
end
document print_ft
dumps a function table (HashTable)
end
define ____print_inh_class
set $ce = $arg0
if $ce->ce_flags & 0x10 || $ce->ce_flags & 0x20
printf "abstract "
else
if $ce->ce_flags & 0x40
printf "final "
end
end
printf "class %s", $ce->name->val
if $ce->parent != 0
printf " extends %s", $ce->parent->name->val
end
if $ce->num_interfaces != 0
printf " implements"
set $tmp = 0
while $tmp < $ce->num_interfaces
printf " %s", $ce->interfaces[$tmp]->name->val
set $tmp = $tmp + 1
if $tmp < $ce->num_interfaces
printf ","
end
end
end
set $ce = $ce->parent
end
define ____print_inh_iface
set $ce = $arg0
printf "interface %s", $ce->name->val
if $ce->num_interfaces != 0
set $ce = $ce->interfaces[0]
printf " extends %s", $ce->name->val
else
set $ce = 0
end
end
define print_inh
set $ce = $arg0
set $depth = 0
while $ce != 0
set $tmp = $depth
while $tmp != 0
printf " "
set $tmp = $tmp - 1
end
set $depth = $depth + 1
if $ce->ce_flags & 0x80
____print_inh_iface $ce
else
____print_inh_class $ce
end
printf " {\n"
end
while $depth != 0
set $tmp = $depth
while $tmp != 1
printf " "
set $tmp = $tmp - 1
end
printf "}\n"
set $depth = $depth - 1
end
end
define print_pi
set $pi = (zend_property_info *)$arg0
set $initial_offset = ((uint32_t)(zend_uintptr_t)(&((zend_object*)0)->properties_table[(0)]))
set $ptr_to_val = (zval*)((char*)$pi->ce->default_properties_table + $pi->offset - $initial_offset)
printf "[%p] {\n", $pi
printf " offset = %p\n", $pi->offset
printf " ce = [%p] %s\n", $pi->ce, $pi->ce->name->val
printf " flags = 0x%x (", $pi->flags
if $pi->flags & 0x100
printf "ZEND_ACC_PUBLIC"
else
if $pi->flags & 0x200
printf "ZEND_ACC_PROTECTED"
else
if $pi->flags & 0x400
printf "ZEND_ACC_PRIVATE"
else
if $pi->flags & 0x800
printf "ZEND_ACC_EARLY_BINDING"
else
if $pi->flags & 0x20000
printf "ZEND_ACC_SHADOW"
end
end
end
end
end
printf ")\n"
printf " name = "
print_zstr $pi->name
printf " default value: "
printzv $ptr_to_val
printf "}\n"
end
document print_pi
Takes a pointer to an object's property and prints the property information
usage: print_pi <ptr>
end
define ____print_str
set $tmp = 0
set $str = $arg0
if $argc > 2
set $maxlen = $arg2
else
set $maxlen = 256
end
printf "\""
while $tmp < $arg1 && $tmp < $maxlen
if $str[$tmp] > 31 && $str[$tmp] < 127
printf "%c", $str[$tmp]
else
printf "\\%o", $str[$tmp]
end
set $tmp = $tmp + 1
end
if $tmp != $arg1
printf "..."
end
printf "\""
end
define printzn
____executor_globals
set $ind = 0
set $znode = $arg0
if $znode->op_type == 1
set $optype = "IS_CONST"
end
if $znode->op_type == 2
set $optype = "IS_TMP_VAR"
end
if $znode->op_type == 4
set $optype = "IS_VAR"
end
if $znode->op_type == 8
set $optype = "IS_UNUSED"
end
printf "[%p] %s", $znode, $optype
if $znode->op_type == 1
printf ": "
____printzv &$znode->u.constant 0
end
if $znode->op_type == 2
printf ": "
set $tvar = (union _temp_variable *)((char *)$eg.current_execute_data->Ts + $znode->u.var)
____printzv ((union _temp_variable *)$tvar)->tmp_var 0
end
if $znode->op_type == 4
printf ": "
set $tvar = (union _temp_variable *)((char *)$eg.current_execute_data->Ts + $znode->u.var)
____printzv *$tvar->var.ptr_ptr 0
end
if $znode->op_type == 8
printf "\n"
end
end
document printzn
print type and content of znode.
usage: printzn &opline->op1
end
define printzops
printf "op1 => "
printzn &execute_data->opline.op1
printf "op2 => "
printzn &execute_data->opline.op2
printf "result => "
printzn &execute_data->opline.result
end
document printzops
dump operands of the current opline
end
define print_zstr
set $zstr = (zend_string *)$arg0
if $argc == 2
set $maxlen = $arg1
else
set $maxlen = $zstr->len
end
printf "string(%d) ", $zstr->len
____print_str $zstr->val $zstr->len $maxlen
printf "\n"
end
document print_zstr
print the length and contents of a zend string
usage: print_zstr <ptr> [max length]
end
define zbacktrace
____executor_globals
dump_bt $eg.current_execute_data
end
document zbacktrace
prints backtrace.
This command is almost a short cut for
> (gdb) ____executor_globals
> (gdb) dump_bt $eg.current_execute_data
end
define lookup_root
set $found = 0
if gc_globals->roots
set $current = gc_globals->roots->next
printf "looking ref %p in roots\n", $arg0
while $current != &gc_globals->roots
if $current->ref == $arg0
set $found = $current
break
end
set $current = $current->next
end
if $found != 0
printf "found root %p\n", $found
else
printf "not found\n"
end
end
end
document lookup_root
lookup a refcounted in root
usage: lookup_root [ptr].
end

View file

@ -1,6 +0,0 @@
[default]
access_key = minio
secret_key = minio123
host_base = http://s3:9000/
host_bucket = http://s3:9000/%(bucket)
check_ssl_certificate = False

View file

@ -1,9 +0,0 @@
<?php
$AUTOCONFIG = [
'dbname' => 'haze',
'dbhost' => 'pgsql',
'dbuser' => 'haze',
'dbpass' => 'haze',
'dbtype' => 'pgsql'
];

View file

@ -1,9 +0,0 @@
<?php
$AUTOCONFIG = [
'dbname' => 'haze',
'dbhost' => 'mariadb',
'dbuser' => 'haze',
'dbpass' => 'haze',
'dbtype' => 'mysql'
];

View file

@ -1,9 +0,0 @@
<?php
$AUTOCONFIG = [
'dbname' => 'haze',
'dbhost' => 'mysql',
'dbuser' => 'haze',
'dbpass' => 'haze',
'dbtype' => 'mysql'
];

View file

@ -1,9 +0,0 @@
<?php
$AUTOCONFIG = [
'dbname' => 'xe',
'dbhost' => 'oracle',
'dbuser' => 'system',
'dbpass' => 'haze',
'dbtype' => 'oci'
];

View file

@ -1,9 +0,0 @@
<?php
$AUTOCONFIG = [
'dbname' => 'haze',
'dbhost' => 'pgsql',
'dbuser' => 'haze',
'dbpass' => 'haze',
'dbtype' => 'pgsql'
];

View file

@ -1,10 +0,0 @@
'objectstore' => [
'class' => 'OC\\Files\\ObjectStore\\Azure',
'arguments' => array(
'container' => 'test',
'account_name' => 'devstoreaccount1',
'account_key' => 'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==',
'endpoint' => 'http://azure:10000/devstoreaccount1',
'autocreate' => true
)
],

View file

@ -1,12 +0,0 @@
<?php $CONFIG=[
'debug' => true,
'appstoreenabled' => false,
'memcache.local' => '\\OC\\Memcache\\APCu',
'memcache.distributed' => '\\OC\\Memcache\\APCu',
'memcache.locking' => '\\OC\\Memcache\\APCu',
'allow_local_remote_servers' => true,
'trusted_domains' => ['cloud'],
'profiling.secret' => 'haze',
'profiling.path' => '/tmp/profiling',
//PLACEHOLDER
];

View file

@ -1,2 +0,0 @@
# m h dom mon dow command
*/5 * * * * sudo -u haze php -f /var/www/html/cron.php >> /var/log/cron/haze.log 2>&1

View file

@ -1,10 +0,0 @@
'objectstore' => [
'class' => 'OC\\Files\\ObjectStore\\Azure',
'arguments' => array(
'container' => 'test',
'account_name' => 'devstoreaccount1',
'account_key' => 'Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==',
'endpoint' => 'http://azure:10000/devstoreaccount1',
'autocreate' => true
)
],

View file

@ -1,9 +0,0 @@
<?php
$AUTOCONFIG = [
'dbname' => 'haze',
'dbhost' => 'mysql',
'dbuser' => 'haze',
'dbpass' => 'haze',
'dbtype' => 'mysql'
];

View file

@ -1,22 +0,0 @@
# Entry 3: cn=ldaptest,dc=example,dc=org
dn: cn=ldaptest,dc=example,dc=org
cn: ldaptest
gidnumber: 500
givenname: ldap
homedirectory: /home/users/ldaptest
objectclass: inetOrgPerson
objectclass: posixAccount
objectclass: top
objectclass: organizationalPerson
sn: test
uid: ldaptest
uidnumber: 1000
# userpassword = test
userpassword: {MD5}CY9rzUYh03PK3k6DJie09g==
# Entry 4: cn=test,dc=example,dc=org
dn: cn=test,dc=example,dc=org
cn: test
gidnumber: 500
objectclass: posixGroup
objectclass: top

View file

@ -1,19 +0,0 @@
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;
location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) {
deny all;
}
location / {
## The following 2 rules are only needed with webfinger
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
rewrite ^/.well-known/carddav /remote.php/dav/ permanent;
rewrite ^/.well-known/caldav /remote.php/dav/ permanent;
rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;
try_files $uri $uri/ /index.php$request_uri;
}

View file

@ -1,2 +0,0 @@
'redis' => ['host' => 'localhost'],
//PLACEHOLDER

View file

@ -1,11 +0,0 @@
'redis' => [
'host' => 'tls://127.0.0.1',
'port' => 6379,
'ssl_context' => [
'local_cert' => '/redis-certificates/client.crt',
'local_pk' => '/redis-certificates/client.key',
'cafile' => '/redis-certificates/ca.crt',
'verify_peer_name' => false,
],
],
//PLACEHOLDER

View file

@ -1,14 +0,0 @@
'objectstore' => [
'class' => 'OC\Files\ObjectStore\S3',
'arguments' => [
'bucket' => 'nextcloud',
'autocreate' => true,
'key' => 'minio',
'secret' => 'minio123',
'hostname' => 's3',
'port' => 9000,
'use_ssl' => false,
'use_path_style' => true,
'uploadPartSize' => 52428800,
],
],

View file

@ -1,47 +0,0 @@
'objectstore' => [
'default' => 'multi',
'multi' => [
'class' => 'OC\Files\ObjectStore\S3',
'arguments' => [
'multibucket' => true,
'num_buckets' => 8,
'bucket' => 'nextcloud-multi-',
'autocreate' => true,
'key' => 'minio',
'secret' => 'minio123',
'hostname' => 's3',
'port' => 9000,
'use_ssl' => false,
'use_path_style' => true,
'uploadPartSize' => 52428800,
],
],
'single' => [
'class' => 'OC\Files\ObjectStore\S3',
'arguments' => [
'bucket' => 'nextcloud-single',
'autocreate' => true,
'key' => 'minio',
'secret' => 'minio123',
'hostname' => 's3',
'port' => 9000,
'use_ssl' => false,
'use_path_style' => true,
'uploadPartSize' => 52428800,
],
],
'root' => [
'class' => 'OC\Files\ObjectStore\S3',
'arguments' => [
'bucket' => 'nextcloud-root',
'autocreate' => true,
'key' => 'minio',
'secret' => 'minio123',
'hostname' => 's3',
'port' => 9000,
'use_ssl' => false,
'use_path_style' => true,
'uploadPartSize' => 52428800,
],
],
],

View file

@ -1,15 +0,0 @@
'objectstore_multibucket' => [
'class' => 'OC\Files\ObjectStore\S3',
'arguments' => [
'num_buckets' => 64,
'bucket' => 'nextcloud-',
'autocreate' => true,
'key' => 'minio',
'secret' => 'minio123',
'hostname' => 's3',
'port' => 9000,
'use_ssl' => false,
'use_path_style' => true,
'uploadPartSize' => 52428800,
],
],

View file

@ -1 +0,0 @@
haze ALL=(ALL) NOPASSWD: ALL

View file

@ -1,14 +0,0 @@
'objectstore' => [
'class' => 'OC\Files\ObjectStore\Swift',
'arguments' => [
// replace with your bucket
'bucket' => 'nextcloud',
'autocreate' => true,
'username' => 'swift',
'password' => 'swift',
'tenantName' => 'service',
'region' => 'regionOne',
'url' => 'http://keystone:5000/v2.0',
'serviceName' => 'swift',
],
],

View file

@ -1,27 +0,0 @@
'objectstore' => [
'class' => 'OC\Files\ObjectStore\Swift',
'arguments' => [
// replace with your bucket
'bucket' => 'nextcloud',
'autocreate' => true,
'user' => [
'name' => 'swift',
'password' => 'swift',
'domain' => [
'name' => 'default',
]
],
'scope' => [
'project' => [
'name' => 'service',
'domain' => [
'name' => 'default',
],
],
],
'tenantName' => 'service',
'region' => 'regionOne',
'url' => 'http://keystone:5000/v3',
'serviceName' => 'swift',
],
],

View file

@ -1,102 +0,0 @@
#!/bin/sh
touch /var/log/nginx/access.log
touch /var/log/nginx/error.log
touch /var/log/cron/owncloud.log
cp /root/config.php /var/www/html/config/config.php
if [ "$SQL" = "mysql" ]
then
cp /root/autoconfig_mysql.php /var/www/html/config/autoconfig.php
fi
if [ "$SQL" = "mariadb" ]
then
cp /root/autoconfig_mariadb.php /var/www/html/config/autoconfig.php
fi
if [ "$SQL" = "pgsql" ]
then
cp /root/autoconfig_pgsql.php /var/www/html/config/autoconfig.php
fi
if [ "$SQL" = "oci" ]
then
cp /root/autoconfig_oci.php /var/www/html/config/autoconfig.php
fi
UID=${UID:-www-data}
GID=${GID:-www-data}
echo "Running as $UID:$GID"
chown -R $UID:$GID /var/www/html/data /var/www/html/config
chown $UID:$GID /var/www/html/core/skeleton /var/www/html/build/integration/vendor /var/www/html/build/integration/composer.lock /var/www/html/build/integration/output /var/www/html/build/integration/work /var/www/html/core/skeleton /var/www/.composer/cache /var/www/html/apps/spreed/tests/integration/vendor/composer
echo "{}" > /var/www/html/build/integration/composer.lock
echo "Starting server using $SQL database…"
tail --follow --retry /var/log/nginx/*.log /var/log/cron/owncloud.log &
if [ -n "$S3" ]
then
sed -i '/\/\/PLACEHOLDER/ r /root/s3.php' /var/www/html/config/config.php
fi
if [ -n "$S3MB" ]
then
sed -i '/\/\/PLACEHOLDER/ r /root/s3mb.php' /var/www/html/config/config.php
fi
if [ -n "$S3M" ]
then
sed -i '/\/\/PLACEHOLDER/ r /root/s3m.php' /var/www/html/config/config.php
fi
if [ -n "$SWIFT" ]
then
sed -i '/\/\/PLACEHOLDER/ r /root/swift.php' /var/www/html/config/config.php
fi
if [ -n "$SWIFTV3" ]
then
sed -i '/\/\/PLACEHOLDER/ r /root/swiftv3.php' /var/www/html/config/config.php
fi
if [ -n "$AZURE" ]
then
sed -i '/\/\/PLACEHOLDER/ r /root/azure.php' /var/www/html/config/config.php
fi
if [ -n "$REDIS_TLS" ]
then
sed -i '/\/\/PLACEHOLDER/ r /root/redis-tls.php' /var/www/html/config/config.php
else
sed -i '/\/\/PLACEHOLDER/ r /root/redis-default.php' /var/www/html/config/config.php
fi
if [ -n "$BLACKFIRE_SERVER_ID" ]
then
sh -c '
yes | blackfire agent:config --server-id=$BLACKFIRE_SERVER_ID --server-token=$BLACKFIRE_SERVER_TOKEN
mkdir /var/run/blackfire/
BLACKFIRE_LOG_LEVEL=4 BLACKFIRE_LOG_FILE=/var/log/agent.log blackfire agent &
'&
fi
crontab /etc/oc-cron.conf
/usr/sbin/cron -f &
if [ -n "$REDIS_TLS" ]
then
/usr/bin/redis-server --protected-mode no \
--tls-port 6379 --port 0 \
--tls-cert-file /redis-certificates/server.crt \
--tls-key-file /redis-certificates/server.key \
--tls-ca-cert-file /redis-certificates/ca.crt &
else
/usr/bin/redis-server --protected-mode no &
fi
/usr/local/bin/bootstrap-nginx.sh

View file

@ -1,3 +0,0 @@
#!/bin/sh
chromium --no-sandbox $@

View file

@ -1,4 +0,0 @@
Types: deb
URIs: https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-debian11
Suites: ./
Signed-By: /usr/share/keyrings/collaboraonline-release-keyring.gpg

View file

@ -1,20 +0,0 @@
#!/bin/sh
USER=$1
PASSWORD=$2
if [ -z "$USER" ] || [ -z "$PASSWORD" ]; then
echo "Usage: install \$USER \$PASSWORD"
exit;
fi
cd $WEBROOT
if [ "$SQL" = "oci" ]; then
# oracle is a special snowflake
occ maintenance:install --admin-user=$USER --admin-pass=$PASSWORD --database=$SQL --database-name=xe --database-host=$SQL --database-user=system --database-pass=haze
elif [ "$SQL" = "mariadb" ]; then
occ maintenance:install --admin-user=$USER --admin-pass=$PASSWORD --database=mysql --database-name=haze --database-host=$SQL --database-user=haze --database-pass=haze
else
occ maintenance:install --admin-user=$USER --admin-pass=$PASSWORD --database=$SQL --database-name=haze --database-host=$SQL --database-user=haze --database-pass=haze
fi;

View file

@ -1,4 +0,0 @@
#!/bin/sh
cd $WEBROOT/build/integration
./run.sh "$@"

View file

@ -1,5 +0,0 @@
#!/bin/sh
export XDEBUG_SESSION=haze
php $WEBROOT/occ "$@"

View file

@ -1,3 +0,0 @@
#!/bin/sh
/usr/local/bin/php -d memory_limit=512M /usr/local/bin/phpunit.phar $@

View file

@ -1,7 +0,0 @@
#!/bin/sh
cd $WEBROOT
export XDEBUG_SESSION=haze
phpunit --configuration $WEBROOT/tests/phpunit-autotest.xml $@

View file

@ -1,31 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIFSzCCAzOgAwIBAgIUeeghZlFLpiHZ4i5XoYSArRfBZEkwDQYJKoZIhvcNAQEL
BQAwNTETMBEGA1UECgwKUmVkaXMgVGVzdDEeMBwGA1UEAwwVQ2VydGlmaWNhdGUg
QXV0aG9yaXR5MB4XDTI1MDUwMTE3MzA0NFoXDTM1MDQyOTE3MzA0NFowNTETMBEG
A1UECgwKUmVkaXMgVGVzdDEeMBwGA1UEAwwVQ2VydGlmaWNhdGUgQXV0aG9yaXR5
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1zHa4DZDvV/9816BBzXb
S/N9EWaZuFmkWy8XNcChMenZvHlOBoU2Ah+mcqBrbvpC4mmqCQVKK/URz8KU3ZlL
bI8VGPbysnBcXatVCCNEC6AcE6ZP32ULAmnxnLMAaZnXDUv2qvB/WGBO82pNTi2Y
JP814IpmvNLCr5P4ERu0qi0M1FRMKYN4lwZxJPm1QAeGcBMYqTy9P415LEcGqSHt
4guowgdySSHk0MkeHpc5lkXP4Wh+0Z3dfr5honA/NndMRfEb00SMQM6WMKaPBzjZ
59IvZRD6/SXmSXbnBOr8BnBQHTwshR12lhv0QX+iA53TenHwbNG4wEqR7mCRW8S0
ugtw+7f1WmPXoIFUfzZhPr5QKN4a6NDp+7VJk3E2DfjzyMY4QVc8c4jiKZjLgdJW
oTpN0RTzzL/kNHnYiruBUMPhqbijJJmHH57a1o+sDB7pR4CxM9JjwAEAp9cGuBUj
JdSZX9aL1aEYt8PnoXuGAGripPXLS47AkOYs3uZfZFssu/HtoN0Qg8XEGZm87xQj
UKZdHCcec84OaQHScWJ1yBjzTOcQsewymhwg/Uoan4Bq+m9yaBb4A9/ouh0WeOza
oSm7gtY0tl4aM0TUqHddt8cSrvlGc2DXc2UdkPyzoxQftSbW6kBbgEOG5X0HKqIT
2Yta7e4BiEYHV883R0lz3r8CAwEAAaNTMFEwHQYDVR0OBBYEFGifegOeUflLHL6A
uWVeOyDgcNewMB8GA1UdIwQYMBaAFGifegOeUflLHL6AuWVeOyDgcNewMA8GA1Ud
EwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAGIcOPQB9PSfqruSDX8jcJ/q
uI3J0BEH+XkQ2v+4pJ3RQYMczUPRoKBPxqtN2R2G30zzjfEQkhBQAyNVP/dZ1I0+
qaVEdgJR9gydJQGaaL6vaHyt6yEyyjCIpF8ZJKi0UeSJmwlfq2VR7BBDKSTppwT0
ELuOrfsgyIFCWSWW1NkFEKlf5x2NVE0DVCv4/8xDXx+1Oc2JZFnnhZ9Im1j1yUqg
H+oRB9feFR4YCItuXRO2mSPdmwvtZNPVSMwEPuv2YKolVZP6FnJt8/s8DKGhzM7U
Xkg2xvoheVzMlVwWy7EUDzxYtGJYOO80AvHo5TQ6xdsFQ7b+hvytkBejOClDfxAN
QPZaYKSmg+FdfOvwIfDzZn798M8DjRfTxp+7KZCOaVAulUbyrzWUdMKbnnPHbyA5
67kcjKDY9jjnFbl5Nvgqh2hf/fWopM2bRJ9YqI8c7DnrSu7fYg4O1SJl6M8+ROYW
F8qBXi8ncXdYApHJibQdrEHy0p2OlsGTOJezTD2jydny9LmNvhviDJLZpIcdLhPg
ib1rEkXmIbUCueIdJATY1gWfN+6T7d1lU5ifznSryHFNk7obWJoCxh3eS10NUUsO
y0jF3kCNSn8Uc5upgMKfqAeH9iUmnheVRbwGSNNkekJD9HPXeqVDdN68uRAXCx4E
Oq+n5WQOPvSvw5IMlIXN
-----END CERTIFICATE-----

View file

@ -1,52 +0,0 @@
-----BEGIN PRIVATE KEY-----
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
QlwIocgNC+s6KwWV+02rkVzn1rT8M9s=
-----END PRIVATE KEY-----

View file

@ -1 +0,0 @@
478FE4DB973CA6ABD6D97AD684DBD5B3564C28D8

View file

@ -1,26 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIEUDCCAjigAwIBAgIUR4/k25c8pqvW2XrWhNvVs1ZMKNcwDQYJKoZIhvcNAQEL
BQAwNTETMBEGA1UECgwKUmVkaXMgVGVzdDEeMBwGA1UEAwwVQ2VydGlmaWNhdGUg
QXV0aG9yaXR5MB4XDTI1MDUwMTE3MzA0NFoXDTI2MDUwMTE3MzA0NFowKzETMBEG
A1UECgwKUmVkaXMgVGVzdDEUMBIGA1UEAwwLQ2xpZW50LW9ubHkwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDKZvm4/tWR4mAq9bV59IeS8rWxu0t2WQeI
NODF99+ou1lJmBap1OtTd618jzbEWNH/wIlB4jhbaqyLMdXDiLdbXclumjfU9/GG
76AbceFX1XVksXzIdMESdub0ZdzqYdbi1hwXXfRNRIokUGBQS4Z5OqRBrJKS6J9i
dzy6rVArxIQfRzaK2urQvqCBuoiob2x7sJyRjDj0kEAQHOouN+6Yporoda3A50Ca
elZfxo/Q6eZJt6RppgM0Icp4+F5OF3teljVQIyktPkH6g+9fC+gP+VLon8Jfp4Ph
+VZQNEj3EH8M9P+CuAZnw/NOsweD+pbjGbUD2/3rEBBwRKWikL4pAgMBAAGjYjBg
MAsGA1UdDwQEAwIFoDARBglghkgBhvhCAQEEBAMCB4AwHQYDVR0OBBYEFElng8Se
2ewVbMzURtIVfyCa6ovSMB8GA1UdIwQYMBaAFGifegOeUflLHL6AuWVeOyDgcNew
MA0GCSqGSIb3DQEBCwUAA4ICAQBUyf0h8z3QZ5X6+fo9oDrNVdKOSlFLh/ekj7fc
oaWCbJVQ14kvkEEjmHs9DnjStEix6Rum0ebWVs97xxMX3BQVtmAzcToXmV1kkNj0
rMcNr+h8c2olnhNTgPMcdEIcYwokfoXBwIFM9qeEq+HwU84UpvOHzGeXGE+Emwo1
GhCkn30bP2OEOHMU0Ei2kyMg3ogpIxViLJS714WnWnuPcrx8aB3LTz6sP65mGJOP
hT4Y0CIl2O//AN/8fZjjGruXcYAo/ClM1VgVKPTlknf3mLZ7Y0/O9cLSQYtPwZGk
Cxmsl2RFET7gUy4vhU9go0XNgInO/4sBs6sQSL80V2lf0NUzLCXRItUNLsKEZ9qU
0AY/MDJza4ESNBrcCcuClhuHBRtkAqFL/4n5a+X+ddm/UnJHJQMMvoEBgyfT5C4a
+eXPFexz9kJ03Qb9cSwPw0AUHamYzdVivOavWnk2QXbDzNe4tOQOGqjHt2CJVLC7
09Xgsu3zOlEIMdeAk7ryUOz9+Hca+NUFliVpMGdKnHmUUKUnhRdsokC/2FZ1PEvI
DaO7US9f9qVB0IX4hKSHAvG722un2F9gpwSBsXlL63lhkW/CwkqhMCyfcUSOtCNy
THdLlaBwWmQiHkIL+ArQ+rFYEPH08ewypInsesIwTh4ZLm3WKyHsT5cXdUdS0kXH
uPis/Q==
-----END CERTIFICATE-----

View file

@ -1,28 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDKZvm4/tWR4mAq
9bV59IeS8rWxu0t2WQeINODF99+ou1lJmBap1OtTd618jzbEWNH/wIlB4jhbaqyL
MdXDiLdbXclumjfU9/GG76AbceFX1XVksXzIdMESdub0ZdzqYdbi1hwXXfRNRIok
UGBQS4Z5OqRBrJKS6J9idzy6rVArxIQfRzaK2urQvqCBuoiob2x7sJyRjDj0kEAQ
HOouN+6Yporoda3A50CaelZfxo/Q6eZJt6RppgM0Icp4+F5OF3teljVQIyktPkH6
g+9fC+gP+VLon8Jfp4Ph+VZQNEj3EH8M9P+CuAZnw/NOsweD+pbjGbUD2/3rEBBw
RKWikL4pAgMBAAECggEAAY6a6N2WVq8h+UKho5oKJEsXXbzTSZ+etgwIwffJsdpw
cedTHqRY2RqzFsxilKPFnczlNsC0Q/PFTF7U8Pz6GCBXvoY+MWEPlm+n0NORSGPd
KX9PYUVl/4Ey/qSn9z+gb7yg7lxr1t+qRmQ95sWQom8dOLTIqIup6jqA7kNgugLK
ATPQIZ+J7XI779GJhnIE2UqyPUZq6Kk9wlV7MGSiaXHXRLiIoR4w6slZM862Wjvl
yWP/V3aiOBgfSDpO5igdDQkNOPoNUehxMyCc0Q30vdnezBJw5B0fGh69tFiMPnql
4+ZnTtHZxQaaE+KH488e5qWBMlF62xn/95U7a4EguQKBgQDpgOHWMXUYOm29eSlV
y9NHsxKS9k0by/HTmwNV/fSDm9CJS4OX5HCOWkxjc4VGwHOp8hqfc3XHf+15vfKl
TN7p77T/i5nd19gT0ulMtp4RCEG3SPAGCucdKzP08wobs2/bRuyiM6WLcvDiKhS4
ppFHiSV99jl5Hy/JWMOOH+D1VQKBgQDd5wPMyko1RWn/BMWpsD4On2FtkRiZb/gA
Lg8+GdeIDz28nB19tR49+6pF8tCQbt1NYBnlq04ZUFbSX1MCJCp/wUFixoM4Olqz
aJvu6Fql9YzLox6zq9PXOzWEWxcW/kmKBbFuNKwemu4YbYNBvoRIyLIH67Gp0nc4
J7x/0kwlhQKBgQDG1SZ5e/fXv7k+xHN8SWoJ/eRtHCqg5tNveuomSW/yubWjk5fk
uXNW5HFzpiTxEGPtbOlaqbi7PqX7KtH6DDEtRx77E+bbzzaB+vEKj96dZkh/SC6L
FrGiVu2RQXt0ByHSuNw7ansm+aNBEtA+RCgloBU643YhO3s3msw6s86dWQKBgHw3
K0tiGbRETRdyRmu8uqBY26MHy+toYD1Ji0LKGHqTfY2tHl0WG/26eRB64gFX7g24
NAb6o9dLv643qjHSqO+m8MEoOqApGki/0DomW0f3cn8zqqYNE6KyBD04+G3onqXi
lfYJCih/tbR66TTOPyK3JeGFMIjNxerrY3tx7yo5AoGBANnt3tWS3AMhvj2lzt6T
ILjKMC1Ker49BwCYAuIHPON9Garqu28OXTDBq8zd9NjgewtZgM7OTwEbsSgwbXBp
4t2u32s6Ao8CohaKYIWolzqnuLF75p7VPuUP+EiaKQdzbbTrSrtPWB6+9uSTZSp7
Jg4q5I4X0o5MLslUDD3EGXfc
-----END PRIVATE KEY-----

View file

@ -1,7 +0,0 @@
[ server_cert ]
keyUsage = digitalSignature, keyEncipherment
nsCertType = server
[ client_cert ]
keyUsage = digitalSignature, keyEncipherment
nsCertType = client

View file

@ -1,25 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIEMTCCAhmgAwIBAgIUR4/k25c8pqvW2XrWhNvVs1ZMKNgwDQYJKoZIhvcNAQEL
BQAwNTETMBEGA1UECgwKUmVkaXMgVGVzdDEeMBwGA1UEAwwVQ2VydGlmaWNhdGUg
QXV0aG9yaXR5MB4XDTI1MDUwMTE3MzA0NFoXDTI2MDUwMTE3MzA0NFowLDETMBEG
A1UECgwKUmVkaXMgVGVzdDEVMBMGA1UEAwwMR2VuZXJpYy1jZXJ0MIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzrKoci1Pj1mZr5eQCqH3GBYhJyucVkn6
uPaANs5srjM3IrwopWmkU1lVdfq+53JqOw9zW/1Y8rJCuvtW02OSonCKd/WVq7aU
6XAnYACaN3l0OW38VV/Zxz6kZVnmfmk73OSNLr8sbB5tnSq0B0hLQBbFf/EJS+Cr
FHN+nbhzxfidqmSNb7UEXDVNwC6RiVN+TK72KuAF/kC3i7lUT0sOAEA9cFfMlJDX
pg/4xdC2Q5Wl+ow7Rx9J71mcbL0mqVzx5vkW21ohw472SZK1G6BbG8LstPoFLtHD
hF06RlekcluDVtRA3DhmMYuf0FYZWpeu7V3ytf3ZScgKPi6cyV5raQIDAQABo0Iw
QDAdBgNVHQ4EFgQUZr/He3WzMPdrr0ytP6Nb8vVPmL4wHwYDVR0jBBgwFoAUaJ96
A55R+UscvoC5ZV47IOBw17AwDQYJKoZIhvcNAQELBQADggIBAC0UR3/0RraqCSh1
TcTN5T3l2zfBjWwmOOqUAV9wvWMc2gdqvTRPZvua+avRqmWAtogcvw0l0hBPNg6I
ehbt/nBZaxNaLQd4ivT7X8mberUQepHYACjtX0ByHsbeKSvAUgtu9TBR8MCaBntG
uQcZ8X3q8yh+Pioqg9FtLRfjn6MmLBXPOhKqJOKj0Eu3LW0EVVOe7UF5BehsT43I
K5Kf9AjLSKf1UJ/Mwur0UZCERHxzabsXYtiEfrL4TWv8wq0B805aolF+KFAQ9TyE
zQOXE0KyeaeA1Bq5HtGaNMR685C5Vly34ja2zuijEgyed8FxYxnxR7wR4ReHiY1B
YBoax2FVcWt8jqJVCGNzJx5tJclCHvYR1wK0v87BMbdtzskAPoFtI7h8EKKwZCBX
ZXhXQl/J0rnKmP5dzjJljU1MPmxRVeFGXanSx28M9t7RM46EBQ0cTssKrABCq38R
V0e7Qb7I9/9N/KTJQsQSRo6c6r12mYOsMsOih+yaJCoz1rRR7jfV1dSBoSP5dm3f
Vpohp8ddELLwL45uUSExnS9FNjPwsVKli/BLmE45NBMeE8uVUBjhT2PULliJiwSo
gJ4ERZ1VFPubnVIjqwLWAx/S8p1dRlHLtQhBMAHOa++fPbvGcP99exMCJl5JmVDS
S6ndtuPssyYRm6QzY00ZsTLSNOTU
-----END CERTIFICATE-----

View file

@ -1,8 +0,0 @@
-----BEGIN DH PARAMETERS-----
MIIBDAKCAQEA1GAl2XdbmBJZro8/29d3CkovYmLNjpDThVxXggGxkD6U2kDzNzRo
cwX2H8b9+w8QQXiBt7MUBlErHdhZE+C7b7JYX64m6hfNMHoOul+t25e/18CU6Odk
qeDi3GVsEGMYO82J4Jowj8nPeoLE8EQh93Gw/rfMS3G12YxjC9xO83cP8KzjOB6R
FAfh+n24Z0E3ckxrYEJoU5GchtM2qrf7lNzxjW7uTPhakuDWGAgcovLNupmIEAfa
b2kR8Li8I2vhFoyj0zmz5pIhkmfmROWtXfZd5LfS3DnZZXJSbMGdl/QEnUPSeLSB
XmrCgMXeiT42tg05ZeEWKL/jYBQ5Hd1drwIBAgICAOE=
-----END DH PARAMETERS-----

View file

@ -1,28 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDOsqhyLU+PWZmv
l5AKofcYFiEnK5xWSfq49oA2zmyuMzcivCilaaRTWVV1+r7ncmo7D3Nb/VjyskK6
+1bTY5KicIp39ZWrtpTpcCdgAJo3eXQ5bfxVX9nHPqRlWeZ+aTvc5I0uvyxsHm2d
KrQHSEtAFsV/8QlL4KsUc36duHPF+J2qZI1vtQRcNU3ALpGJU35MrvYq4AX+QLeL
uVRPSw4AQD1wV8yUkNemD/jF0LZDlaX6jDtHH0nvWZxsvSapXPHm+RbbWiHDjvZJ
krUboFsbwuy0+gUu0cOEXTpGV6RyW4NW1EDcOGYxi5/QVhlal67tXfK1/dlJyAo+
LpzJXmtpAgMBAAECggEAC9w7hyWrcYXKKEWxmbKWe5bVeypo85iWHuPiEoMAwHQm
30LdsDQiHjg7i6QCLUSm7NGjpG0im/Z3lsQSRNnrUY/UmjKIzowQ+l4ZnEwcjT9W
WG9DseBoniKtizU/4RQHv9KLeVm14lRSpNiM8PgIfVpxJbi+eFChcHB6HPG3Du5t
MauRnRpRXP7Yd9mQ4hmEQnEirfZZb2kBXYIHmJ0YwRlk242R/JqTu0MNKu8+JE6d
OXZ+dq5DCDoNqPIwLnFbly5l2gpCzLezRJhxiSE2amUNk+0nlfzJdDjF3xT7YIpp
8kutalAU7wjXc/RR4TD21uT2y8RpKq0WL0F6/gj1YwKBgQDrdoA2e5YExRm/opv5
jC364GrucHjlzzhHqY+JyZNQ1FLdNcAZyOV56u7mCwmDf5G77Vi95Fbpf0O1X+lW
r/1nmWQBvU0CVABXl56+ZTzPp8Kh2cizJlHxuZ5XhKGZPaJ1J+uVYplDkEUqnQ2G
dVQ5ynOP00KN3NeQ5BLzmON/EwKBgQDgueG7wzaOFg4liZKuEXlbzjNGdBzCdZkL
vh/G3tmmWk+c0fbvIhZtTBynK57KO0RhUMko9aztdUmdMAh15owpbZzos7VzpbYs
TqZQZc3O8XeqZwFKvUiuj+DiJ2SGhjCqeLqaHcmHpZ0Ecjw6s8hocygVkc8krzGz
S6FyjqqvEwKBgC/MhoqI3BNrz6ZPZEpsYokjNZHh0ykTv+EMUs8t1HH8KDYvyydw
2OS/BHA+nVfMddEohXNG/z23UA9pwPyQDWkSgnK38wId+1PMu7T66DVfYOtqQovb
o5bmj3ZEvmlVUb1mtTRGJ8bHasMTzsMU3lw89OilgkU6J6iKJC6/Qq9xAoGBAL+g
QcimMcL/M5j2sskTxXRvZHHTWSLIvHSy7s3aAaZEpFaJBBPt8UnJ+TTjkUfJOgnx
pVb0Bz2FIfyTlONUcHhzK7WSaEvxJmKpvlAYP2MTrIL1yrg8p9mSfqTaCnJbwuva
fuQkOlEc+8Nq1ckIvP+0Ep4x83zIl4zYFRdmaE1ZAoGBAKl7712xOCYDE6pxRrDK
+pXXsjIvQY59vfbcZXHqr8OqtelYCkqbczEVE/RiequX16ZxMPAR2w09Lm/VmJzk
sKcRgdeJhnK+Sqw5zYzFJEJ/FrgYO1K+ZVmHjnN+/y8kfX5Z6xPwcFnw12eHqu9+
9cCUnfu2HJPRJdUkUAlvFYdF
-----END PRIVATE KEY-----

View file

@ -1,26 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIEUDCCAjigAwIBAgIUR4/k25c8pqvW2XrWhNvVs1ZMKNYwDQYJKoZIhvcNAQEL
BQAwNTETMBEGA1UECgwKUmVkaXMgVGVzdDEeMBwGA1UEAwwVQ2VydGlmaWNhdGUg
QXV0aG9yaXR5MB4XDTI1MDUwMTE3MzA0NFoXDTI2MDUwMTE3MzA0NFowKzETMBEG
A1UECgwKUmVkaXMgVGVzdDEUMBIGA1UEAwwLU2VydmVyLW9ubHkwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCj9rRzZejIFKPkQa8qyy0bsPib/MjlZpZz
eNqfdGfWTmwqokUQAOuPL6Mn0cJKT3bua+jo6DeJn3p3jM6++PcJorv4NI+uZAT1
RKDEzYz23JtMVP81Q7pM8H14g3XpZWwCKhec7ocKb2gHT4mrL8zFg4M2kFkDQ3FH
FUbirQsrXVTx4UT4Pj09GA0sujJhdru/f/CgkOTj/oJ4JVk9YY8lDjz479lC3YMK
+Mlit2kNNUSXCWP+m/eLMBVZIHjuZZYa94E6mvgw9ExDgi1mpJjwZKP7y3bAP1ib
M6AoHDqQyKUe1SbwGrNWRgsVtlAlshJi571c8/qabNSFWptxyAKlAgMBAAGjYjBg
MAsGA1UdDwQEAwIFoDARBglghkgBhvhCAQEEBAMCBkAwHQYDVR0OBBYEFP81jIYo
TayyJ4ReOnr9kWYi/CgVMB8GA1UdIwQYMBaAFGifegOeUflLHL6AuWVeOyDgcNew
MA0GCSqGSIb3DQEBCwUAA4ICAQDKIk8Ett45QhJs0rsuDyTcYYngx+TbZkOmCONA
kFAC2Dk/Kv1geLV0hIRvcUDXewkTwSZPnmqI9yiOdTB1xTOyftmXXAGUSVTSNSCB
hk6K5CxvUyKC48/mJQVq/mVIBYpH7/TF1/FX4OCa5ZyQtyCnq1yEXSWEsWoObTqV
e5HKFM81ppsopLTRp7FtIpNqv9Yn/KRrse1ijwC8ty5DaH+4j9BiGZbRHl1j4jRz
5IxqcnCrFY6sw1m4w/YfLv0gq3iMRzL3FKpOLZYxIyDqfQAR9WxZ9RVaDdf/4H9Y
qrcWf9shPoIt9Lpwbgwy378rcBDIklxrhTNvYaCnw58AyjI+BuFdlmomsoaxqRxm
W50/mju6UWG8jYnb11fHpZi55YuBcqBz3FaMZL8pUg0EOswS9yowNBZZaTTNMXV6
BiAbkdDMXhMTuLwgBzmPI5znIkNJsQAYD80d+AqeaVkDebpld8ONDA28vlXMglwN
nhvaBy9kdaUo28NI16WBY6gXnse1H6d0Rdp/pvBjeUOtv+lvdSx5+gC+yk0SZ63L
urT+ZVgP8NN1EPJ2w3CUoqflSdRsqukEjeuCsIO+6VWFWz7lVJAYf/5OSVqg1FEn
AZVGo7J/eR/MfcMh0b/3w9zcd3t0nKa1NE+WGykRfBWs3vYULPRzaQt6wtzQ3wHY
UP4BVA==
-----END CERTIFICATE-----

View file

@ -1,28 +0,0 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCj9rRzZejIFKPk
Qa8qyy0bsPib/MjlZpZzeNqfdGfWTmwqokUQAOuPL6Mn0cJKT3bua+jo6DeJn3p3
jM6++PcJorv4NI+uZAT1RKDEzYz23JtMVP81Q7pM8H14g3XpZWwCKhec7ocKb2gH
T4mrL8zFg4M2kFkDQ3FHFUbirQsrXVTx4UT4Pj09GA0sujJhdru/f/CgkOTj/oJ4
JVk9YY8lDjz479lC3YMK+Mlit2kNNUSXCWP+m/eLMBVZIHjuZZYa94E6mvgw9ExD
gi1mpJjwZKP7y3bAP1ibM6AoHDqQyKUe1SbwGrNWRgsVtlAlshJi571c8/qabNSF
WptxyAKlAgMBAAECggEACytJZuRV823h2DECmLIByaAdigAHQ1vgpc8MEs6gKtYU
F4y5kvnXvLJBtVBcTCmWRW7ZDSc8bps21sv4YsPyOBgmISXwylq1Mmv8CPajl/Fh
LCr3aOPLM2XdINzQ/Gwp67UoVKAJrOlNNypGNitpvI6qh93/YkcxgTvEJLl68veA
V/5SywFw52YFFVGSKTWk9Ht20+/hE0bG4PbiTBmUH2vQYV2j68OwFA8/Th4KK1au
e7GEYJ+e+0xArJ4jRrD51Rb7G7O/EV57UvTYJZrGOufOvxU5OCj3dMmLyhrNgmSG
T+DGht2DJWGHLlEuu0HxYUbxA/O/T7/qRKa3eFqBpQKBgQDX8AFkSL5igUCs+/+4
JB5ptA1xgjYN3xfGxJDEtGEmMRCFgnFYOmJzY4Tb23DLI1vmcrt404tssUApIKQQ
WOJNDf9ykn7P39cupNgxwBCDtUcYu9lrk8TCJi9tREUFHKgf0b9aRKLKcW0U5uiJ
4g+CDV0Tf4KSlz5tAVBjsknYkwKBgQDCYjE40pSFuMmRC+8NkT/h/QyUXrX+/2eh
2r2L70CB0i5kuaRfWW8MEzh65a536U2mt4/qs4+jUo4dmcoToUrAwsIa2cv8SiTH
ch4d1v/5dPQfrgvoRJJPyTJFEZreEfjp0fHcNhp1X0tZPiuMF79tpdx+sQjaq7NT
R4FZ66/S5wKBgQC2xI+JAAEUgu3o/EoO45NSSHFwd5Ok3gTT2h/mPf5UQwcG2cdx
s8kMfVlAdVXcugrY3JdMx1ClKMlzhgsXQwQX0Bc8ND5dV8pb0m6ifTv9HnwUtTpr
UWEiKwvNYhFBKGYsuG1Ly/g1fRekr2R2//28R+9Vx4EO7jCKNqiCGa9jPQKBgHtQ
n7lUnjRXDkieMYGB6+0KA7j8fKjQjoX3ptfnaBzzocr0mnqC2hfm+aW9n/kiYMir
Gvnh//W0ocPVlITvheTTqSAvm2DqCHsewkxb4Pf4YgbW+2bWWZuUH/gBOyY2cJql
PbJeAFsFoV90OVwelKqS1lbpKJzQ4GqsqjrJcjlxAoGBAJkgFZTJ57kZyYKYEm0a
CU7qdy25VzoOzh5HZGuJ7QTVNBJpSPtm1Mv5/POR5swLzqVCWHddwUOxWuErtPwy
iFCFQhYKwlpfKV/fKpWUzSMWSbXwYzsqGJwcOsyBd4lSxElsWj6sDON9l6LHfQcq
umJV5KsCDP6WeLXxlYictEhD
-----END PRIVATE KEY-----

View file

@ -1,18 +0,0 @@
config_version 1.2
snapshot_root /var/cache/rsnapshot/
cmd_cp /bin/cp
cmd_rm /bin/rm
cmd_rsync /usr/bin/rsync
cmd_logger /usr/bin/logger
retain alpha 6
retain beta 7
retain gamma 4
#retain delta 3
logfile /var/log/rsnapshot.log
lockfile /var/run/rsnapshot.pid
backup /var/www/html/data localhost/

View file

@ -1,96 +0,0 @@
ARG PHP_VERSION
ARG BASE_IMAGE=php
FROM ${BASE_IMAGE}:${PHP_VERSION}-fpm-bookworm
MAINTAINER Robin Appelman <robin@icewind.nl>
RUN DEBIAN_FRONTEND=noninteractive ;\
apt-get update && \
apt-get install --assume-yes \
bzip2 \
nginx \
libaio-dev \
wget \
unzip \
&& rm -rf /var/lib/apt/lists/*
ADD configure_gd.sh /
# php exceptions
RUN apt-get update \
&& apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng-dev \
libpq5 \
libpq-dev \
libsqlite3-dev \
libcurl4-openssl-dev \
libicu-dev \
libzip-dev \
libonig-dev \
libldap2-dev \
libsmbclient-dev \
libgmp-dev \
&& /configure_gd.sh \
&& docker-php-ext-install gd \
&& docker-php-ext-install iconv zip pdo pdo_pgsql pdo_sqlite pgsql pdo_mysql intl curl mbstring pcntl ldap exif gmp \
&& pecl install inotify \
&& pecl install smbclient \
&& pecl install excimer \
&& apt-get remove -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng-dev \
libpq-dev \
libsqlite3-dev \
libcurl4-openssl-dev \
libicu-dev \
libzip-dev \
libonig-dev \
libldap2-dev \
libsmbclient-dev \
&& rm -rf /var/lib/apt/lists/*
RUN pecl install apcu \
&& pecl install xdebug \
&& pecl install redis \
&& export VERSION=`php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"` \
&& curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/${VERSION} \
&& tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp \
&& mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so
ARG BASE_IMAGE
RUN sh -c 'if [ "$BASE_IMAGE" = "php" ]; then echo "extension=smbclient.so" > $PHP_INI_DIR/conf.d/smbclient.ini; fi' \
&& sh -c 'if [ "$BASE_IMAGE" = "php" ]; then echo "extension=blackfire.so" > $PHP_INI_DIR/conf.d/blackfire.ini; fi' \
&& echo "extension=excimer.so" > $PHP_INI_DIR/conf.d/excimer.ini \
&& echo "extension=inotify.so" > $PHP_INI_DIR/conf.d/inotify.ini \
&& echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.mode=debug,trace,profile" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.start_with_request=trigger" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.discover_client_host=true" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.client_host=hazehost" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.log_level=0" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.output_dir=/tmp/xdebug" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "memory_limit = 512M" > $PHP_INI_DIR/conf.d/memory_limit.ini \
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer
ADD install-oci.sh /
RUN /install-oci.sh \
&& echo "extension=oci8.so" > $PHP_INI_DIR/conf.d/oci8.ini
ADD apcu.ini opcache.ini redis.ini $PHP_INI_DIR/conf.d/
ADD nginx.conf nginx-app.conf /etc/nginx/
ADD php-fpm.conf /usr/local/etc/
ADD index.php /var/www/html/
ADD bootstrap-nginx.sh /usr/local/bin/
EXPOSE 80
ENTRYPOINT ["bootstrap-nginx.sh"]

View file

@ -1,2 +0,0 @@
extension=apcu.so
apc.enable_cli = 1

View file

@ -1,27 +0,0 @@
#!/bin/sh
touch /var/log/nginx/access.log
touch /var/log/nginx/error.log
tail --follow --retry /var/log/nginx/*.log &
UID=${UID:-1000}
GID=${GID:-1000}
if [ $(getent group $GID) ]; then
groupadd haze
EXTRA_GROUP=" -G haze"
else
groupadd -g $GID haze
EXTRA_GROUP=""
fi
useradd -u $UID -g $GID $EXTRA_GROUP haze
chown -R haze:$GID /home/haze
if [ -f "/var/run/docker.sock" ]; then
groupadd docker -g $(stat --format "%g" /var/run/docker.sock)
usermod -a -G docker haze
fi
/usr/local/sbin/php-fpm &
nginx

View file

@ -1,19 +0,0 @@
#!/bin/sh
PHP=$(echo "$PHP_VERSION" | cut -c -3)
echo "php $PHP"
if [ "$PHP" = "7.2" ] || [ "$PHP" = "7.3" ]; then
docker-php-ext-configure gd \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir
else
docker-php-ext-configure gd \
--enable-gd \
--with-jpeg \
--with-freetype
fi

View file

@ -1,3 +0,0 @@
<?php
echo "hello_world";

View file

@ -1,25 +0,0 @@
#!/bin/sh
PHP=$(echo "$PHP_VERSION" | cut -c -3)
echo "php $PHP"
case $PHP in
"7.4") OCI_VERSION="-2.2.0" ;;
"8.0") OCI_VERSION="-3.0.1" ;;
"8.1") OCI_VERSION="-3.2.1" ;;
*) status=$status ;;
esac
echo "using oci8$OCI_VERSION"
mkdir /opt/oracle
cd /opt/oracle
wget https://download.oracle.com/otn_software/linux/instantclient/2110000/instantclient-basiclite-linux.x64-21.10.0.0.0dbru.zip
wget https://download.oracle.com/otn_software/linux/instantclient/2110000/instantclient-sdk-linux.x64-21.10.0.0.0dbru.zip
unzip instantclient-basiclite-linux.x64-21.10.0.0.0dbru.zip
unzip instantclient-sdk-linux.x64-21.10.0.0.0dbru.zip
rm instantclient*.zip
echo /opt/oracle/instantclient_21_10 > /etc/ld.so.conf.d/oracle-instantclient.conf
ldconfig
pecl install -D 'with-oci8="instantclient,/opt/oracle/instantclient_21_10"' oci8$OCI_VERSION

View file

@ -1 +0,0 @@

View file

@ -1,100 +0,0 @@
user haze;
worker_processes 4;
pid /run/nginx.pid;
daemon off;
events {
worker_connections 768;
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile off;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
types {
application/javascript mjs;
}
default_type application/octet-stream;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
# Don't send the nginx version number in error pages and Server header
server_tokens off;
upstream php-handler {
server unix:/var/run/php5-fpm.sock;
}
server {
listen 80;
# Path to the root of your installation
root /var/www/html;
client_max_body_size 10G;
# set max upload size
fastcgi_buffers 64 4K;
index index.php index.html /index.php$request_uri;
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
include nginx-app.conf;
location ~ \.php(?:$|/) {
rewrite ^/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|ocs-provider\/.+|.+\/richdocumentscode\/proxy) /index.php$request_uri;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php-handler;
fastcgi_read_timeout 3600;
}
location ~ \.(?:css|js|mjs|svg|gif|png|jpg|ico|wasm|tflite|map)$ {
try_files $uri /index.php$request_uri;
access_log off; # Optional: Don't log access to assets
location ~ \.wasm$ {
default_type application/wasm;
}
}
location ~ \.woff2?$ {
try_files $uri /index.php$request_uri;
expires 7d; # Cache-Control policy borrowed from `.htaccess`
access_log off; # Optional: Don't log access to assets
}
}
}

View file

@ -1,2 +0,0 @@
zend_extension=opcache.so
opcache.enable_cli=1

View file

@ -1,32 +0,0 @@
; This file was initially adapated from the output of: (on PHP 5.6)
; grep -vE '^;|^ *$' /usr/local/etc/php-fpm.conf.default
[global]
error_log = /proc/self/fd/2
daemonize = no
[www]
; if we send this to /proc/self/fd/1, it never appears
access.log = /proc/self/fd/2
user = haze
group = haze
listen = /var/run/php5-fpm.sock
listen.owner = haze
listen.group = haze
listen.mode = 0660
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
clear_env = no
; Ensure worker stdout and stderr are sent to the main error log.
catch_workers_output = yes

View file

@ -1 +0,0 @@
extension=redis.so

View file

@ -1,15 +0,0 @@
#!/usr/bin/env bash
set -e
versions=("8.1" "8.2" "8.0-dbg" "8.1-dbg" "8.2-dbg")
for version in "${versions[@]}"; do
docker push "icewind1991/haze-php:$version"
done
for version in "${versions[@]}"; do
docker push "icewind1991/haze:$version"
done
docker push "icewind1991/haze-ldap"