services: app: build: context: . dockerfile: docker/php/Dockerfile container_name: ticketassistant-app working_dir: /var/www volumes: - ./:/var/www depends_on: postgres: condition: service_healthy environment: APP_ENV: local APP_DEBUG: "true" networks: - ticketassistant web: image: nginx:1.27-alpine container_name: ticketassistant-web ports: - "8090:80" volumes: - ./:/var/www - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro depends_on: - app networks: - ticketassistant worker: build: context: . dockerfile: docker/php/Dockerfile container_name: ticketassistant-worker working_dir: /var/www command: sh -c "php artisan queue:work --tries=3 --timeout=120" volumes: - ./:/var/www depends_on: postgres: condition: service_healthy networks: - ticketassistant postgres: image: pgvector/pgvector:pg17 container_name: ticketassistant-postgres environment: POSTGRES_DB: ticket_assistant POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_HOST_AUTH_METHOD: trust ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres -d ticket_assistant"] interval: 5s timeout: 5s retries: 20 networks: - ticketassistant volumes: pgdata: networks: ticketassistant: driver: bridge