Docker LOG rotation:
:
=mk_option($dockercfg['DOCKER_LOG_ROTATION'], 'no', 'Disabled')?>
=mk_option($dockercfg['DOCKER_LOG_ROTATION'], 'yes', 'Enabled')?>
> By default LOG rotation is disabled and will create a single LOG file of unlimited size.
>
> Enable LOG rotation to limit the size of the LOG file and specify the number of files to keep in the rotation scheme.
Docker LOG maximum file size:
:
=mk_option($dockercfg['DOCKER_LOG_SIZE'], '10m', '10 MB')?>
=mk_option($dockercfg['DOCKER_LOG_SIZE'], '20m', '20 MB')?>
=mk_option($dockercfg['DOCKER_LOG_SIZE'], '50m', '50 MB')?>
=mk_option($dockercfg['DOCKER_LOG_SIZE'], '100m', '100 MB')?>
=mk_option($dockercfg['DOCKER_LOG_SIZE'], '500m', '500 MB')?>
=mk_option($dockercfg['DOCKER_LOG_SIZE'], '1g', '1000 MB')?>
> Specifies the maximum LOG size. When exceeded LOG rotation will occur.
Docker LOG number of files:
:
=mk_option($dockercfg['DOCKER_LOG_FILES'], '1', '1')?>
=mk_option($dockercfg['DOCKER_LOG_FILES'], '2', '2')?>
=mk_option($dockercfg['DOCKER_LOG_FILES'], '3', '3')?>
> Specifies the number of LOG files when LOG rotation is done.
Template Authoring Mode:
:
=mk_option($dockercfg['DOCKER_AUTHORING_MODE'], 'no', 'No')?>
=mk_option($dockercfg['DOCKER_AUTHORING_MODE'], 'yes', 'Yes')?>
> If set to **Yes**, when creating/editing containers the interface will be present with some extra fields related to template authoring.
Preserve user defined networks:
:
=mk_option($dockercfg['DOCKER_USER_NETWORKS'], 'remove', 'No')?>
=mk_option($dockercfg['DOCKER_USER_NETWORKS'], 'preserve', 'Yes')?>
> User created networks are networks created by the user outside of the GUI.
> By default user created networks are removed from Docker. This is done to prevent potential conflicts with the automatic generation of custom networks.
>
> Change this setting to preserve user defined networks, but it is the responsibility of the user to ensure these entries work correctly and are conflict free.
$route):?>
$net = normalize($network);
$docker_auto = "DOCKER_AUTO_$net";
$docker_dhcp = "DOCKER_DHCP_$net";
?>
IPv4 custom network on interface =$network?> (optional):
$auto = $dockercfg[$docker_auto]!='no';
$autoDisabled = $auto ? '':'disabled';
$dhcp = $dockercfg[$docker_dhcp] ?? false;
$dhcpDisabled = ($auto && $dhcp) ? '':'disabled';
$net = base_min($route);
$max = base_max($route);
$mask = explode('/',$route)[1];
$net_user = $dhcp ? base_min($dhcp) : $net;
$mask_user = $dhcp ? explode('/',$dhcp)[1] : $mask+1;
$size = pow(2,32-$mask_user);
switch (true) {
case ($mask < 16): $prefix = $net[0]; $box = 1; break;
case ($mask < 24): $prefix = $net[0].'.'.$net[1]; $box = 2; break;
case ($mask < 32): $prefix = $net[0].'.'.$net[1].'.'.$net[2]; $box = 3 ;break;
}
?>
:
>
**Subnet:** =$route?>
**Gateway:** =$gateway[$network]?>
=$autoDisabled?>>
**DHCP pool:**=$prefix?>.
for ($b=$box; $b<=3; $b++) {
switch ($b) {
case 1: $step = $size/65536%256; break;
case 2: $step = $size/256%256; break;
case 3: $step = $size%256; break;
}
if ($step===0) $step = 256;
echo "
";
for ($n=$net[$b]; $n<=$max[$b]; $n++) echo mk_option($net_user[$b],$n,$n,$n%$step==0?'':'class="hide"');
echo " ";
}
echo "/ ";
echo "
";
for ($m=$mask+1; $m<=30; $m++) echo mk_option($mask_user,$m,$m);
echo " ($size hosts) ";
echo "
";
?>
> Include (default) or exclude the above interfaces or VLANs as custom network for Docker.
>
> Enter the pool range within each allocated subnet which is used for DHCPv4 assignments by Docker. E.g. 192.168.1.128/25
$port = normalize($network);
list($subnet,$mask) = explode('/',$dockercfg["DOCKER_SUBNET_$port"]);
list($range,$size) = explode('/',$dockercfg["DOCKER_RANGE_$port"]);
$disabled = $subnet ? '':'disabled';
$dhcpDisabled = $range ? '':'disabled';
?>
IPv4 custom network on interface =$network?> (optional):
:
>
**Subnet:** >/
>
**Gateway:** " title="IPv4 address A.B.C.D"=$disabled?>>
=$dhcpDisabled?>>
**DHCP pool:** >/
>
(=pow(2,32-($size?:25))?> hosts)
> Include or exclude (default) the above interfaces or VLANs as custom network for Docker.
>
> Enter the pool range within each allocated subnet which is used for DHCPv4 assignments by Docker. E.g. 192.168.1.128/25
$route):?>
$net = normalize($network);
$docker_auto = "DOCKER_AUTO_$net";
$docker_dhcp6 = "DOCKER_DHCP6_$net";
?>
IPv6 custom network on interface =$network?> (optional):
$auto6 = $dockercfg[$docker_auto]!='no';
$auto6Disabled = $auto6 ? '':'disabled';
$dhcp6 = $dockercfg[$docker_dhcp6] ?? false;
$dhcp6Disabled = ($auto6 && $dhcp6) ? '':'disabled';
$net = base_net($route);
$mask = explode('/',$route)[1];
$net_user = $dhcp6 ? str_replace("$net:","",base_net($dhcp6)) : '';
$mask_user = $dhcp6 ? explode('/',$dhcp6)[1] : $mask;
?>
:
>
**Subnet:** =$route?>
**Gateway:** =$gateway6[$network]?>
=$auto6Disabled?>>
**DHCP pool:**=$net?>:
echo " / ";
echo "";
for ($m=$mask+8; $m<=120; $m+=8) echo mk_option($mask_user,$m,$m);
echo " ";
?>
> Include (default) or exclude the above interfaces or VLANs as custom network for Docker.
>
> Enter the pool range within each allocated subnet which is used for DHCPv6 assignments by Docker. E.g. 2a02:abcd:9ef5:100:1::/72
$port = normalize($network);
list($subnet6,$mask6) = explode('/',$dockercfg["DOCKER_SUBNET6_$port"]);
list($range6,$size6) = explode('/',$dockercfg["DOCKER_RANGE6_$port"]);
$disabled = $subnet6 ? '':'disabled';
$dhcpDisabled = $range6 ? '':'disabled';
?>
IPv6 custom network on interface =$network?> (optional):
:
>
**Subnet:** >/
>
**Gateway:** " title="IPv6 address nnnn:xxxx::yyyy"=$disabled?>>
=$dhcpDisabled?>>
**DHCP pool:** >/
>
> Include or exclude (default) the above interfaces or VLANs as custom network for Docker.
>
> Enter the pool range within each allocated subnet which is used for DHCPv6 assignments by Docker. E.g. 2a02:abcd:9ef5:100:1::/72
Docker version:
: $arrInfo = $DockerClient->getInfo(); echo $arrInfo['Version']?>
> This is the Docker version.
Docker vDisk location:
: =$dockercfg['DOCKER_IMAGE_FILE']?>
> This is the location of the Docker image.
Default appdata storage location:
: =$dockercfg['DOCKER_APP_CONFIG_PATH']?>
> This is the storage location for Docker containers.
Docker LOG rotation:
: =$dockercfg['DOCKER_LOG_ROTATION']=='yes'?'Enabled':'Disabled'?>
> By default a single unlimited LOG file is created. Otherwise LOG file size and number of files are limited when LOG rotation is enabled.
Preserve user defined networks:
: =$dockercfg['DOCKER_USER_NETWORKS']=='preserve'?'Yes':'No'?>
> Shows whether networks created outside of the GUI are removed or preserved for Docker. When preserved *user defined networks* become available in the *Network type* dropdown list of containers.
$route):?>
$net = normalize($network);
$docker_dhcp = "DOCKER_DHCP_$net";
?>
IPv4 custom network on interface =$network?>:
: **Subnet:** =$route?>
**Gateway:** =$gateway[$network]?>
**DHCP pool:** =$dockercfg[$docker_dhcp] ?? 'not set'?> (=pow(2,32-explode('/',$dockercfg[$docker_dhcp])[1])?> hosts)
$port = normalize($network);
list($eth,$vlan) = explode('.',$network);
$eth = str_replace(['bond','br'],'eth',$eth);
if (!$vlan) {
$protocol = $$eth['PROTOCOL:0'] ?? 'ipv4';
} else {
foreach ($$eth as $key => $value) {
if (strpos($key,'VLANID')!==false && $value==$vlan) {$protocol = $$eth[str_replace('VLANID','PROTOCOL',$key)] ?? 'ipv4'; break;}
}
}
list($subnet,$mask) = explode('/',$dockercfg["DOCKER_SUBNET_$port"]);
list($range,$size) = explode('/',$dockercfg["DOCKER_RANGE_$port"]);
?>
IPv4 custom network on interface =$network?>:
: **Subnet:** =$subnet?>/=$mask?>
**Gateway:** =$dockercfg["DOCKER_GATEWAY_$port"]?>
**DHCP pool:** =$range?"$range/$size":"not set"?> (=pow(2,32-($size?:25))?> hosts)
$route):?>
$net = normalize($network);
$docker_dhcp6 = "DOCKER_DHCP6_$net";
if ($dockercfg[$docker_dhcp6] || empty($dockercfg["DOCKER_AUTO_$net"])):?>
$wide = true;?>
IPv6 custom network on interface =$network?>:
: **Subnet:** =$route?>
**Gateway:** =$gateway6[$network]?>
**DHCP pool:** =$dockercfg[$docker_dhcp6] ?? 'not set'?>
$port = normalize($network);
list($eth,$vlan) = explode('.',$network);
$eth = str_replace(['bond','br'],'eth',$eth);
if (!$vlan) {
$protocol = $$eth['PROTOCOL:0'] ?? 'ipv4';
} else {
foreach ($$eth as $key => $value) {
if (strpos($key,'VLANID')!==false && $value==$vlan) {$protocol = $$eth[str_replace('VLANID','PROTOCOL',$key)] ?? 'ipv4'; break;}
}
}
list($subnet6,$mask6) = explode('/',$dockercfg["DOCKER_SUBNET6_$port"]);
list($range6,$size6) = explode('/',$dockercfg["DOCKER_RANGE6_$port"]);
?>
IPv6 custom network on interface =$network?>:
: **Subnet:** =$subnet6?>/=$mask6?>
**Gateway:** =$dockercfg["DOCKER_GATEWAY6_$port"]?>
**DHCP pool:** =$range6?"$range6/$size6":"not set"?>
: