Compare commits
No commits in common. "master" and "1_docker_ready" have entirely different histories.
master
...
1_docker_r
12
.gitignore
vendored
12
.gitignore
vendored
@ -1,13 +1,7 @@
|
|||||||
# Uncomment to ignore Symfony project
|
# Uncomment to ignore Symfony project
|
||||||
#/app/*
|
/app/*
|
||||||
!/app/.keep
|
!/app/.keep
|
||||||
|
|
||||||
# Uncomment to ignore Database datas
|
# Uncomment to ignore Database datas
|
||||||
data
|
/data/*
|
||||||
|
!/data/.keep
|
||||||
# yarn
|
|
||||||
/app/.yarncache
|
|
||||||
|
|
||||||
|
|
||||||
# phpstorm
|
|
||||||
.idea
|
|
||||||
|
113
README.md
113
README.md
@ -1,111 +1,22 @@
|
|||||||
Environnement de développement Docker pour démarrer un nouveau projet Symfony5
|
Environnement de développement Docker pour démarrer un nouveau projet Symfony5
|
||||||
==================================
|
==================================
|
||||||
|
|
||||||
## En partant de la branche *5_start_new-project*
|
# Présentation
|
||||||
|
|
||||||
Le projet, symfony et ses dépendances sont prêt à être installé.
|
L'objectif de ce dépôt est de proposer et de faire évoluer une configuration de départ pour démarrer très simplement un nouveau projet Symfony dans des conteneurs Docker.
|
||||||
|
|
||||||
```
|
En suivant pas-à-pas les instructions à partir du chapitre "Installation", on peut démarrer en quelques minutes un nouveau projet.
|
||||||
$ docker-compose build
|
|
||||||
$ docker-compose up -d
|
|
||||||
$ docker-compose exec -u 1000 php bash
|
|
||||||
```
|
|
||||||
|
|
||||||
dans le conteneur php :
|
Le dépôt propose plusieurs branches qui peuvent être utilisées selon le point de départ recherché:
|
||||||
|
|
||||||
```
|
## 1_docker_ready
|
||||||
$ composer install
|
|
||||||
$ bin/console doctrine:schema:create
|
|
||||||
```
|
|
||||||
|
|
||||||
et pour node :
|
La branche `1_docker_ready` fournit juste le docker-compose.yml et les Dockerfile qui permettent de construire les conteneurs.
|
||||||
|
|
||||||
```
|
* `$ cd my-project-dir`
|
||||||
$ bash docker-node.sh yarn install --force
|
* `$ docker-compose build`
|
||||||
$ bash docker-node.sh yarn encore dev-server
|
* `$ docker-compose up -d`
|
||||||
```
|
* `$ docker-compose exec -u 1000 php bash`
|
||||||
|
|
||||||
Voilà, le site est disponible sur http://localhost:8000
|
A ce stade les commandes composer et symfony sont disponible pour lancer la création du projet.
|
||||||
|
Après ça on choisira dans le fichier `app/.env` le type de base de donnée. Un conteneur est prévu pour utiliser postgresql. Par défaut, Symfony proposera l'utilisation d'un fichier sqlite (`app/data/database.sqlite`).
|
||||||
|
|
||||||
## En partant de la branche *1_docker_ready*
|
|
||||||
|
|
||||||
### 1. Se mettre sur la bonne branche
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ git co -b 1_docker_ready origin/1_docker_ready
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2. Construire les images et les conteneurs
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ docker-compose build
|
|
||||||
$ docker-compose up
|
|
||||||
.. 221001_test3_db_1 exited with code 1
|
|
||||||
```
|
|
||||||
|
|
||||||
### 3. Parce que 'db' ne se lance pas:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ docker-compose rm db
|
|
||||||
$ sudo rm -rf ./data
|
|
||||||
$ docker-compose up db
|
|
||||||
```
|
|
||||||
|
|
||||||
### 4. Entrer dans le conteneur php
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ docker-compose exec -u 1000 php bash
|
|
||||||
```
|
|
||||||
|
|
||||||
### 5. Créer le projet
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ symfony new project
|
|
||||||
$ mv project/* . && mv project/.* . && rmdir project
|
|
||||||
```
|
|
||||||
|
|
||||||
### 6. Charger les dépendances de composer
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ composer require doctrine/annotations twig/twig doctrine/orm symfony/orm-pack symfony/form symfony/maker-bundle symfony/security-csrf
|
|
||||||
```
|
|
||||||
|
|
||||||
### 7. Connexion à postgresql
|
|
||||||
|
|
||||||
modifier DATABASE_URL dans app/.env :
|
|
||||||
```bash
|
|
||||||
+++ DATABASE_URL="postgresql://postgres:secret@db:5432/postgres?serverVersion=12&charset=utf8"
|
|
||||||
```
|
|
||||||
|
|
||||||
et dans le conteneur php :
|
|
||||||
```bash
|
|
||||||
$ bin/console doctrine:schema:create
|
|
||||||
```
|
|
||||||
|
|
||||||
### 8. Chargement de dépendances, la suite
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ composer require symfony/yaml symfony/twig-bridge symfony/validator
|
|
||||||
|
|
||||||
$ composer require symfony/asset symfony/expression-language symfony/security-http symfony/translation symfony/web-link egulias/email-validator symfony/expression-language symfony/intl symfony/translation
|
|
||||||
|
|
||||||
$ composer require --dev symfony/profiler-pack symfony/debug-bundle symfony/var-dumper
|
|
||||||
```
|
|
||||||
|
|
||||||
### 9. Installer node et yarn
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ composer require symfony/webpack-encore-bundle
|
|
||||||
```
|
|
||||||
|
|
||||||
mettre en place le script qui lance docker node, le lancer pour entrer dans le conteneur node:
|
|
||||||
```bash
|
|
||||||
$ yarn install --force
|
|
||||||
$ yarn add sass sass-loader
|
|
||||||
$ yarn encore dev-server
|
|
||||||
```
|
|
||||||
|
|
||||||
### 10. C'est installé !
|
|
||||||
|
|
||||||
le site est disponible sur http://localhost:8000
|
|
||||||
|
29
app/.env
29
app/.env
@ -1,29 +0,0 @@
|
|||||||
# In all environments, the following files are loaded if they exist,
|
|
||||||
# the latter taking precedence over the former:
|
|
||||||
#
|
|
||||||
# * .env contains default values for the environment variables needed by the app
|
|
||||||
# * .env.local uncommitted file with local overrides
|
|
||||||
# * .env.$APP_ENV committed environment-specific defaults
|
|
||||||
# * .env.$APP_ENV.local uncommitted environment-specific overrides
|
|
||||||
#
|
|
||||||
# Real environment variables win over .env files.
|
|
||||||
#
|
|
||||||
# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES.
|
|
||||||
# https://symfony.com/doc/current/configuration/secrets.html
|
|
||||||
#
|
|
||||||
# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2).
|
|
||||||
# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration
|
|
||||||
|
|
||||||
###> symfony/framework-bundle ###
|
|
||||||
APP_ENV=dev
|
|
||||||
APP_SECRET=0751e183ea472eb11c19f21f66a2543c
|
|
||||||
###< symfony/framework-bundle ###
|
|
||||||
|
|
||||||
###> doctrine/doctrine-bundle ###
|
|
||||||
# Format described at https://www.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
|
|
||||||
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
|
|
||||||
#
|
|
||||||
# DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db"
|
|
||||||
# DATABASE_URL="mysql://app:!ChangeMe!@127.0.0.1:3306/app?serverVersion=8&charset=utf8mb4"
|
|
||||||
DATABASE_URL="postgresql://app:!ChangeMe!@127.0.0.1:5432/app?serverVersion=15&charset=utf8"
|
|
||||||
###< doctrine/doctrine-bundle ###
|
|
17
app/.gitignore
vendored
17
app/.gitignore
vendored
@ -1,17 +0,0 @@
|
|||||||
|
|
||||||
###> symfony/framework-bundle ###
|
|
||||||
/.env.local
|
|
||||||
/.env.local.php
|
|
||||||
/.env.*.local
|
|
||||||
/config/secrets/prod/prod.decrypt.private.php
|
|
||||||
/public/bundles/
|
|
||||||
/var/
|
|
||||||
/vendor/
|
|
||||||
###< symfony/framework-bundle ###
|
|
||||||
|
|
||||||
###> symfony/webpack-encore-bundle ###
|
|
||||||
/node_modules/
|
|
||||||
/public/build/
|
|
||||||
npm-debug.log
|
|
||||||
yarn-error.log
|
|
||||||
###< symfony/webpack-encore-bundle ###
|
|
@ -1,12 +0,0 @@
|
|||||||
/*
|
|
||||||
* Welcome to your app's main JavaScript file!
|
|
||||||
*
|
|
||||||
* We recommend including the built version of this JavaScript file
|
|
||||||
* (and its CSS file) in your base layout (base.html.twig).
|
|
||||||
*/
|
|
||||||
|
|
||||||
// any CSS you import will output into a single css file (app.css in this case)
|
|
||||||
import './styles/app.css';
|
|
||||||
|
|
||||||
// start the Stimulus application
|
|
||||||
import './bootstrap';
|
|
11
app/assets/bootstrap.js
vendored
11
app/assets/bootstrap.js
vendored
@ -1,11 +0,0 @@
|
|||||||
import { startStimulusApp } from '@symfony/stimulus-bridge';
|
|
||||||
|
|
||||||
// Registers Stimulus controllers from controllers.json and in the controllers/ directory
|
|
||||||
export const app = startStimulusApp(require.context(
|
|
||||||
'@symfony/stimulus-bridge/lazy-controller-loader!./controllers',
|
|
||||||
true,
|
|
||||||
/\.[jt]sx?$/
|
|
||||||
));
|
|
||||||
|
|
||||||
// register any custom, 3rd party controllers here
|
|
||||||
// app.register('some_controller_name', SomeImportedController);
|
|
@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"controllers": [],
|
|
||||||
"entrypoints": []
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
import { Controller } from '@hotwired/stimulus';
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This is an example Stimulus controller!
|
|
||||||
*
|
|
||||||
* Any element with a data-controller="hello" attribute will cause
|
|
||||||
* this controller to be executed. The name "hello" comes from the filename:
|
|
||||||
* hello_controller.js -> "hello"
|
|
||||||
*
|
|
||||||
* Delete this file or adapt it for your use!
|
|
||||||
*/
|
|
||||||
export default class extends Controller {
|
|
||||||
connect() {
|
|
||||||
this.element.textContent = 'Hello Stimulus! Edit me in assets/controllers/hello_controller.js';
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,3 +0,0 @@
|
|||||||
body {
|
|
||||||
background-color: lightgray;
|
|
||||||
}
|
|
@ -1,17 +0,0 @@
|
|||||||
#!/usr/bin/env php
|
|
||||||
<?php
|
|
||||||
|
|
||||||
use App\Kernel;
|
|
||||||
use Symfony\Bundle\FrameworkBundle\Console\Application;
|
|
||||||
|
|
||||||
if (!is_file(dirname(__DIR__).'/vendor/autoload_runtime.php')) {
|
|
||||||
throw new LogicException('Symfony Runtime is missing. Try running "composer require symfony/runtime".');
|
|
||||||
}
|
|
||||||
|
|
||||||
require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
|
|
||||||
|
|
||||||
return function (array $context) {
|
|
||||||
$kernel = new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
|
|
||||||
|
|
||||||
return new Application($kernel);
|
|
||||||
};
|
|
@ -1,91 +0,0 @@
|
|||||||
{
|
|
||||||
"type": "project",
|
|
||||||
"license": "proprietary",
|
|
||||||
"minimum-stability": "stable",
|
|
||||||
"prefer-stable": true,
|
|
||||||
"require": {
|
|
||||||
"php": ">=7.2.5",
|
|
||||||
"ext-ctype": "*",
|
|
||||||
"ext-iconv": "*",
|
|
||||||
"doctrine/annotations": "^1.13",
|
|
||||||
"doctrine/doctrine-bundle": "^2.7",
|
|
||||||
"doctrine/doctrine-migrations-bundle": "^3.2",
|
|
||||||
"doctrine/orm": "^2.13",
|
|
||||||
"egulias/email-validator": "^3.2",
|
|
||||||
"sensio/framework-extra-bundle": "^6.2",
|
|
||||||
"symfony/asset": "^5.4",
|
|
||||||
"symfony/console": "5.4.*",
|
|
||||||
"symfony/dotenv": "5.4.*",
|
|
||||||
"symfony/expression-language": "^5.4",
|
|
||||||
"symfony/flex": "^1.17|^2",
|
|
||||||
"symfony/form": "^5.4",
|
|
||||||
"symfony/framework-bundle": "5.4.*",
|
|
||||||
"symfony/intl": "^5.4",
|
|
||||||
"symfony/maker-bundle": "^1.43",
|
|
||||||
"symfony/proxy-manager-bridge": "5.4.*",
|
|
||||||
"symfony/runtime": "5.4.*",
|
|
||||||
"symfony/security-csrf": "^5.4",
|
|
||||||
"symfony/security-http": "^5.4",
|
|
||||||
"symfony/translation": "^5.4",
|
|
||||||
"symfony/twig-bridge": "^5.4",
|
|
||||||
"symfony/validator": "^5.4",
|
|
||||||
"symfony/web-link": "^5.4",
|
|
||||||
"symfony/webpack-encore-bundle": "^1.15",
|
|
||||||
"symfony/yaml": "^5.4",
|
|
||||||
"twig/twig": "^3.4"
|
|
||||||
},
|
|
||||||
"config": {
|
|
||||||
"allow-plugins": {
|
|
||||||
"composer/package-versions-deprecated": true,
|
|
||||||
"symfony/flex": true,
|
|
||||||
"symfony/runtime": true
|
|
||||||
},
|
|
||||||
"optimize-autoloader": true,
|
|
||||||
"preferred-install": {
|
|
||||||
"*": "dist"
|
|
||||||
},
|
|
||||||
"sort-packages": true
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"App\\": "src/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"autoload-dev": {
|
|
||||||
"psr-4": {
|
|
||||||
"App\\Tests\\": "tests/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"replace": {
|
|
||||||
"symfony/polyfill-ctype": "*",
|
|
||||||
"symfony/polyfill-iconv": "*",
|
|
||||||
"symfony/polyfill-php72": "*"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"auto-scripts": {
|
|
||||||
"cache:clear": "symfony-cmd",
|
|
||||||
"assets:install %PUBLIC_DIR%": "symfony-cmd"
|
|
||||||
},
|
|
||||||
"post-install-cmd": [
|
|
||||||
"@auto-scripts"
|
|
||||||
],
|
|
||||||
"post-update-cmd": [
|
|
||||||
"@auto-scripts"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"conflict": {
|
|
||||||
"symfony/symfony": "*"
|
|
||||||
},
|
|
||||||
"extra": {
|
|
||||||
"symfony": {
|
|
||||||
"allow-contrib": false,
|
|
||||||
"require": "5.4.*"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"symfony/debug-bundle": "^5.4",
|
|
||||||
"symfony/stopwatch": "5.4.*",
|
|
||||||
"symfony/var-dumper": "^5.4",
|
|
||||||
"symfony/web-profiler-bundle": "5.4.*"
|
|
||||||
}
|
|
||||||
}
|
|
6825
app/composer.lock
generated
6825
app/composer.lock
generated
File diff suppressed because it is too large
Load Diff
@ -1,13 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
return [
|
|
||||||
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
|
|
||||||
Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
|
|
||||||
Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true],
|
|
||||||
Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle::class => ['all' => true],
|
|
||||||
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true],
|
|
||||||
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
|
|
||||||
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
|
|
||||||
Symfony\WebpackEncoreBundle\WebpackEncoreBundle::class => ['all' => true],
|
|
||||||
Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true],
|
|
||||||
];
|
|
@ -1,19 +0,0 @@
|
|||||||
framework:
|
|
||||||
cache:
|
|
||||||
# Unique name of your app: used to compute stable namespaces for cache keys.
|
|
||||||
#prefix_seed: your_vendor_name/app_name
|
|
||||||
|
|
||||||
# The "app" cache stores to the filesystem by default.
|
|
||||||
# The data in this cache should persist between deploys.
|
|
||||||
# Other options include:
|
|
||||||
|
|
||||||
# Redis
|
|
||||||
#app: cache.adapter.redis
|
|
||||||
#default_redis_provider: redis://localhost
|
|
||||||
|
|
||||||
# APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues)
|
|
||||||
#app: cache.adapter.apcu
|
|
||||||
|
|
||||||
# Namespaced pools use the above "app" backend by default
|
|
||||||
#pools:
|
|
||||||
#my.dedicated.cache: null
|
|
@ -1,5 +0,0 @@
|
|||||||
when@dev:
|
|
||||||
debug:
|
|
||||||
# Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser.
|
|
||||||
# See the "server:dump" command to start a new server.
|
|
||||||
dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%"
|
|
@ -1,43 +0,0 @@
|
|||||||
doctrine:
|
|
||||||
dbal:
|
|
||||||
url: '%env(resolve:DATABASE_URL)%'
|
|
||||||
|
|
||||||
# IMPORTANT: You MUST configure your server version,
|
|
||||||
# either here or in the DATABASE_URL env var (see .env file)
|
|
||||||
#server_version: '15'
|
|
||||||
orm:
|
|
||||||
auto_generate_proxy_classes: true
|
|
||||||
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
|
|
||||||
auto_mapping: true
|
|
||||||
mappings:
|
|
||||||
App:
|
|
||||||
is_bundle: false
|
|
||||||
dir: '%kernel.project_dir%/src/Entity'
|
|
||||||
prefix: 'App\Entity'
|
|
||||||
alias: App
|
|
||||||
|
|
||||||
when@test:
|
|
||||||
doctrine:
|
|
||||||
dbal:
|
|
||||||
# "TEST_TOKEN" is typically set by ParaTest
|
|
||||||
dbname_suffix: '_test%env(default::TEST_TOKEN)%'
|
|
||||||
|
|
||||||
when@prod:
|
|
||||||
doctrine:
|
|
||||||
orm:
|
|
||||||
auto_generate_proxy_classes: false
|
|
||||||
proxy_dir: '%kernel.build_dir%/doctrine/orm/Proxies'
|
|
||||||
query_cache_driver:
|
|
||||||
type: pool
|
|
||||||
pool: doctrine.system_cache_pool
|
|
||||||
result_cache_driver:
|
|
||||||
type: pool
|
|
||||||
pool: doctrine.result_cache_pool
|
|
||||||
|
|
||||||
framework:
|
|
||||||
cache:
|
|
||||||
pools:
|
|
||||||
doctrine.result_cache_pool:
|
|
||||||
adapter: cache.app
|
|
||||||
doctrine.system_cache_pool:
|
|
||||||
adapter: cache.system
|
|
@ -1,6 +0,0 @@
|
|||||||
doctrine_migrations:
|
|
||||||
migrations_paths:
|
|
||||||
# namespace is arbitrary but should be different from App\Migrations
|
|
||||||
# as migrations classes should NOT be autoloaded
|
|
||||||
'DoctrineMigrations': '%kernel.project_dir%/migrations'
|
|
||||||
enable_profiler: false
|
|
@ -1,24 +0,0 @@
|
|||||||
# see https://symfony.com/doc/current/reference/configuration/framework.html
|
|
||||||
framework:
|
|
||||||
secret: '%env(APP_SECRET)%'
|
|
||||||
#csrf_protection: true
|
|
||||||
http_method_override: false
|
|
||||||
|
|
||||||
# Enables session support. Note that the session will ONLY be started if you read or write from it.
|
|
||||||
# Remove or comment this section to explicitly disable session support.
|
|
||||||
session:
|
|
||||||
handler_id: null
|
|
||||||
cookie_secure: auto
|
|
||||||
cookie_samesite: lax
|
|
||||||
storage_factory_id: session.storage.factory.native
|
|
||||||
|
|
||||||
#esi: true
|
|
||||||
#fragments: true
|
|
||||||
php_errors:
|
|
||||||
log: true
|
|
||||||
|
|
||||||
when@test:
|
|
||||||
framework:
|
|
||||||
test: true
|
|
||||||
session:
|
|
||||||
storage_factory_id: session.storage.factory.mock_file
|
|
@ -1,12 +0,0 @@
|
|||||||
framework:
|
|
||||||
router:
|
|
||||||
utf8: true
|
|
||||||
|
|
||||||
# Configure how to generate URLs in non-HTTP contexts, such as CLI commands.
|
|
||||||
# See https://symfony.com/doc/current/routing.html#generating-urls-in-commands
|
|
||||||
#default_uri: http://localhost
|
|
||||||
|
|
||||||
when@prod:
|
|
||||||
framework:
|
|
||||||
router:
|
|
||||||
strict_requirements: null
|
|
@ -1,3 +0,0 @@
|
|||||||
sensio_framework_extra:
|
|
||||||
router:
|
|
||||||
annotations: false
|
|
@ -1,13 +0,0 @@
|
|||||||
framework:
|
|
||||||
default_locale: en
|
|
||||||
translator:
|
|
||||||
default_path: '%kernel.project_dir%/translations'
|
|
||||||
fallbacks:
|
|
||||||
- en
|
|
||||||
# providers:
|
|
||||||
# crowdin:
|
|
||||||
# dsn: '%env(CROWDIN_DSN)%'
|
|
||||||
# loco:
|
|
||||||
# dsn: '%env(LOCO_DSN)%'
|
|
||||||
# lokalise:
|
|
||||||
# dsn: '%env(LOKALISE_DSN)%'
|
|
@ -1,6 +0,0 @@
|
|||||||
twig:
|
|
||||||
default_path: '%kernel.project_dir%/templates'
|
|
||||||
|
|
||||||
when@test:
|
|
||||||
twig:
|
|
||||||
strict_variables: true
|
|
@ -1,13 +0,0 @@
|
|||||||
framework:
|
|
||||||
validation:
|
|
||||||
email_validation_mode: html5
|
|
||||||
|
|
||||||
# Enables validator auto-mapping support.
|
|
||||||
# For instance, basic validation constraints will be inferred from Doctrine's metadata.
|
|
||||||
#auto_mapping:
|
|
||||||
# App\Entity\: []
|
|
||||||
|
|
||||||
when@test:
|
|
||||||
framework:
|
|
||||||
validation:
|
|
||||||
not_compromised_password: false
|
|
@ -1,15 +0,0 @@
|
|||||||
when@dev:
|
|
||||||
web_profiler:
|
|
||||||
toolbar: true
|
|
||||||
intercept_redirects: false
|
|
||||||
|
|
||||||
framework:
|
|
||||||
profiler: { only_exceptions: false }
|
|
||||||
|
|
||||||
when@test:
|
|
||||||
web_profiler:
|
|
||||||
toolbar: false
|
|
||||||
intercept_redirects: false
|
|
||||||
|
|
||||||
framework:
|
|
||||||
profiler: { collect: false }
|
|
@ -1,45 +0,0 @@
|
|||||||
webpack_encore:
|
|
||||||
# The path where Encore is building the assets - i.e. Encore.setOutputPath()
|
|
||||||
output_path: '%kernel.project_dir%/public/build'
|
|
||||||
# If multiple builds are defined (as shown below), you can disable the default build:
|
|
||||||
# output_path: false
|
|
||||||
|
|
||||||
# Set attributes that will be rendered on all script and link tags
|
|
||||||
script_attributes:
|
|
||||||
defer: true
|
|
||||||
# Uncomment (also under link_attributes) if using Turbo Drive
|
|
||||||
# https://turbo.hotwired.dev/handbook/drive#reloading-when-assets-change
|
|
||||||
# 'data-turbo-track': reload
|
|
||||||
# link_attributes:
|
|
||||||
# Uncomment if using Turbo Drive
|
|
||||||
# 'data-turbo-track': reload
|
|
||||||
|
|
||||||
# If using Encore.enableIntegrityHashes() and need the crossorigin attribute (default: false, or use 'anonymous' or 'use-credentials')
|
|
||||||
# crossorigin: 'anonymous'
|
|
||||||
|
|
||||||
# Preload all rendered script and link tags automatically via the HTTP/2 Link header
|
|
||||||
# preload: true
|
|
||||||
|
|
||||||
# Throw an exception if the entrypoints.json file is missing or an entry is missing from the data
|
|
||||||
# strict_mode: false
|
|
||||||
|
|
||||||
# If you have multiple builds:
|
|
||||||
# builds:
|
|
||||||
# frontend: '%kernel.project_dir%/public/frontend/build'
|
|
||||||
|
|
||||||
# pass the build name as the 3rd argument to the Twig functions
|
|
||||||
# {{ encore_entry_script_tags('entry1', null, 'frontend') }}
|
|
||||||
|
|
||||||
framework:
|
|
||||||
assets:
|
|
||||||
json_manifest_path: '%kernel.project_dir%/public/build/manifest.json'
|
|
||||||
|
|
||||||
#when@prod:
|
|
||||||
# webpack_encore:
|
|
||||||
# # Cache the entrypoints.json (rebuild Symfony's cache when entrypoints.json changes)
|
|
||||||
# # Available in version 1.2
|
|
||||||
# cache: true
|
|
||||||
|
|
||||||
#when@test:
|
|
||||||
# webpack_encore:
|
|
||||||
# strict_mode: false
|
|
@ -1,5 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
if (file_exists(dirname(__DIR__).'/var/cache/prod/App_KernelProdContainer.preload.php')) {
|
|
||||||
require dirname(__DIR__).'/var/cache/prod/App_KernelProdContainer.preload.php';
|
|
||||||
}
|
|
@ -1,3 +0,0 @@
|
|||||||
#index:
|
|
||||||
# path: /
|
|
||||||
# controller: App\Controller\DefaultController::index
|
|
@ -1,7 +0,0 @@
|
|||||||
controllers:
|
|
||||||
resource: ../../src/Controller/
|
|
||||||
type: annotation
|
|
||||||
|
|
||||||
kernel:
|
|
||||||
resource: ../../src/Kernel.php
|
|
||||||
type: annotation
|
|
@ -1,4 +0,0 @@
|
|||||||
when@dev:
|
|
||||||
_errors:
|
|
||||||
resource: '@FrameworkBundle/Resources/config/routing/errors.xml'
|
|
||||||
prefix: /_error
|
|
@ -1,8 +0,0 @@
|
|||||||
when@dev:
|
|
||||||
web_profiler_wdt:
|
|
||||||
resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml'
|
|
||||||
prefix: /_wdt
|
|
||||||
|
|
||||||
web_profiler_profiler:
|
|
||||||
resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml'
|
|
||||||
prefix: /_profiler
|
|
@ -1,24 +0,0 @@
|
|||||||
# This file is the entry point to configure your own services.
|
|
||||||
# Files in the packages/ subdirectory configure your dependencies.
|
|
||||||
|
|
||||||
# Put parameters here that don't need to change on each machine where the app is deployed
|
|
||||||
# https://symfony.com/doc/current/best_practices.html#use-parameters-for-application-configuration
|
|
||||||
parameters:
|
|
||||||
|
|
||||||
services:
|
|
||||||
# default configuration for services in *this* file
|
|
||||||
_defaults:
|
|
||||||
autowire: true # Automatically injects dependencies in your services.
|
|
||||||
autoconfigure: true # Automatically registers your services as commands, event subscribers, etc.
|
|
||||||
|
|
||||||
# makes classes in src/ available to be used as services
|
|
||||||
# this creates a service per class whose id is the fully-qualified class name
|
|
||||||
App\:
|
|
||||||
resource: '../src/'
|
|
||||||
exclude:
|
|
||||||
- '../src/DependencyInjection/'
|
|
||||||
- '../src/Entity/'
|
|
||||||
- '../src/Kernel.php'
|
|
||||||
|
|
||||||
# add more service definitions when explicit configuration is needed
|
|
||||||
# please note that last definitions always *replace* previous ones
|
|
@ -1,8 +0,0 @@
|
|||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
|
||||||
###> doctrine/doctrine-bundle ###
|
|
||||||
database:
|
|
||||||
ports:
|
|
||||||
- "5432"
|
|
||||||
###< doctrine/doctrine-bundle ###
|
|
@ -1,21 +0,0 @@
|
|||||||
version: '3'
|
|
||||||
|
|
||||||
services:
|
|
||||||
###> doctrine/doctrine-bundle ###
|
|
||||||
database:
|
|
||||||
image: postgres:${POSTGRES_VERSION:-15}-alpine
|
|
||||||
environment:
|
|
||||||
POSTGRES_DB: ${POSTGRES_DB:-app}
|
|
||||||
# You should definitely change the password in production
|
|
||||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-!ChangeMe!}
|
|
||||||
POSTGRES_USER: ${POSTGRES_USER:-app}
|
|
||||||
volumes:
|
|
||||||
- database_data:/var/lib/postgresql/data:rw
|
|
||||||
# You may use a bind-mounted host directory instead, so that it is harder to accidentally remove the volume and lose all your data!
|
|
||||||
# - ./docker/db/data:/var/lib/postgresql/data:rw
|
|
||||||
###< doctrine/doctrine-bundle ###
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
###> doctrine/doctrine-bundle ###
|
|
||||||
database_data:
|
|
||||||
###< doctrine/doctrine-bundle ###
|
|
@ -1,22 +0,0 @@
|
|||||||
{
|
|
||||||
"devDependencies": {
|
|
||||||
"@babel/core": "^7.17.0",
|
|
||||||
"@babel/preset-env": "^7.16.0",
|
|
||||||
"@hotwired/stimulus": "^3.0.0",
|
|
||||||
"@symfony/stimulus-bridge": "^3.2.0",
|
|
||||||
"@symfony/webpack-encore": "^4.0.0",
|
|
||||||
"core-js": "^3.23.0",
|
|
||||||
"regenerator-runtime": "^0.13.9",
|
|
||||||
"webpack": "^5.74.0",
|
|
||||||
"webpack-cli": "^4.10.0",
|
|
||||||
"webpack-notifier": "^1.15.0"
|
|
||||||
},
|
|
||||||
"license": "UNLICENSED",
|
|
||||||
"private": true,
|
|
||||||
"scripts": {
|
|
||||||
"dev-server": "encore dev-server",
|
|
||||||
"dev": "encore dev",
|
|
||||||
"watch": "encore dev --watch",
|
|
||||||
"build": "encore production --progress"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
use App\Kernel;
|
|
||||||
|
|
||||||
require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
|
|
||||||
|
|
||||||
return function (array $context) {
|
|
||||||
return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
|
|
||||||
};
|
|
0
app/src/Controller/.gitignore
vendored
0
app/src/Controller/.gitignore
vendored
0
app/src/Entity/.gitignore
vendored
0
app/src/Entity/.gitignore
vendored
@ -1,11 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App;
|
|
||||||
|
|
||||||
use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait;
|
|
||||||
use Symfony\Component\HttpKernel\Kernel as BaseKernel;
|
|
||||||
|
|
||||||
class Kernel extends BaseKernel
|
|
||||||
{
|
|
||||||
use MicroKernelTrait;
|
|
||||||
}
|
|
0
app/src/Repository/.gitignore
vendored
0
app/src/Repository/.gitignore
vendored
200
app/symfony.lock
200
app/symfony.lock
@ -1,200 +0,0 @@
|
|||||||
{
|
|
||||||
"doctrine/annotations": {
|
|
||||||
"version": "1.13",
|
|
||||||
"recipe": {
|
|
||||||
"repo": "github.com/symfony/recipes",
|
|
||||||
"branch": "main",
|
|
||||||
"version": "1.0",
|
|
||||||
"ref": "a2759dd6123694c8d901d0ec80006e044c2e6457"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"config/routes/annotations.yaml"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"doctrine/doctrine-bundle": {
|
|
||||||
"version": "2.7",
|
|
||||||
"recipe": {
|
|
||||||
"repo": "github.com/symfony/recipes",
|
|
||||||
"branch": "main",
|
|
||||||
"version": "2.4",
|
|
||||||
"ref": "013b823e7fee65890b23e40f31e6667a1ac519ac"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"config/packages/doctrine.yaml",
|
|
||||||
"src/Entity/.gitignore",
|
|
||||||
"src/Repository/.gitignore"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"doctrine/doctrine-migrations-bundle": {
|
|
||||||
"version": "3.2",
|
|
||||||
"recipe": {
|
|
||||||
"repo": "github.com/symfony/recipes",
|
|
||||||
"branch": "main",
|
|
||||||
"version": "3.1",
|
|
||||||
"ref": "1d01ec03c6ecbd67c3375c5478c9a423ae5d6a33"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"config/packages/doctrine_migrations.yaml",
|
|
||||||
"migrations/.gitignore"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"sensio/framework-extra-bundle": {
|
|
||||||
"version": "6.2",
|
|
||||||
"recipe": {
|
|
||||||
"repo": "github.com/symfony/recipes",
|
|
||||||
"branch": "main",
|
|
||||||
"version": "5.2",
|
|
||||||
"ref": "fb7e19da7f013d0d422fa9bce16f5c510e27609b"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"config/packages/sensio_framework_extra.yaml"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"symfony/console": {
|
|
||||||
"version": "5.4",
|
|
||||||
"recipe": {
|
|
||||||
"repo": "github.com/symfony/recipes",
|
|
||||||
"branch": "main",
|
|
||||||
"version": "5.3",
|
|
||||||
"ref": "da0c8be8157600ad34f10ff0c9cc91232522e047"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"bin/console"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"symfony/debug-bundle": {
|
|
||||||
"version": "5.4",
|
|
||||||
"recipe": {
|
|
||||||
"repo": "github.com/symfony/recipes",
|
|
||||||
"branch": "main",
|
|
||||||
"version": "5.3",
|
|
||||||
"ref": "5aa8aa48234c8eb6dbdd7b3cd5d791485d2cec4b"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"config/packages/debug.yaml"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"symfony/flex": {
|
|
||||||
"version": "1.19",
|
|
||||||
"recipe": {
|
|
||||||
"repo": "github.com/symfony/recipes",
|
|
||||||
"branch": "main",
|
|
||||||
"version": "1.0",
|
|
||||||
"ref": "146251ae39e06a95be0fe3d13c807bcf3938b172"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
".env"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"symfony/framework-bundle": {
|
|
||||||
"version": "5.4",
|
|
||||||
"recipe": {
|
|
||||||
"repo": "github.com/symfony/recipes",
|
|
||||||
"branch": "main",
|
|
||||||
"version": "5.4",
|
|
||||||
"ref": "3cd216a4d007b78d8554d44a5b1c0a446dab24fb"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"config/packages/cache.yaml",
|
|
||||||
"config/packages/framework.yaml",
|
|
||||||
"config/preload.php",
|
|
||||||
"config/routes/framework.yaml",
|
|
||||||
"config/services.yaml",
|
|
||||||
"public/index.php",
|
|
||||||
"src/Controller/.gitignore",
|
|
||||||
"src/Kernel.php"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"symfony/maker-bundle": {
|
|
||||||
"version": "1.43",
|
|
||||||
"recipe": {
|
|
||||||
"repo": "github.com/symfony/recipes",
|
|
||||||
"branch": "main",
|
|
||||||
"version": "1.0",
|
|
||||||
"ref": "fadbfe33303a76e25cb63401050439aa9b1a9c7f"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"symfony/routing": {
|
|
||||||
"version": "5.4",
|
|
||||||
"recipe": {
|
|
||||||
"repo": "github.com/symfony/recipes",
|
|
||||||
"branch": "main",
|
|
||||||
"version": "5.3",
|
|
||||||
"ref": "85de1d8ae45b284c3c84b668171d2615049e698f"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"config/packages/routing.yaml",
|
|
||||||
"config/routes.yaml"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"symfony/translation": {
|
|
||||||
"version": "5.4",
|
|
||||||
"recipe": {
|
|
||||||
"repo": "github.com/symfony/recipes",
|
|
||||||
"branch": "main",
|
|
||||||
"version": "5.3",
|
|
||||||
"ref": "da64f5a2b6d96f5dc24914517c0350a5f91dee43"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"config/packages/translation.yaml",
|
|
||||||
"translations/.gitignore"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"symfony/twig-bundle": {
|
|
||||||
"version": "5.4",
|
|
||||||
"recipe": {
|
|
||||||
"repo": "github.com/symfony/recipes",
|
|
||||||
"branch": "main",
|
|
||||||
"version": "5.4",
|
|
||||||
"ref": "bb2178c57eee79e6be0b297aa96fc0c0def81387"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"config/packages/twig.yaml",
|
|
||||||
"templates/base.html.twig"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"symfony/validator": {
|
|
||||||
"version": "5.4",
|
|
||||||
"recipe": {
|
|
||||||
"repo": "github.com/symfony/recipes",
|
|
||||||
"branch": "main",
|
|
||||||
"version": "5.3",
|
|
||||||
"ref": "c32cfd98f714894c4f128bb99aa2530c1227603c"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"config/packages/validator.yaml"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"symfony/web-profiler-bundle": {
|
|
||||||
"version": "5.4",
|
|
||||||
"recipe": {
|
|
||||||
"repo": "github.com/symfony/recipes",
|
|
||||||
"branch": "main",
|
|
||||||
"version": "5.3",
|
|
||||||
"ref": "24bbc3d84ef2f427f82104f766014e799eefcc3e"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"config/packages/web_profiler.yaml",
|
|
||||||
"config/routes/web_profiler.yaml"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"symfony/webpack-encore-bundle": {
|
|
||||||
"version": "1.15",
|
|
||||||
"recipe": {
|
|
||||||
"repo": "github.com/symfony/recipes",
|
|
||||||
"branch": "main",
|
|
||||||
"version": "1.10",
|
|
||||||
"ref": "eff2e505d4557c967b6710fe06bd947ba555cae5"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"assets/app.js",
|
|
||||||
"assets/bootstrap.js",
|
|
||||||
"assets/controllers.json",
|
|
||||||
"assets/controllers/hello_controller.js",
|
|
||||||
"assets/styles/app.css",
|
|
||||||
"config/packages/webpack_encore.yaml",
|
|
||||||
"package.json",
|
|
||||||
"webpack.config.js"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,19 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title>{% block title %}Welcome!{% endblock %}</title>
|
|
||||||
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text></svg>">
|
|
||||||
{# Run `composer require symfony/webpack-encore-bundle` to start using Symfony UX #}
|
|
||||||
{% block stylesheets %}
|
|
||||||
{{ encore_entry_link_tags('app') }}
|
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block javascripts %}
|
|
||||||
{{ encore_entry_script_tags('app') }}
|
|
||||||
{% endblock %}
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
{% block body %}{% endblock %}
|
|
||||||
</body>
|
|
||||||
</html>
|
|
0
app/translations/.gitignore
vendored
0
app/translations/.gitignore
vendored
@ -1,76 +0,0 @@
|
|||||||
const Encore = require('@symfony/webpack-encore');
|
|
||||||
|
|
||||||
// Manually configure the runtime environment if not already configured yet by the "encore" command.
|
|
||||||
// It's useful when you use tools that rely on webpack.config.js file.
|
|
||||||
if (!Encore.isRuntimeEnvironmentConfigured()) {
|
|
||||||
Encore.configureRuntimeEnvironment(process.env.NODE_ENV || 'dev');
|
|
||||||
}
|
|
||||||
|
|
||||||
Encore
|
|
||||||
// directory where compiled assets will be stored
|
|
||||||
.setOutputPath('public/build/')
|
|
||||||
// public path used by the web server to access the output path
|
|
||||||
.setPublicPath('/build')
|
|
||||||
// only needed for CDN's or subdirectory deploy
|
|
||||||
//.setManifestKeyPrefix('build/')
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ENTRY CONFIG
|
|
||||||
*
|
|
||||||
* Each entry will result in one JavaScript file (e.g. app.js)
|
|
||||||
* and one CSS file (e.g. app.css) if your JavaScript imports CSS.
|
|
||||||
*/
|
|
||||||
.addEntry('app', './assets/app.js')
|
|
||||||
|
|
||||||
// enables the Symfony UX Stimulus bridge (used in assets/bootstrap.js)
|
|
||||||
.enableStimulusBridge('./assets/controllers.json')
|
|
||||||
|
|
||||||
// When enabled, Webpack "splits" your files into smaller pieces for greater optimization.
|
|
||||||
.splitEntryChunks()
|
|
||||||
|
|
||||||
// will require an extra script tag for runtime.js
|
|
||||||
// but, you probably want this, unless you're building a single-page app
|
|
||||||
.enableSingleRuntimeChunk()
|
|
||||||
|
|
||||||
/*
|
|
||||||
* FEATURE CONFIG
|
|
||||||
*
|
|
||||||
* Enable & configure other features below. For a full
|
|
||||||
* list of features, see:
|
|
||||||
* https://symfony.com/doc/current/frontend.html#adding-more-features
|
|
||||||
*/
|
|
||||||
.cleanupOutputBeforeBuild()
|
|
||||||
.enableBuildNotifications()
|
|
||||||
.enableSourceMaps(!Encore.isProduction())
|
|
||||||
// enables hashed filenames (e.g. app.abc123.css)
|
|
||||||
.enableVersioning(Encore.isProduction())
|
|
||||||
|
|
||||||
// configure Babel
|
|
||||||
// .configureBabel((config) => {
|
|
||||||
// config.plugins.push('@babel/a-babel-plugin');
|
|
||||||
// })
|
|
||||||
|
|
||||||
// enables and configure @babel/preset-env polyfills
|
|
||||||
.configureBabelPresetEnv((config) => {
|
|
||||||
config.useBuiltIns = 'usage';
|
|
||||||
config.corejs = '3.23';
|
|
||||||
})
|
|
||||||
|
|
||||||
// enables Sass/SCSS support
|
|
||||||
//.enableSassLoader()
|
|
||||||
|
|
||||||
// uncomment if you use TypeScript
|
|
||||||
//.enableTypeScriptLoader()
|
|
||||||
|
|
||||||
// uncomment if you use React
|
|
||||||
//.enableReactPreset()
|
|
||||||
|
|
||||||
// uncomment to get integrity="..." attributes on your script & link tags
|
|
||||||
// requires WebpackEncoreBundle 1.4 or higher
|
|
||||||
//.enableIntegrityHashes(Encore.isProduction())
|
|
||||||
|
|
||||||
// uncomment if you're having problems with a jQuery plugin
|
|
||||||
//.autoProvidejQuery()
|
|
||||||
;
|
|
||||||
|
|
||||||
module.exports = Encore.getWebpackConfig();
|
|
4350
app/yarn.lock
4350
app/yarn.lock
File diff suppressed because it is too large
Load Diff
@ -1,22 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Ce script permet de lancer node dans un conteneur docker séparé,
|
|
||||||
# afin de disposer des outils comme yarn (paquet npm)
|
|
||||||
|
|
||||||
# exécute toujours dans le répertoire `php`
|
|
||||||
cd $(dirname $0)
|
|
||||||
|
|
||||||
# la commande exécutée dans le conteneur
|
|
||||||
if [ $# -eq 0 ]; then
|
|
||||||
cmd=bash
|
|
||||||
else
|
|
||||||
cmd="${@}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# le conteneur node monte le dossier de l'application
|
|
||||||
docker run --rm -it \
|
|
||||||
--user "$(id -u):$(id -g)" \
|
|
||||||
--volume "${PWD}/app:/app" \
|
|
||||||
--workdir "/app" \
|
|
||||||
--env "YARN_CACHE_FOLDER=/app/.yarncache" \
|
|
||||||
node:14 ${cmd}
|
|
@ -57,7 +57,7 @@ RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local
|
|||||||
RUN curl -sS https://get.symfony.com/cli/installer -o /usr/local/bin/installer | bash \
|
RUN curl -sS https://get.symfony.com/cli/installer -o /usr/local/bin/installer | bash \
|
||||||
&& chmod a+x /usr/local/bin/installer \
|
&& chmod a+x /usr/local/bin/installer \
|
||||||
&& /usr/local/bin/installer \
|
&& /usr/local/bin/installer \
|
||||||
&& mv /root/.symfony5/bin/symfony /usr/local/bin/symfony \
|
&& mv /root/.symfony/bin/symfony /usr/local/bin/symfony \
|
||||||
&& chmod a+x /usr/local/bin/symfony
|
&& chmod a+x /usr/local/bin/symfony
|
||||||
|
|
||||||
# Add users/groups with uid 1000
|
# Add users/groups with uid 1000
|
||||||
|
Loading…
Reference in New Issue
Block a user