Compare commits
3 Commits
89f29d60c0
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 4082a362a1 | |||
| c650d99bd4 | |||
| e61a0d8867 |
@@ -0,0 +1,33 @@
|
|||||||
|
# Abhängigkeiten
|
||||||
|
/vendor/
|
||||||
|
/node_modules/
|
||||||
|
|
||||||
|
# Symfony-Laufzeit
|
||||||
|
/var/cache/
|
||||||
|
/var/log/
|
||||||
|
/var/sessions/
|
||||||
|
|
||||||
|
# Sensible Daten
|
||||||
|
.env.local
|
||||||
|
.env.local.php
|
||||||
|
.env.*.local
|
||||||
|
/config/secrets/
|
||||||
|
|
||||||
|
# Generierte Assets
|
||||||
|
/public/bundles/
|
||||||
|
/public/build/
|
||||||
|
|
||||||
|
# Logs
|
||||||
|
/log/
|
||||||
|
|
||||||
|
# IDE & OS
|
||||||
|
.idea/
|
||||||
|
.vscode/
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
|
||||||
|
# Lock-Dateien (groß, wenig Mehrwert)
|
||||||
|
composer.lock
|
||||||
|
symfony.lock
|
||||||
|
package-lock.json
|
||||||
|
yarn.lock
|
||||||
Generated
+1
@@ -10,6 +10,7 @@
|
|||||||
<option name="highlightLevel" value="WARNING" />
|
<option name="highlightLevel" value="WARNING" />
|
||||||
<option name="transferred" value="true" />
|
<option name="transferred" value="true" />
|
||||||
</component>
|
</component>
|
||||||
|
<component name="PhpProjectSharedConfiguration" php_language_level="8.5" />
|
||||||
<component name="PhpStanOptionsConfiguration">
|
<component name="PhpStanOptionsConfiguration">
|
||||||
<option name="transferred" value="true" />
|
<option name="transferred" value="true" />
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
Generated
+4
-1
@@ -1,7 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<module type="WEB_MODULE" version="4">
|
<module type="WEB_MODULE" version="4">
|
||||||
<component name="NewModuleRootManager">
|
<component name="NewModuleRootManager">
|
||||||
<content url="file://$MODULE_DIR$" />
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/var" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/vendor" />
|
||||||
|
</content>
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
+12
-5
@@ -1,11 +1,18 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
IMAGE_NAME="${1:-symfony-app}"
|
|
||||||
IMAGE_TAG="${2:-latest}"
|
|
||||||
|
|
||||||
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
|
||||||
|
# Projektnamen aus composer.json lesen (Teil nach "/") und bereinigen
|
||||||
|
PROJECT_NAME=$(grep -m1 '"name"' "$PROJECT_DIR/composer.json" \
|
||||||
|
| sed 's/.*"[^/]*\/\([^"]*\)".*/\1/' \
|
||||||
|
| tr '[:upper:]' '[:lower:]' \
|
||||||
|
| sed 's/[^a-z0-9]/-/g')
|
||||||
|
|
||||||
|
IMAGE_NAME="${1:-$PROJECT_NAME}"
|
||||||
|
IMAGE_TAG="${2:-latest}"
|
||||||
|
|
||||||
|
echo "Projekt: $PROJECT_NAME"
|
||||||
echo "Baue Produktions-Image: $IMAGE_NAME:$IMAGE_TAG"
|
echo "Baue Produktions-Image: $IMAGE_NAME:$IMAGE_TAG"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
@@ -21,7 +28,7 @@ echo ""
|
|||||||
echo "Container starten:"
|
echo "Container starten:"
|
||||||
echo ""
|
echo ""
|
||||||
echo " podman run -d \\"
|
echo " podman run -d \\"
|
||||||
echo " --name symfony-app \\"
|
echo " --name $PROJECT_NAME \\"
|
||||||
echo " -p 9000:9000 \\"
|
echo " -p 9000:9000 \\"
|
||||||
echo " -e APP_ENV=prod \\"
|
echo " -e APP_ENV=prod \\"
|
||||||
echo " -e APP_SECRET=\$(openssl rand -hex 16) \\"
|
echo " -e APP_SECRET=\$(openssl rand -hex 16) \\"
|
||||||
@@ -29,5 +36,5 @@ echo " -e REDIS_URL=redis://your-redis-host:6379 \\"
|
|||||||
echo " $IMAGE_NAME:$IMAGE_TAG"
|
echo " $IMAGE_NAME:$IMAGE_TAG"
|
||||||
echo ""
|
echo ""
|
||||||
echo "Cache warmup nach dem Start:"
|
echo "Cache warmup nach dem Start:"
|
||||||
echo " podman exec symfony-app php bin/console cache:warmup --env=prod"
|
echo " podman exec $PROJECT_NAME php bin/console cache:warmup --env=prod"
|
||||||
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ server {
|
|||||||
fastcgi_pass localhost:9000;
|
fastcgi_pass localhost:9000;
|
||||||
fastcgi_split_path_info ^(.+\.php)(/.*)$;
|
fastcgi_split_path_info ^(.+\.php)(/.*)$;
|
||||||
include fastcgi_params;
|
include fastcgi_params;
|
||||||
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
fastcgi_param DOCUMENT_ROOT $realpath_root;
|
fastcgi_param DOCUMENT_ROOT $document_root;
|
||||||
fastcgi_buffer_size 128k;
|
fastcgi_buffer_size 128k;
|
||||||
fastcgi_buffers 4 256k;
|
fastcgi_buffers 4 256k;
|
||||||
fastcgi_busy_buffers_size 256k;
|
fastcgi_busy_buffers_size 256k;
|
||||||
|
|||||||
+30
-15
@@ -1,10 +1,24 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
POD_NAME="symfony-dev"
|
|
||||||
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
|
||||||
echo "Starte Symfony Entwicklungsumgebung..."
|
# Projektnamen aus composer.json lesen (Teil nach "/") und bereinigen
|
||||||
|
PROJECT_NAME=$(grep -m1 '"name"' "$PROJECT_DIR/composer.json" \
|
||||||
|
| sed 's/.*"[^/]*\/\([^"]*\)".*/\1/' \
|
||||||
|
| tr '[:upper:]' '[:lower:]' \
|
||||||
|
| sed 's/[^a-z0-9]/-/g')
|
||||||
|
|
||||||
|
POD_NAME="${PROJECT_NAME}-dev"
|
||||||
|
CTR_PHP="${PROJECT_NAME}-php"
|
||||||
|
CTR_NGINX="${PROJECT_NAME}-nginx"
|
||||||
|
CTR_REDIS="${PROJECT_NAME}-redis"
|
||||||
|
IMG_PHP="${PROJECT_NAME}-php"
|
||||||
|
IMG_NGINX="${PROJECT_NAME}-nginx"
|
||||||
|
VOL_REDIS="${PROJECT_NAME}-redis-data"
|
||||||
|
|
||||||
|
echo "Projekt: $PROJECT_NAME"
|
||||||
|
echo "Pod: $POD_NAME"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
# .env.local erstellen falls nicht vorhanden
|
# .env.local erstellen falls nicht vorhanden
|
||||||
@@ -33,33 +47,34 @@ echo ""
|
|||||||
|
|
||||||
# PHP-FPM bauen und starten
|
# PHP-FPM bauen und starten
|
||||||
echo "Baue PHP-FPM Container (inkl. Xdebug, Redis-Extension)..."
|
echo "Baue PHP-FPM Container (inkl. Xdebug, Redis-Extension)..."
|
||||||
podman build -t symfony-php -f podman/php/Containerfile "$PROJECT_DIR"
|
podman build -t "$IMG_PHP" -f podman/php/Containerfile "$PROJECT_DIR"
|
||||||
|
|
||||||
echo "Starte PHP-FPM..."
|
echo "Starte PHP-FPM..."
|
||||||
podman run -d \
|
podman run -d \
|
||||||
--pod "$POD_NAME" \
|
--pod "$POD_NAME" \
|
||||||
--name symfony-php \
|
--name "$CTR_PHP" \
|
||||||
-v "$PROJECT_DIR:/var/www/html:Z" \
|
-v "$PROJECT_DIR:/var/www/html:Z" \
|
||||||
symfony-php
|
"$IMG_PHP"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
# Nginx bauen und starten
|
# Nginx bauen und starten
|
||||||
echo "Baue Nginx Container..."
|
echo "Baue Nginx Container..."
|
||||||
podman build -t symfony-nginx -f podman/nginx/Containerfile "$PROJECT_DIR"
|
podman build -t "$IMG_NGINX" -f podman/nginx/Containerfile "$PROJECT_DIR"
|
||||||
|
|
||||||
echo "Starte Nginx..."
|
echo "Starte Nginx..."
|
||||||
podman run -d \
|
podman run -d \
|
||||||
--pod "$POD_NAME" \
|
--pod "$POD_NAME" \
|
||||||
--name symfony-nginx \
|
--name "$CTR_NGINX" \
|
||||||
symfony-nginx
|
-v "$PROJECT_DIR:/var/www/html:Z" \
|
||||||
|
"$IMG_NGINX"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
# Redis starten
|
# Redis starten
|
||||||
echo "Starte Redis..."
|
echo "Starte Redis..."
|
||||||
podman run -d \
|
podman run -d \
|
||||||
--pod "$POD_NAME" \
|
--pod "$POD_NAME" \
|
||||||
--name symfony-redis \
|
--name "$CTR_REDIS" \
|
||||||
-v symfony-redis-data:/data \
|
-v "$VOL_REDIS:/data" \
|
||||||
docker.io/library/redis:8-alpine \
|
docker.io/library/redis:8-alpine \
|
||||||
redis-server --appendonly yes
|
redis-server --appendonly yes
|
||||||
echo ""
|
echo ""
|
||||||
@@ -70,11 +85,11 @@ sleep 2
|
|||||||
# Composer install
|
# Composer install
|
||||||
if [ -f "$PROJECT_DIR/composer.json" ]; then
|
if [ -f "$PROJECT_DIR/composer.json" ]; then
|
||||||
echo "Installiere Composer-Abhängigkeiten..."
|
echo "Installiere Composer-Abhängigkeiten..."
|
||||||
podman exec symfony-php composer install --no-interaction
|
podman exec "$CTR_PHP" composer install --no-interaction
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
echo "Leere Symfony Cache..."
|
echo "Leere Symfony Cache..."
|
||||||
podman exec symfony-php php bin/console cache:clear --env=dev
|
podman exec "$CTR_PHP" php bin/console cache:clear --env=dev
|
||||||
echo ""
|
echo ""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -85,9 +100,9 @@ echo " App: http://localhost:8080"
|
|||||||
echo " Redis: localhost:6379 (innerhalb des Pods)"
|
echo " Redis: localhost:6379 (innerhalb des Pods)"
|
||||||
echo ""
|
echo ""
|
||||||
echo "Nützliche Befehle:"
|
echo "Nützliche Befehle:"
|
||||||
echo " podman exec -it symfony-php bash"
|
echo " podman exec -it $CTR_PHP bash"
|
||||||
echo " podman exec -it symfony-php php bin/console <befehl>"
|
echo " podman exec -it $CTR_PHP php bin/console <befehl>"
|
||||||
echo " podman exec -it symfony-php composer require <paket>"
|
echo " podman exec -it $CTR_PHP composer require <paket>"
|
||||||
echo ""
|
echo ""
|
||||||
echo " podman pod stop $POD_NAME # Umgebung stoppen"
|
echo " podman pod stop $POD_NAME # Umgebung stoppen"
|
||||||
echo " podman pod start $POD_NAME # Umgebung starten"
|
echo " podman pod start $POD_NAME # Umgebung starten"
|
||||||
|
|||||||
Reference in New Issue
Block a user