services: app: build: context: . dockerfile: docker/php/Dockerfile container_name: fox-app restart: unless-stopped working_dir: /var/www volumes: - ./:/var/www - ./storage/app:/var/www/storage/app - /var/run/docker.sock:/var/run/docker.sock environment: PHP_OPCACHE_ENABLE: 1 depends_on: - postgres - redis networks: - fox nginx: image: nginx:1.27-alpine container_name: fox-nginx restart: unless-stopped ports: - "80:80" volumes: - ./:/var/www - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro depends_on: - app networks: - fox postgres: image: pgvector/pgvector:pg16 container_name: fox-postgres restart: unless-stopped environment: POSTGRES_DB: ${DB_DATABASE:-fox} POSTGRES_USER: ${DB_USERNAME:-fox} POSTGRES_PASSWORD: ${DB_PASSWORD:-fox} volumes: - postgres-data:/var/lib/postgresql/data - ./docker/postgres/init.sql:/docker-entrypoint-initdb.d/init.sql:ro ports: - "5432:5432" networks: - fox redis: image: redis:7-alpine container_name: fox-redis restart: unless-stopped command: redis-server --appendonly yes volumes: - redis-data:/data networks: - fox # Ollama läuft jetzt extern auf dem Mac (10.10.80.189:11434). # Wenn du wieder einen lokalen Container willst: profile rausnehmen. ollama: image: ollama/ollama:latest container_name: fox-ollama profiles: ["local-llm"] restart: unless-stopped volumes: - ollama-data:/root/.ollama ports: - "11434:11434" networks: - fox queue: build: context: . dockerfile: docker/php/Dockerfile container_name: fox-queue restart: unless-stopped working_dir: /var/www command: php artisan queue:work --tries=3 --timeout=120 --sleep=1 environment: WATCHDOG_OWNER: "0" volumes: - ./:/var/www - /var/run/docker.sock:/var/run/docker.sock depends_on: - app - redis - postgres networks: - fox scheduler: build: context: . dockerfile: docker/php/Dockerfile container_name: fox-scheduler restart: unless-stopped working_dir: /var/www command: php artisan schedule:work environment: WATCHDOG_OWNER: "0" volumes: - ./:/var/www - /var/run/docker.sock:/var/run/docker.sock depends_on: - app networks: - fox stats-broadcaster: build: context: . dockerfile: docker/php/Dockerfile container_name: fox-stats restart: unless-stopped working_dir: /var/www command: php artisan fox:broadcast-stats --interval=5 environment: WATCHDOG_OWNER: "0" volumes: - ./:/var/www depends_on: - app - reverb networks: - fox reverb: build: context: . dockerfile: docker/php/Dockerfile container_name: fox-reverb restart: unless-stopped working_dir: /var/www command: php artisan reverb:start --host=0.0.0.0 --port=8080 --debug environment: WATCHDOG_OWNER: "0" ports: - "8080:8080" volumes: - ./:/var/www depends_on: - app networks: - fox whisper: image: ghcr.io/ggerganov/whisper.cpp:main container_name: fox-whisper restart: unless-stopped volumes: - ./storage/app/audio:/audio - whisper-models:/models entrypoint: ["sh", "-c", "tail -f /dev/null"] networks: - fox searxng: image: searxng/searxng:latest container_name: fox-searxng restart: unless-stopped volumes: - ./searxng:/etc/searxng:rw networks: - fox vite: build: context: . dockerfile: docker/php/Dockerfile container_name: fox-vite profiles: ["dev"] working_dir: /var/www command: sh -c "npm install --no-audit --no-fund && npm run dev -- --host 0.0.0.0" environment: VITE_DEV_HOST: ${VITE_DEV_HOST:-fox.pxo.at} VITE_DEV_PORT: 5173 VITE_DEV_SCHEME: ${VITE_DEV_SCHEME:-https} VITE_DEV_PUBLIC_PORT: ${VITE_DEV_PUBLIC_PORT:-443} CHOKIDAR_USEPOLLING: "true" ports: - "5173:5173" volumes: - ./:/var/www - vite-node-modules:/var/www/node_modules networks: - fox volumes: postgres-data: redis-data: ollama-data: whisper-models: vite-node-modules: networks: fox: driver: bridge