services: app: image: laravel_frankenphp build: context: . dockerfile: docker/Dockerfile container_name: laravel_frankenphp restart: unless-stopped working_dir: /var/www user: "${UID:-1000}:${GID:-1000}" volumes: - ./laravel:/var/www - ./docker/Caddyfile:/etc/frankenphp/Caddyfile - caddy_data:/data ports: - "127.0.0.1:8000:80" # - "8443:443" # - "127.0.0.1:5173:5173" depends_on: mysql: condition: service_healthy networks: - laravel_network mysql: image: mysql:8.4.8 container_name: laravel_mysql restart: unless-stopped ports: - "127.0.0.1:3306:3306" environment: MYSQL_ROOT_PASSWORD: secret MYSQL_DATABASE: laravel MYSQL_USER: laravel MYSQL_PASSWORD: secret volumes: - mysql:/var/lib/mysql networks: - laravel_network healthcheck: test: [ "CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-psecret" ] timeout: 10s retries: 5 start_period: 30s interval: 30s phpmyadmin: image: phpmyadmin/phpmyadmin container_name: laravel_phpmyadmin restart: unless-stopped ports: - "127.0.0.1:8585:80" environment: PMA_HOST: mysql PMA_PORT: 3306 PMA_USER: laravel PMA_PASSWORD: secret PMA_ARBITRARY: 1 depends_on: mysql: condition: service_healthy networks: - laravel_network networks: laravel_network: driver: bridge volumes: caddy_data: mysql: