mirror of
https://github.com/vimagick/dockerfiles.git
synced 2024-11-21 17:56:53 +02:00
update phpvirtualbox
This commit is contained in:
parent
79d8dac378
commit
3185a204b4
@ -3,28 +3,23 @@
|
||||
#
|
||||
|
||||
FROM alpine
|
||||
MAINTAINER kev <noreply@easypi.pro>
|
||||
MAINTAINER EasyPi Software Foundation
|
||||
|
||||
ENV PHPVBOX_VERSION=5.2-1
|
||||
ENV PHPVBOX_URL=https://github.com/phpvirtualbox/phpvirtualbox/archive/${PHPVBOX_VERSION}.tar.gz
|
||||
|
||||
WORKDIR /var/www
|
||||
|
||||
RUN set -xe \
|
||||
&& apk add --no-cache bash nginx php5-fpm php5-cli php5-json php5-soap \
|
||||
&& apk add --no-cache --virtual build-dependencies wget unzip \
|
||||
&& apk add --no-cache --virtual build-dependencies curl tar \
|
||||
&& touch /etc/php5/fpm.d/empty.conf \
|
||||
&& wget --no-check-certificate https://sourceforge.net/projects/phpvirtualbox/files/latest/download -O phpvirtualbox.zip \
|
||||
&& unzip phpvirtualbox.zip -d phpvirtualbox \
|
||||
&& mkdir -p /var/www \
|
||||
&& mv -v phpvirtualbox/*/* /var/www/ \
|
||||
&& rm phpvirtualbox.zip \
|
||||
&& rm phpvirtualbox/ -R \
|
||||
&& curl -sSL ${PHPVBOX_URL} | tar xz --strip 1 \
|
||||
&& apk del build-dependencies \
|
||||
&& rm -rf /var/cache/apk/* \
|
||||
&& echo "<?php return array(); ?>" > /var/www/config-servers.php \
|
||||
&& echo "<?php return array(); ?>" > /var/www/config-override.php \
|
||||
&& chown nobody:nobody -R /var/www
|
||||
|
||||
COPY config.php /var/www/config.php
|
||||
COPY nginx.conf /etc/nginx/nginx.conf
|
||||
COPY servers-from-env.php /servers-from-env.php
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
CMD php /servers-from-env.php && php-fpm && nginx
|
||||
CMD php-fpm && nginx
|
||||
|
@ -2,29 +2,24 @@
|
||||
# Dockerfile for phpvirtualbox-arm
|
||||
#
|
||||
|
||||
FROM easypi/alpine-arm
|
||||
MAINTAINER kev <noreply@easypi.pro>
|
||||
FROM arm32v7/alpine:3
|
||||
MAINTAINER EasyPi Software Foundation
|
||||
|
||||
ENV PHPVBOX_VERSION=5.2-1
|
||||
ENV PHPVBOX_URL=https://github.com/phpvirtualbox/phpvirtualbox/archive/${PHPVBOX_VERSION}.tar.gz
|
||||
|
||||
WORKDIR /var/www
|
||||
|
||||
RUN set -xe \
|
||||
&& apk add --no-cache bash nginx php5-fpm php5-cli php5-json php5-soap \
|
||||
&& apk add --no-cache --virtual build-dependencies wget unzip \
|
||||
&& apk add --no-cache --virtual build-dependencies curl tar \
|
||||
&& touch /etc/php5/fpm.d/empty.conf \
|
||||
&& wget --no-check-certificate https://sourceforge.net/projects/phpvirtualbox/files/latest/download -O phpvirtualbox.zip \
|
||||
&& unzip phpvirtualbox.zip -d phpvirtualbox \
|
||||
&& mkdir -p /var/www \
|
||||
&& mv -v phpvirtualbox/*/* /var/www/ \
|
||||
&& rm phpvirtualbox.zip \
|
||||
&& rm phpvirtualbox/ -R \
|
||||
&& curl -sSL ${PHPVBOX_URL} | tar xz --strip 1 \
|
||||
&& apk del build-dependencies \
|
||||
&& rm -rf /var/cache/apk/* \
|
||||
&& echo "<?php return array(); ?>" > /var/www/config-servers.php \
|
||||
&& echo "<?php return array(); ?>" > /var/www/config-override.php \
|
||||
&& chown nobody:nobody -R /var/www
|
||||
|
||||
COPY config.php /var/www/config.php
|
||||
COPY nginx.conf /etc/nginx/nginx.conf
|
||||
COPY servers-from-env.php /servers-from-env.php
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
CMD php /servers-from-env.php && php-fpm && nginx
|
||||
CMD php-fpm && nginx
|
||||
|
@ -1,29 +1,19 @@
|
||||
<?php
|
||||
/**
|
||||
* phpVirtualBox example configuration.
|
||||
* @version $Id: config.php-example 452 2012-10-17 12:22:12Z imooreyahoo@gmail.com $
|
||||
* phpVirtualBox example configuration.
|
||||
* @version $Id: config.php-example 585 2015-04-04 11:39:31Z imoore76 $
|
||||
*
|
||||
* rename to config.php and edit as needed.
|
||||
*
|
||||
*/
|
||||
class phpVBoxConfig {
|
||||
|
||||
public function __construct() {
|
||||
// getting servers array
|
||||
$this->servers = require __DIR__ . '/config-servers.php';
|
||||
// getting override settings
|
||||
$overrides = require __DIR__.'/config-override.php';
|
||||
foreach ($overrides as $key => $value) {
|
||||
$this->$key = $value;
|
||||
}
|
||||
}
|
||||
|
||||
/* Username / Password for system user that runs VirtualBox */
|
||||
var $username = '';
|
||||
var $password = '';
|
||||
var $username = 'vbox';
|
||||
var $password = 'pass';
|
||||
|
||||
/* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */
|
||||
var $location = 'http://127.0.0.1:18083/';
|
||||
var $location = 'http://vboxwebsrv:18083/';
|
||||
|
||||
/* Default language. See languages folder for more language options.
|
||||
* Can also be changed in File -> Preferences -> Language in
|
||||
@ -33,6 +23,8 @@ class phpVBoxConfig {
|
||||
|
||||
/* Set the standard VRDE Port Number / Range, e.g. 1010-1020 or 1027 */
|
||||
var $vrdeports = '9000-9100';
|
||||
/* Set the default VRDE address, e.g. 192.168.1.1 */
|
||||
#var $vrdeaddress = '192.168.1.1';
|
||||
|
||||
/*
|
||||
*
|
||||
@ -43,27 +35,26 @@ class phpVBoxConfig {
|
||||
// Multiple servers example config. Uncomment (remove /* and */) to use.
|
||||
// Add ALL the servers you want to use. Even if you have the server set
|
||||
// above. The default server will be the first one in the list.
|
||||
|
||||
/*
|
||||
var $servers = array(
|
||||
array(
|
||||
'name' => 'London',
|
||||
'username' => 'user',
|
||||
'password' => 'pass',
|
||||
'location' => 'http://192.168.1.1:18083/',
|
||||
'authMaster' => true // Use this server for authentication
|
||||
),
|
||||
array(
|
||||
'name' => '',
|
||||
'username' => 'user2',
|
||||
'password' => 'pass2',
|
||||
'location' => 'http://192.168.1.2:18083/'
|
||||
),
|
||||
);
|
||||
*/
|
||||
var $servers = array(
|
||||
array(
|
||||
'name' => 'London',
|
||||
'username' => 'user',
|
||||
'password' => 'pass',
|
||||
'location' => 'http://192.168.1.1:18083/',
|
||||
'authMaster' => true // Use this server for authentication
|
||||
),
|
||||
array(
|
||||
'name' => 'New York',
|
||||
'username' => 'user2',
|
||||
'password' => 'pass2',
|
||||
'location' => 'http://192.168.1.2:18083/'
|
||||
),
|
||||
);
|
||||
*/
|
||||
|
||||
// Disable authentication
|
||||
var $noAuth = true;
|
||||
#var $noAuth = true;
|
||||
|
||||
// Host / ip to use for console connections
|
||||
#var $consoleHost = '192.168.1.40';
|
||||
@ -80,7 +71,7 @@ class phpVBoxConfig {
|
||||
// Max number of progress operations to keep in list
|
||||
var $maxProgressList = 5;
|
||||
|
||||
// Change default preview aspect ratio to 1.
|
||||
// Change default preview aspect ratio to 1.
|
||||
// http://www.wikipedia.org/wiki/Aspect_ratio_%28image%29#Previous_and_presently_used_aspect_ratios
|
||||
#var $previewAspectRatio = 1.6;
|
||||
|
||||
@ -88,24 +79,24 @@ class phpVBoxConfig {
|
||||
#var $enableCustomIcons = true;
|
||||
|
||||
/*
|
||||
Exclusively use phpVirtualBox's groups configuration rather than VirtualBox groups.
|
||||
This has the following effects:
|
||||
Exclusively use phpVirtualBox's groups configuration rather than VirtualBox groups.
|
||||
This has the following effects:
|
||||
|
||||
*) Group changes made in phpVirtualBox will not be reflected in VirtualBox programs such as
|
||||
VirtualBox and VBoxManage
|
||||
*) Group changes will not affect which folder a VM is placed in
|
||||
*) You can rename groups that contain running VMs and move / copy running VMs to groups
|
||||
*/
|
||||
#var $phpVboxGroups = true;
|
||||
*) Group changes made in phpVirtualBox will not be reflected in VirtualBox programs such as
|
||||
VirtualBox and VBoxManage
|
||||
*) Group changes will not affect which folder a VM is placed in
|
||||
*) You can rename groups that contain running VMs and move / copy running VMs to groups
|
||||
*/
|
||||
#var $phpVboxGroups = true;
|
||||
|
||||
|
||||
/*
|
||||
Allow to prompt deletion hard disk files on removal from Virtual Media Manager.
|
||||
If this is not set, files are always kept. If this is set, you will be PROMPTED
|
||||
to decide whether or not you would like to delete the hard disk file(s) when you
|
||||
remove a hard disk from virtual media manager. You may still choose not to delete
|
||||
the file when prompted.
|
||||
*/
|
||||
Allow to prompt deletion hard disk files on removal from Virtual Media Manager.
|
||||
If this is not set, files are always kept. If this is set, you will be PROMPTED
|
||||
to decide whether or not you would like to delete the hard disk file(s) when you
|
||||
remove a hard disk from virtual media manager. You may still choose not to delete
|
||||
the file when prompted.
|
||||
*/
|
||||
var $deleteOnRemove = true;
|
||||
|
||||
/*
|
||||
@ -116,7 +107,7 @@ class phpVBoxConfig {
|
||||
var $browserRestrictFiles = array('.iso','.vdi','.vmdk','.img','.bin','.vhd','.hdd','.ovf','.ova','.xml','.vbox','.cdr','.dmg','.ima','.dsk','.vfd');
|
||||
|
||||
// Restrict locations / folders
|
||||
var $browserRestrictFolders = array('/'); // Or something like array('/home/vbox','/var/ISOs')
|
||||
#var $browserRestrictFolders = array('D:\\','C:\\Users\\Ian'); // Or something like array('/home/vbox','/var/ISOs')
|
||||
|
||||
// Force use of local, web server based file browser instead of going through vboxwebsrv
|
||||
#var $browserLocal = true;
|
||||
@ -146,7 +137,7 @@ class phpVBoxConfig {
|
||||
|
||||
/*
|
||||
* VM Memory warnings.
|
||||
*
|
||||
*
|
||||
* If $vmMemoryStartLimitWarn is enabled, each time a VM is started through
|
||||
* phpVirtualBox, it will check that the available host memory is greater than
|
||||
* the base and video memory of the VM + 50MB (a little bit of overhead). If it
|
||||
@ -158,8 +149,8 @@ class phpVBoxConfig {
|
||||
* performed by $vmMemoryStartLimitWarn logic. For instance it may be a good
|
||||
* idea to always have VM memory requirements + 100MB free. 100 is the default.
|
||||
*/
|
||||
#var $vmMemoryStartLimitWarn = true;
|
||||
#var $vmMemoryOffset = 100;
|
||||
#var $vmMemoryStartLimitWarn = true;
|
||||
#var $vmMemoryOffset = 100;
|
||||
|
||||
|
||||
/*
|
||||
@ -181,7 +172,7 @@ class phpVBoxConfig {
|
||||
var $nicMax = 4;
|
||||
|
||||
/* Enable advanced configuration items (normally hidden in the VirtualBox GUI)
|
||||
* Note that some of these items may not be translated to languages other than English.
|
||||
* Note that some of these items may not be translated to languages other than English.
|
||||
*/
|
||||
#var $enableAdvancedConfig = true;
|
||||
|
||||
@ -192,7 +183,7 @@ class phpVBoxConfig {
|
||||
#var $startStopConfig = true;
|
||||
|
||||
// Authentication library.
|
||||
var $authLib = 'Builtin';
|
||||
// var $authLib = 'Builtin';
|
||||
|
||||
// VM ownership
|
||||
#var $enforceVMOwnership = true;
|
||||
@ -204,26 +195,29 @@ class phpVBoxConfig {
|
||||
// Allow VDE network configuration. This must be supported by the underlying VirtualBox installation!
|
||||
// If you do not know what VDE networking is - you do not need it, it is probably not supported by your
|
||||
// VirtualBox installation and will cause errors if enabled.
|
||||
#var $enableVDE = true;
|
||||
#var $enableVDE = true;
|
||||
|
||||
// Disable setting SATA controllers port count to the max port number found when saving VMs.
|
||||
#var $disableSataPortCount = true;
|
||||
|
||||
/* Enable Parallel Port configuration - EXPERIMENTAL
|
||||
LPT support may or may not work for you.
|
||||
!!! VirtualBox LPT support only works in Linux. !!!
|
||||
*/
|
||||
LPT support may or may not work for you.
|
||||
!!! VirtualBox LPT support only works in Linux. !!!
|
||||
*/
|
||||
#var $enableLPTConfig = true;
|
||||
|
||||
/* Enable HardDisk IgnoreFlush configuration. This controls the "ExtraData" setting
|
||||
* in "VBoxInternal/Devices/[controller type]/0/LUN#[x]/Config/IgnoreFlush". See
|
||||
* Responding to guest IDE/SATA flush requests at:
|
||||
* http://www.virtualbox.org/manual/ch12.html#idp12757424
|
||||
*/
|
||||
*/
|
||||
#var $enableHDFlushConfig = true;
|
||||
|
||||
/*
|
||||
* Event listener timeout in seconds. This is an advanced option that most people will
|
||||
* probably not need to change.
|
||||
*/
|
||||
#var $eventListenerTimeout = 20;
|
||||
|
||||
/* END SETTINGS */
|
||||
|
||||
|
||||
}
|
@ -2,10 +2,8 @@ phpvirtualbox:
|
||||
image: easypi/phpvirtualbox-arm
|
||||
ports:
|
||||
- "8888:80"
|
||||
environment:
|
||||
- ID_PORT_18083_TCP=remote-server:18083
|
||||
- ID_NAME=Vbox
|
||||
- ID_USER=username
|
||||
- ID_PW=password
|
||||
- CONF_browserRestrictFolders=/data,
|
||||
volumes:
|
||||
- ./data/config.php:/var/www/config.php:ro
|
||||
extra_hosts:
|
||||
- vboxwebsrv:x.x.x.x
|
||||
restart: always
|
||||
|
@ -1,65 +0,0 @@
|
||||
<?php
|
||||
|
||||
$servers = array();
|
||||
$config_overrides = array();
|
||||
|
||||
// getting config overrides for all servers
|
||||
foreach ($_SERVER as $key => $value) {
|
||||
preg_match('/(.*?)(?:_ENV_|_)?CONF_(.+)/', $key, $matches);
|
||||
if ($matches) {
|
||||
$value= (strpos($value, ',')) ? split(',',$value) : $value;
|
||||
$config_overrides[$matches[1]] = array($matches[2] => $value);
|
||||
}
|
||||
}
|
||||
|
||||
echo 'Exposing the following linked server instances:' . PHP_EOL;
|
||||
|
||||
// getting servers from linked vboxwebsrv containers or environment variables
|
||||
foreach ($_SERVER as $key => $value) {
|
||||
if (substr($key, -15) === '_PORT_18083_TCP') {
|
||||
$prefix = substr($key, 0, -15);
|
||||
|
||||
$name = getenv($prefix . '_NAME');
|
||||
$pos = strrpos($name, '/');
|
||||
if ($pos !== false) {
|
||||
$name = substr($name, $pos + 1);
|
||||
}
|
||||
|
||||
if (!$name) {
|
||||
$name = strtolower($prefix);
|
||||
}
|
||||
$name = ucfirst($name);
|
||||
|
||||
$location = 'http://' . str_replace('tcp://', '', $value) . '/';
|
||||
|
||||
echo '- ' . $name . ' (' . $location .')' . PHP_EOL;
|
||||
|
||||
$username = getenv($prefix.'_USER');
|
||||
$password = getenv($prefix.'_PW');
|
||||
|
||||
if ($username == "") $username = 'username';
|
||||
if ($password == "") $password = 'username';
|
||||
|
||||
$servers []= array_merge(array(
|
||||
'name' => $name,
|
||||
'username' => $username,
|
||||
'password' => $password,
|
||||
'authMaster' => true,
|
||||
'location' => $location),
|
||||
(array_key_exists($prefix, $config_overrides)) ? $config_overrides[$prefix] : array());
|
||||
}
|
||||
}
|
||||
// check if there are any servers
|
||||
if (!$servers) {
|
||||
echo 'Error: No vboxwebsrv instance linked? Use "--link containername:myname"' . PHP_EOL;
|
||||
echo 'Use environment variables if no vboxwebsrv containers are used!';
|
||||
exit(1);
|
||||
}
|
||||
|
||||
// put servers array to file
|
||||
file_put_contents('/var/www/config-servers.php', '<?php return ' . var_export($servers, true) . ';');
|
||||
|
||||
if (array_key_exists("", $config_overrides)) {
|
||||
// getting global config overrides
|
||||
file_put_contents('/var/www/config-override.php','<?php return ' . var_export($config_overrides[""], true) . ';' );
|
||||
}
|
@ -1,29 +1,19 @@
|
||||
<?php
|
||||
/**
|
||||
* phpVirtualBox example configuration.
|
||||
* @version $Id: config.php-example 452 2012-10-17 12:22:12Z imooreyahoo@gmail.com $
|
||||
* phpVirtualBox example configuration.
|
||||
* @version $Id: config.php-example 585 2015-04-04 11:39:31Z imoore76 $
|
||||
*
|
||||
* rename to config.php and edit as needed.
|
||||
*
|
||||
*/
|
||||
class phpVBoxConfig {
|
||||
|
||||
public function __construct() {
|
||||
// getting servers array
|
||||
$this->servers = require __DIR__ . '/config-servers.php';
|
||||
// getting override settings
|
||||
$overrides = require __DIR__.'/config-override.php';
|
||||
foreach ($overrides as $key => $value) {
|
||||
$this->$key = $value;
|
||||
}
|
||||
}
|
||||
|
||||
/* Username / Password for system user that runs VirtualBox */
|
||||
var $username = '';
|
||||
var $password = '';
|
||||
var $username = 'vbox';
|
||||
var $password = 'pass';
|
||||
|
||||
/* SOAP URL of vboxwebsrv (not phpVirtualBox's URL) */
|
||||
var $location = 'http://127.0.0.1:18083/';
|
||||
var $location = 'http://vboxwebsrv:18083/';
|
||||
|
||||
/* Default language. See languages folder for more language options.
|
||||
* Can also be changed in File -> Preferences -> Language in
|
||||
@ -33,6 +23,8 @@ class phpVBoxConfig {
|
||||
|
||||
/* Set the standard VRDE Port Number / Range, e.g. 1010-1020 or 1027 */
|
||||
var $vrdeports = '9000-9100';
|
||||
/* Set the default VRDE address, e.g. 192.168.1.1 */
|
||||
#var $vrdeaddress = '192.168.1.1';
|
||||
|
||||
/*
|
||||
*
|
||||
@ -43,27 +35,26 @@ class phpVBoxConfig {
|
||||
// Multiple servers example config. Uncomment (remove /* and */) to use.
|
||||
// Add ALL the servers you want to use. Even if you have the server set
|
||||
// above. The default server will be the first one in the list.
|
||||
|
||||
/*
|
||||
var $servers = array(
|
||||
array(
|
||||
'name' => 'London',
|
||||
'username' => 'user',
|
||||
'password' => 'pass',
|
||||
'location' => 'http://192.168.1.1:18083/',
|
||||
'authMaster' => true // Use this server for authentication
|
||||
),
|
||||
array(
|
||||
'name' => '',
|
||||
'username' => 'user2',
|
||||
'password' => 'pass2',
|
||||
'location' => 'http://192.168.1.2:18083/'
|
||||
),
|
||||
);
|
||||
*/
|
||||
var $servers = array(
|
||||
array(
|
||||
'name' => 'London',
|
||||
'username' => 'user',
|
||||
'password' => 'pass',
|
||||
'location' => 'http://192.168.1.1:18083/',
|
||||
'authMaster' => true // Use this server for authentication
|
||||
),
|
||||
array(
|
||||
'name' => 'New York',
|
||||
'username' => 'user2',
|
||||
'password' => 'pass2',
|
||||
'location' => 'http://192.168.1.2:18083/'
|
||||
),
|
||||
);
|
||||
*/
|
||||
|
||||
// Disable authentication
|
||||
var $noAuth = true;
|
||||
#var $noAuth = true;
|
||||
|
||||
// Host / ip to use for console connections
|
||||
#var $consoleHost = '192.168.1.40';
|
||||
@ -80,7 +71,7 @@ class phpVBoxConfig {
|
||||
// Max number of progress operations to keep in list
|
||||
var $maxProgressList = 5;
|
||||
|
||||
// Change default preview aspect ratio to 1.
|
||||
// Change default preview aspect ratio to 1.
|
||||
// http://www.wikipedia.org/wiki/Aspect_ratio_%28image%29#Previous_and_presently_used_aspect_ratios
|
||||
#var $previewAspectRatio = 1.6;
|
||||
|
||||
@ -88,24 +79,24 @@ class phpVBoxConfig {
|
||||
#var $enableCustomIcons = true;
|
||||
|
||||
/*
|
||||
Exclusively use phpVirtualBox's groups configuration rather than VirtualBox groups.
|
||||
This has the following effects:
|
||||
Exclusively use phpVirtualBox's groups configuration rather than VirtualBox groups.
|
||||
This has the following effects:
|
||||
|
||||
*) Group changes made in phpVirtualBox will not be reflected in VirtualBox programs such as
|
||||
VirtualBox and VBoxManage
|
||||
*) Group changes will not affect which folder a VM is placed in
|
||||
*) You can rename groups that contain running VMs and move / copy running VMs to groups
|
||||
*/
|
||||
#var $phpVboxGroups = true;
|
||||
*) Group changes made in phpVirtualBox will not be reflected in VirtualBox programs such as
|
||||
VirtualBox and VBoxManage
|
||||
*) Group changes will not affect which folder a VM is placed in
|
||||
*) You can rename groups that contain running VMs and move / copy running VMs to groups
|
||||
*/
|
||||
#var $phpVboxGroups = true;
|
||||
|
||||
|
||||
/*
|
||||
Allow to prompt deletion hard disk files on removal from Virtual Media Manager.
|
||||
If this is not set, files are always kept. If this is set, you will be PROMPTED
|
||||
to decide whether or not you would like to delete the hard disk file(s) when you
|
||||
remove a hard disk from virtual media manager. You may still choose not to delete
|
||||
the file when prompted.
|
||||
*/
|
||||
Allow to prompt deletion hard disk files on removal from Virtual Media Manager.
|
||||
If this is not set, files are always kept. If this is set, you will be PROMPTED
|
||||
to decide whether or not you would like to delete the hard disk file(s) when you
|
||||
remove a hard disk from virtual media manager. You may still choose not to delete
|
||||
the file when prompted.
|
||||
*/
|
||||
var $deleteOnRemove = true;
|
||||
|
||||
/*
|
||||
@ -116,7 +107,7 @@ class phpVBoxConfig {
|
||||
var $browserRestrictFiles = array('.iso','.vdi','.vmdk','.img','.bin','.vhd','.hdd','.ovf','.ova','.xml','.vbox','.cdr','.dmg','.ima','.dsk','.vfd');
|
||||
|
||||
// Restrict locations / folders
|
||||
var $browserRestrictFolders = array('/'); // Or something like array('/home/vbox','/var/ISOs')
|
||||
#var $browserRestrictFolders = array('D:\\','C:\\Users\\Ian'); // Or something like array('/home/vbox','/var/ISOs')
|
||||
|
||||
// Force use of local, web server based file browser instead of going through vboxwebsrv
|
||||
#var $browserLocal = true;
|
||||
@ -146,7 +137,7 @@ class phpVBoxConfig {
|
||||
|
||||
/*
|
||||
* VM Memory warnings.
|
||||
*
|
||||
*
|
||||
* If $vmMemoryStartLimitWarn is enabled, each time a VM is started through
|
||||
* phpVirtualBox, it will check that the available host memory is greater than
|
||||
* the base and video memory of the VM + 50MB (a little bit of overhead). If it
|
||||
@ -158,8 +149,8 @@ class phpVBoxConfig {
|
||||
* performed by $vmMemoryStartLimitWarn logic. For instance it may be a good
|
||||
* idea to always have VM memory requirements + 100MB free. 100 is the default.
|
||||
*/
|
||||
#var $vmMemoryStartLimitWarn = true;
|
||||
#var $vmMemoryOffset = 100;
|
||||
#var $vmMemoryStartLimitWarn = true;
|
||||
#var $vmMemoryOffset = 100;
|
||||
|
||||
|
||||
/*
|
||||
@ -181,7 +172,7 @@ class phpVBoxConfig {
|
||||
var $nicMax = 4;
|
||||
|
||||
/* Enable advanced configuration items (normally hidden in the VirtualBox GUI)
|
||||
* Note that some of these items may not be translated to languages other than English.
|
||||
* Note that some of these items may not be translated to languages other than English.
|
||||
*/
|
||||
#var $enableAdvancedConfig = true;
|
||||
|
||||
@ -192,7 +183,7 @@ class phpVBoxConfig {
|
||||
#var $startStopConfig = true;
|
||||
|
||||
// Authentication library.
|
||||
var $authLib = 'Builtin';
|
||||
// var $authLib = 'Builtin';
|
||||
|
||||
// VM ownership
|
||||
#var $enforceVMOwnership = true;
|
||||
@ -204,26 +195,29 @@ class phpVBoxConfig {
|
||||
// Allow VDE network configuration. This must be supported by the underlying VirtualBox installation!
|
||||
// If you do not know what VDE networking is - you do not need it, it is probably not supported by your
|
||||
// VirtualBox installation and will cause errors if enabled.
|
||||
#var $enableVDE = true;
|
||||
#var $enableVDE = true;
|
||||
|
||||
// Disable setting SATA controllers port count to the max port number found when saving VMs.
|
||||
#var $disableSataPortCount = true;
|
||||
|
||||
/* Enable Parallel Port configuration - EXPERIMENTAL
|
||||
LPT support may or may not work for you.
|
||||
!!! VirtualBox LPT support only works in Linux. !!!
|
||||
*/
|
||||
LPT support may or may not work for you.
|
||||
!!! VirtualBox LPT support only works in Linux. !!!
|
||||
*/
|
||||
#var $enableLPTConfig = true;
|
||||
|
||||
/* Enable HardDisk IgnoreFlush configuration. This controls the "ExtraData" setting
|
||||
* in "VBoxInternal/Devices/[controller type]/0/LUN#[x]/Config/IgnoreFlush". See
|
||||
* Responding to guest IDE/SATA flush requests at:
|
||||
* http://www.virtualbox.org/manual/ch12.html#idp12757424
|
||||
*/
|
||||
*/
|
||||
#var $enableHDFlushConfig = true;
|
||||
|
||||
/*
|
||||
* Event listener timeout in seconds. This is an advanced option that most people will
|
||||
* probably not need to change.
|
||||
*/
|
||||
#var $eventListenerTimeout = 20;
|
||||
|
||||
/* END SETTINGS */
|
||||
|
||||
|
||||
}
|
@ -2,10 +2,8 @@ phpvirtualbox:
|
||||
image: vimagick/phpvirtualbox
|
||||
ports:
|
||||
- "8888:80"
|
||||
environment:
|
||||
- ID_PORT_18083_TCP=remote-server:18083
|
||||
- ID_NAME=Vbox
|
||||
- ID_USER=username
|
||||
- ID_PW=password
|
||||
- CONF_browserRestrictFolders=/data,
|
||||
volumes:
|
||||
- ./data/config.php:/var/www/config.php:ro
|
||||
extra_hosts:
|
||||
- vboxwebsrv:x.x.x.x
|
||||
restart: always
|
||||
|
@ -1,65 +0,0 @@
|
||||
<?php
|
||||
|
||||
$servers = array();
|
||||
$config_overrides = array();
|
||||
|
||||
// getting config overrides for all servers
|
||||
foreach ($_SERVER as $key => $value) {
|
||||
preg_match('/(.*?)(?:_ENV_|_)?CONF_(.+)/', $key, $matches);
|
||||
if ($matches) {
|
||||
$value= (strpos($value, ',')) ? split(',',$value) : $value;
|
||||
$config_overrides[$matches[1]] = array($matches[2] => $value);
|
||||
}
|
||||
}
|
||||
|
||||
echo 'Exposing the following linked server instances:' . PHP_EOL;
|
||||
|
||||
// getting servers from linked vboxwebsrv containers or environment variables
|
||||
foreach ($_SERVER as $key => $value) {
|
||||
if (substr($key, -15) === '_PORT_18083_TCP') {
|
||||
$prefix = substr($key, 0, -15);
|
||||
|
||||
$name = getenv($prefix . '_NAME');
|
||||
$pos = strrpos($name, '/');
|
||||
if ($pos !== false) {
|
||||
$name = substr($name, $pos + 1);
|
||||
}
|
||||
|
||||
if (!$name) {
|
||||
$name = strtolower($prefix);
|
||||
}
|
||||
$name = ucfirst($name);
|
||||
|
||||
$location = 'http://' . str_replace('tcp://', '', $value) . '/';
|
||||
|
||||
echo '- ' . $name . ' (' . $location .')' . PHP_EOL;
|
||||
|
||||
$username = getenv($prefix.'_USER');
|
||||
$password = getenv($prefix.'_PW');
|
||||
|
||||
if ($username == "") $username = 'username';
|
||||
if ($password == "") $password = 'username';
|
||||
|
||||
$servers []= array_merge(array(
|
||||
'name' => $name,
|
||||
'username' => $username,
|
||||
'password' => $password,
|
||||
'authMaster' => true,
|
||||
'location' => $location),
|
||||
(array_key_exists($prefix, $config_overrides)) ? $config_overrides[$prefix] : array());
|
||||
}
|
||||
}
|
||||
// check if there are any servers
|
||||
if (!$servers) {
|
||||
echo 'Error: No vboxwebsrv instance linked? Use "--link containername:myname"' . PHP_EOL;
|
||||
echo 'Use environment variables if no vboxwebsrv containers are used!';
|
||||
exit(1);
|
||||
}
|
||||
|
||||
// put servers array to file
|
||||
file_put_contents('/var/www/config-servers.php', '<?php return ' . var_export($servers, true) . ';');
|
||||
|
||||
if (array_key_exists("", $config_overrides)) {
|
||||
// getting global config overrides
|
||||
file_put_contents('/var/www/config-override.php','<?php return ' . var_export($config_overrides[""], true) . ';' );
|
||||
}
|
Loading…
Reference in New Issue
Block a user