2026-05-30 01:07:18 +02:00
2026-05-30 01:07:18 +02:00
2026-05-30 01:06:48 +02:00
2026-05-30 01:06:48 +02:00
2026-05-30 01:06:48 +02:00
2026-05-30 01:06:48 +02:00
2026-05-30 19:45:25 +02:00

Symfony Podman Template

Dieses Projekt ist ein Template für die Symfony-Entwicklung unter Verwendung von Podman. Es bietet eine vollständig vorkonfigurierte Entwicklungsumgebung mit PHP-FPM, Nginx und PostgreSQL, die in einem gemeinsamen Pod ausgeführt werden.

Features

  • Podman Integration: Optimiert für die lokale Entwicklung in Containern ohne Docker-Zwang.
  • Multi-Container Pod:
    • symfony-php: PHP 8.5 FPM inklusive Symfony CLI und Composer.
    • symfony-nginx: Nginx Webserver, vorkonfiguriert für Symfony.
    • symfony-db: PostgreSQL 16 Datenbank.
  • Automatisches Setup: Ein zentrales Bash-Skript übernimmt die Initialisierung, Image-Erstellung und Container-Steuerung.
  • Automatische Umgebungskonfiguration: Erstellt oder aktualisiert die .env Datei mit den korrekten Datenbank-Zugangsdaten.

Voraussetzungen

Stellen Sie sicher, dass folgende Software auf Ihrem System installiert ist:

  • Podman
  • Bash (zum Ausführen des Setup-Skripts)
  • Openssl (wird vom Skript zur Generierung des APP_SECRET verwendet)

Installation & Setup

  1. Projekt vorbereiten: Klonen Sie das Repository oder laden Sie die Dateien in Ihr Projektverzeichnis.

  2. Setup-Skript ausführen: Das Skript setup-pod.sh automatisiert den gesamten Prozess:

    chmod +x setup-pod.sh
    ./setup-pod.sh
    

    Was das Skript tut:

    • Erstellt/aktualisiert die .env Datei.
    • Erstellt einen Pod namens symfony-dev.
    • Baut und startet die PHP- und Nginx-Container.
    • Startet eine PostgreSQL-Instanz.
    • Installiert Composer-Abhängigkeiten (falls eine composer.json vorhanden ist).
    • Erstellt die Datenbank und führt Migrationen aus.
  3. Anwendung aufrufen: Sobald das Setup abgeschlossen ist, erreichen Sie die Anwendung unter: 👉 http://localhost:8080

Datenbank-Details

Die Standard-Zugangsdaten (konfigurierbar im setup-pod.sh) sind:

  • DB-Host: localhost (da alle Container im selben Pod laufen)
  • DB-Port: 5432
  • User: symfony_user
  • Passwort: devpassword
  • Datenbank: symfony_db

Arbeiten mit der Umgebung

Symfony & Composer Befehle

Da PHP in einem Container läuft, müssen Befehle dort ausgeführt werden:

# Beispiel: Cache leeren
podman exec -it symfony-php php bin/console cache:clear

# Beispiel: Neue Migration erstellen
podman exec -it symfony-php php bin/console make:migration

Logs einsehen

Um die Ausgaben der verschiedenen Dienste zu verfolgen:

podman logs -f symfony-php
podman logs -f symfony-nginx

Umgebung stoppen und starten

# Pod stoppen
podman pod stop symfony-dev

# Pod wieder starten
podman pod start symfony-dev

Projektstruktur

  • config/: Symfony Konfiguration.
  • podman/: Container-Definitionen (Containerfile) und Webserver-Konfiguration.
  • public/: Document Root für Nginx.
  • src/: PHP Quellcode.
  • setup-pod.sh: Das Herzstück der Automatisierung.

Lizenz

Dieses Projekt ist unter der im LICENSE File angegebenen Lizenz lizenziert.

S
Description
Ein Template zum erstellen von Symfony-Projekten.
Readme GPL-3.0 46 KiB
Languages
Shell 77.7%
Dockerfile 22.3%