From: Vincent Vanwaelscappel Date: Thu, 31 Oct 2024 15:23:36 +0000 (+0100) Subject: wip #7168 @0.5 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=9c53aad6c3d6c76decf758980a6f15e1521f2f31;p=fluidbook-toolbox.git wip #7168 @0.5 --- diff --git a/app/Http/Controllers/Admin/Operations/Tools/DockerWebContainer.php b/app/Http/Controllers/Admin/Operations/Tools/DockerWebContainer.php index 35c5ec540..c6278b908 100644 --- a/app/Http/Controllers/Admin/Operations/Tools/DockerWebContainer.php +++ b/app/Http/Controllers/Admin/Operations/Tools/DockerWebContainer.php @@ -47,6 +47,7 @@ trait DockerWebContainer $form->addField('redis', Checkbox::class, __('Serveur Redis'), ['default' => true, 'when' => ['laravel' => '0']]); $form->addField('matomo', Checkbox::class, __('Serveur Matomo'), ['default' => false]); $form->addField('elasticsearch', Checkbox::class, __('Serveur ElasticSearch'), ['default' => false]); + $form->addField('s3', Checkbox::class, __('Serveur S3 (MinIO)'), ['default' => false]); return view('tools.form', ['form' => $form]); } @@ -110,6 +111,7 @@ trait DockerWebContainer $phpversion = $request->get('phpversion', '8.3'); $mysql = $request->get('mysql', true); $redis = $request->get('redis', true); + $s3 = $request->get('s3', false); if ($laravel > 0) { $phpversion = '8.3'; $redis = $mysql = true; @@ -128,6 +130,7 @@ trait DockerWebContainer '$sshpassword' => Str::random(16), '$public' => ($laravel || $request->get('public')) ? '/public' : '/', '$environment' => $env, + '$s3password' => Str::random(16), ]; if (!$variables['$domain']) { @@ -177,6 +180,9 @@ trait DockerWebContainer $compose[] = 'elasticsearch'; $fixRights[] = 'chmod -R 777 ./esdata'; } + if ($s3) { + $compose[] = 's3'; + } if ($laravel) { $laravelSource = resource_path('tools/dockerwebcontainer/laravel'); diff --git a/public/images/logo-small.svg b/public/images/logo-small.svg new file mode 100644 index 000000000..3914fe810 --- /dev/null +++ b/public/images/logo-small.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/tools/dockerwebcontainer/s3 b/resources/tools/dockerwebcontainer/s3 new file mode 100644 index 000000000..2c3857c9b --- /dev/null +++ b/resources/tools/dockerwebcontainer/s3 @@ -0,0 +1,22 @@ + minio: + image: 'minio/minio:latest' + container_name: $name-s3 + environment: + VIRTUAL_HOST: s3.$domain + VIRTUAL_PORT: 9000 + VIRTUAL_HOST_MULTIPORTS: |- + s3.$domain: + "/": + port: 9000 + s3.$domain: + "/console": + port: 8900 + LETSENCRYPT_HOST: s3.$domain + MINIO_ROOT_USER: root + MINIO_ROOT_PASSWORD: $s3password + volumes: + - './s3:/data/minio' + command: 'minio server /data/minio --console-address ":8900"' + networks: + - $name + restart: unless-stopped diff --git a/routes/api.php b/routes/api.php index 2f535c910..dfe006290 100644 --- a/routes/api.php +++ b/routes/api.php @@ -19,7 +19,7 @@ Route::group([ ], function () { Route::get('fluidbook-publication/{id}/download/{version}', [\App\Http\Controllers\API\FluidbookPublicationAPIController::class, 'download']); Route::get('fluidbook-publication/{id}/metadata', [\App\Http\Controllers\API\FluidbookPublicationAPIController::class, 'metadata']); - Route::get('fluidbook-publication/create', [\App\Http\Controllers\API\FluidbookPublicationAPIController::class, 'create']); + Route::post('fluidbook-publication/create', [\App\Http\Controllers\API\FluidbookPublicationAPIController::class, 'create']); Route::post('cache/clear/{tag?}', [\App\Http\Controllers\API\CacheAPIController::class, 'clear']); });