64 lines
2.7 KiB
PHP
64 lines
2.7 KiB
PHP
<?php
|
|
|
|
$autoconfig_enabled = false;
|
|
if (getenv('SQLITE_DATABASE')) {
|
|
$AUTOCONFIG["dbtype"] = "sqlite";
|
|
$AUTOCONFIG["dbname"] = getenv('SQLITE_DATABASE');
|
|
$autoconfig_enabled = true;
|
|
}elseif (getenv('MYSQL_ROOT_PASSWORD') && getenv('MYSQL_ROOT_USER') && getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
|
$root_user = getenv('MYSQL_ROOT_USER');
|
|
$root_password = getenv('MYSQL_ROOT_PASSWORD');
|
|
$user = getenv('MYSQL_USER');
|
|
$password = getenv('MYSQL_PASSWORD');
|
|
$database = getenv('MYSQL_DATABASE');
|
|
$host = getenv('MYSQL_HOST');
|
|
// Create connection
|
|
$connection = new mysqli($host, $root_user, $root_password);
|
|
// Check connection
|
|
if ($connection->connect_error) {
|
|
die("Connection failed: " . $connection->connect_error);
|
|
}
|
|
|
|
// Create database
|
|
$create_database = "CREATE DATABASE " .$database;
|
|
$create_user = "GRANT ALL PRIVILEGES ON " .$database. ".* TO '" .$user."'@'%' IDENTIFIED BY '" .$password. "';";
|
|
if ($connection->query($create_database) && $connection->query($create_user)) {
|
|
$AUTOCONFIG["dbtype"] = "mysql";
|
|
$AUTOCONFIG["dbname"] = getenv('MYSQL_DATABASE');
|
|
$AUTOCONFIG["dbuser"] = getenv('MYSQL_USER');
|
|
$AUTOCONFIG["dbpass"] = getenv('MYSQL_PASSWORD');
|
|
$AUTOCONFIG["dbhost"] = getenv('MYSQL_HOST');
|
|
$autoconfig_enabled = true;
|
|
} else {
|
|
echo "Error creating database: " . $connection->error;
|
|
}
|
|
|
|
$connection->close();
|
|
|
|
} elseif (getenv('MYSQL_DATABASE') && getenv('MYSQL_USER') && getenv('MYSQL_PASSWORD') && getenv('MYSQL_HOST')) {
|
|
$AUTOCONFIG["dbtype"] = "mysql";
|
|
$AUTOCONFIG["dbname"] = getenv('MYSQL_DATABASE');
|
|
$AUTOCONFIG["dbuser"] = getenv('MYSQL_USER');
|
|
$AUTOCONFIG["dbpass"] = getenv('MYSQL_PASSWORD');
|
|
$AUTOCONFIG["dbhost"] = getenv('MYSQL_HOST');
|
|
$autoconfig_enabled = true;
|
|
} elseif (getenv('POSTGRES_DB') && getenv('POSTGRES_USER') && getenv('POSTGRES_PASSWORD') && getenv('POSTGRES_HOST')) {
|
|
$AUTOCONFIG["dbtype"] = "pgsql";
|
|
$AUTOCONFIG["dbname"] = getenv('POSTGRES_DB');
|
|
$AUTOCONFIG["dbuser"] = getenv('POSTGRES_USER');
|
|
$AUTOCONFIG["dbpass"] = getenv('POSTGRES_PASSWORD');
|
|
$AUTOCONFIG["dbhost"] = getenv('POSTGRES_HOST');
|
|
$autoconfig_enabled = true;
|
|
}
|
|
|
|
if ($autoconfig_enabled) {
|
|
$AUTOCONFIG["dbtableprefix"] = getenv('NEXTCLOUD_TABLE_PREFIX') ?: "";
|
|
|
|
$AUTOCONFIG["directory"] = getenv('NEXTCLOUD_DATA_DIR') ?: "/var/www/html/data";
|
|
|
|
if (getenv('NEXTCLOUD_ADMIN_USER') && getenv('NEXTCLOUD_ADMIN_PASSWORD')) {
|
|
$AUTOCONFIG["adminlogin"] = getenv('NEXTCLOUD_ADMIN_USER');
|
|
$AUTOCONFIG["adminpass"] = getenv('NEXTCLOUD_ADMIN_PASSWORD');
|
|
}
|
|
}
|