Compare commits
2 Commits
89f29d60c0
...
c650d99bd4
| Author | SHA1 | Date | |
|---|---|---|---|
| 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
|
||||
+12
-5
@@ -1,11 +1,18 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
IMAGE_NAME="${1:-symfony-app}"
|
||||
IMAGE_TAG="${2:-latest}"
|
||||
|
||||
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 ""
|
||||
|
||||
@@ -21,7 +28,7 @@ echo ""
|
||||
echo "Container starten:"
|
||||
echo ""
|
||||
echo " podman run -d \\"
|
||||
echo " --name symfony-app \\"
|
||||
echo " --name $PROJECT_NAME \\"
|
||||
echo " -p 9000:9000 \\"
|
||||
echo " -e APP_ENV=prod \\"
|
||||
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 ""
|
||||
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 "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
||||
|
||||
+29
-15
@@ -1,10 +1,24 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
POD_NAME="symfony-dev"
|
||||
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 ""
|
||||
|
||||
# .env.local erstellen falls nicht vorhanden
|
||||
@@ -33,33 +47,33 @@ echo ""
|
||||
|
||||
# PHP-FPM bauen und starten
|
||||
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..."
|
||||
podman run -d \
|
||||
--pod "$POD_NAME" \
|
||||
--name symfony-php \
|
||||
--name "$CTR_PHP" \
|
||||
-v "$PROJECT_DIR:/var/www/html:Z" \
|
||||
symfony-php
|
||||
"$IMG_PHP"
|
||||
echo ""
|
||||
|
||||
# Nginx bauen und starten
|
||||
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..."
|
||||
podman run -d \
|
||||
--pod "$POD_NAME" \
|
||||
--name symfony-nginx \
|
||||
symfony-nginx
|
||||
--name "$CTR_NGINX" \
|
||||
"$IMG_NGINX"
|
||||
echo ""
|
||||
|
||||
# Redis starten
|
||||
echo "Starte Redis..."
|
||||
podman run -d \
|
||||
--pod "$POD_NAME" \
|
||||
--name symfony-redis \
|
||||
-v symfony-redis-data:/data \
|
||||
--name "$CTR_REDIS" \
|
||||
-v "$VOL_REDIS:/data" \
|
||||
docker.io/library/redis:8-alpine \
|
||||
redis-server --appendonly yes
|
||||
echo ""
|
||||
@@ -70,11 +84,11 @@ sleep 2
|
||||
# Composer install
|
||||
if [ -f "$PROJECT_DIR/composer.json" ]; then
|
||||
echo "Installiere Composer-Abhängigkeiten..."
|
||||
podman exec symfony-php composer install --no-interaction
|
||||
podman exec "$CTR_PHP" composer install --no-interaction
|
||||
echo ""
|
||||
|
||||
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 ""
|
||||
fi
|
||||
|
||||
@@ -85,9 +99,9 @@ echo " App: http://localhost:8080"
|
||||
echo " Redis: localhost:6379 (innerhalb des Pods)"
|
||||
echo ""
|
||||
echo "Nützliche Befehle:"
|
||||
echo " podman exec -it symfony-php bash"
|
||||
echo " podman exec -it symfony-php php bin/console <befehl>"
|
||||
echo " podman exec -it symfony-php composer require <paket>"
|
||||
echo " podman exec -it $CTR_PHP bash"
|
||||
echo " podman exec -it $CTR_PHP php bin/console <befehl>"
|
||||
echo " podman exec -it $CTR_PHP composer require <paket>"
|
||||
echo ""
|
||||
echo " podman pod stop $POD_NAME # Umgebung stoppen"
|
||||
echo " podman pod start $POD_NAME # Umgebung starten"
|
||||
|
||||
Reference in New Issue
Block a user