services: # 1. PHP Laravel App (Nutzt jetzt das lokale Dockerfile aus dem letzten Schritt) laravel-app: build: /volume2/laravel-stack/ container_name: laravel-app restart: unless-stopped volumes: - /volume2/laravel-stack/app:/var/www/html networks: - laravel-network # 2. Der Laravel-Scheduler laravel-scheduler: build: /volume2/laravel-stack/ container_name: laravel-scheduler restart: unless-stopped volumes: - /volume2/laravel-stack/app:/var/www/html command: php /var/www/html/artisan schedule:work depends_on: - laravel-app networks: - laravel-network # 3. Caddy Webserver caddy: image: caddy:2-alpine container_name: caddy-server restart: unless-stopped ports: - "8080:80" - "8443:443" volumes: - /volume2/laravel-stack/caddy/Caddyfile:/etc/caddy/Caddyfile - caddy_data:/data # Verwaltet durch Docker (Sicher vor Rechteregeln) - /volume2/laravel-stack/app:/var/www/html depends_on: - laravel-app networks: - laravel-network # 4. MariaDB Datenbank (Port 3306 offen für Ihren Import!) mariadb: image: mariadb:11-noble container_name: mariadb-db restart: unless-stopped ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: salam MYSQL_DATABASE: nuhodds_fi4 MYSQL_USER: root MYSQL_PASSWORD: salam volumes: - mariadb_data:/var/lib/mysql # Verwaltet durch Docker (Sicher vor Rechteregeln) networks: - laravel-network # 5. MongoDB Datenbank mongodb: image: mongo:latest container_name: mongodb-db restart: unless-stopped user: "0:0" ports: - "27017:27017" volumes: - mongo_nopass_data:/data/db # Verwaltet durch Docker (Sicher vor Rechteregeln) networks: - laravel-network flaresolverr: image: ghcr.io/flaresolverr/flaresolverr:latest container_name: flaresolverr restart: unless-stopped ports: - "8191:8191" environment: - LOG_LEVEL=info - TZ=Europe/Berlin - LANG=en-US networks: - laravel-network networks: laravel-network: driver: bridge # Hier weisen wir Docker an, die Ordner im geschützten Docker-Speicher zu erstellen volumes: mariadb_data: mongo_nopass_data: caddy_data: