forked from hestiacp/hestiacp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNextcloudSetup.php
More file actions
66 lines (58 loc) · 2.02 KB
/
NextcloudSetup.php
File metadata and controls
66 lines (58 loc) · 2.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
namespace Hestia\WebApp\Installers\Nextcloud;
use Hestia\WebApp\Installers\BaseSetup as BaseSetup;
class NextcloudSetup extends BaseSetup
{
protected $appInfo = [
'name' => 'Nextcloud',
'group' => 'cloud',
'enabled' => true,
'version' => '23.0.2',
'thumbnail' => 'nextcloud-thumb.png'
];
protected $appname = 'nextcloud';
protected $config = [
'form' => [
'username' => ['value'=>'admin'],
'password' => 'password'
],
'database' => true,
'resources' => [
'archive' => [ 'src' => 'https://download.nextcloud.com/server/releases/nextcloud-23.0.2.tar.bz2' ]
],
'server' => [
'nginx' => [
'template' => 'owncloud'
],
'php' => [
'supported' => [ '7.3','7.4','8.0' ],
]
],
];
public function install(array $options = null): bool
{
parent::install($options);
parent::setup($options);
// install nextcloud
$php_version = $this -> appcontext -> getSupportedPHP($this -> config['server']['php']['supported']);
$this->appcontext->runUser('v-run-cli-cmd', ["/usr/bin/php$php_version",
$this->getDocRoot('occ'),
'maintenance:install',
'--database mysql',
'--database-name '.$this->appcontext->user() . '_' .$options['database_name'],
'--database-user '.$this->appcontext->user() . '_' .$options['database_user'],
'--database-pass '.$options['database_password'],
'--admin-user '.$options['username'],
'--admin-pass '.$options['password']
], $status);
$this->appcontext->runUser(
'v-run-cli-cmd',
['/usr/bin/php',
$this->getDocRoot('occ'),
'config:system:set',
'trusted_domains 2 --value='.$this->domain
],
$status);
return ($status->code === 0);
}
}