$form->addField('containername', Text::class, __('Nom du container'), ['prefix' => '/docker/']);
$form->addField('domain', Text::class, __('Nom du domaine ou sous-domaine'), ['placeholder' => 'containername.dev.cubedesigners.com']);
$form->addField('env', SelectFromArrayMultiple::class, __('Environnements'), ['default' => json_encode(['production', 'dev']), 'options' => ['production' => 'production', 'dev' => 'dev', 'staging' => 'staging', 'preprod' => 'preprod']]);
+ $form->addField('public', Checkbox::class, __('Racine dans le dossier "public"'), ['default' => true]);
$form->addField('phpversion', SelectFromArray::class, __('Version de PHP'), ["options" =>
['none' => '-',
'5.6' => '5.6',
$subDomain = $env === 'production' ? 'www.' : $env . '.';
$dockerSuffix = $env === 'production' ? '' : '-' . $env;
+ if (count($envs) === 1) {
+ $subDomain = '';
+ }
$variables = ['$name' => $name . $dockerSuffix,
'$portadminer' => rand(10000, 60000),
'$localeshort' => 'fr',
'$sshpassword' => Str::random(16),
'$fixrights' => '',
+ '$public' => $request->get('public') ? '/public' : '/'
];
if (!$variables['$domain']) {
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
-DocumentRoot "/application/public"
-<Directory "/application/public">
+DocumentRoot "/application$public"
+<Directory "/application$public">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
Require all granted
</Directory>
-ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://$name:9000/application/public/$1" timeout=1800
+ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://$name:9000/application$public/$1" timeout=1800
XSendFile on
XSendFilePath /application