[![status-badge](https://woodpecker.narvas.tech/api/badges/1/status.svg)](https://woodpecker.narvas.tech/repos/1) # simple-laravel Get a Laravel server up and running quickly for testing and small-scale deployments with this lightweight Docker image. This image is designed to provide a hassle-free way to spin up a Laravel server for development, testing, and small-scale production environments. It's perfect for rapid prototyping, proof-of-concepts, and low-traffic web applications. Based on the official PHP image, ensuring a stable and secure foundation Pre-configured with Laravel and its dependencies, saving you time and effort Optimized for small-scale deployments, keeping resource usage to a minimum Easy to use and extend, with a simple and intuitive configuration ## tags This image follows a similar tagging schema as the official PHP image. `{simple-laravel version}-php-{php version} (e.g. vistanarvas/simple-laravel:2.0.2-php-8.3)` ## setting laravel up in a container ### compose ```yaml version: '3' services: app: image: vistanarvas/simple-laravel ports: - '8080:8080' - '5173:5173' environment: DB_CONNECTION: mysql DB_HOST: mysql DB_PORT: 3306 DB_DATABASE: laravel DB_USERNAME: laravel DB_PASSWORD: password BOOT_COMPOSER_INSTALL: true # runs `composer install` on boot BOOT_NPM_INSTALL: true # runs `npm install` on boot BOOT_NPM_DEV: true # starts `npm dev` # Extra packages and php extensions to install on first boot # EXTRA_APK_PACKAGES: # example: libpng-dev icu-dev # EXTRA_PHP_EXTENSIONS: # example: exif intl bcmath gd pdo_mysql volumes: - '[Path to your laravel project]:/var/www/html' depends_on: - mysql mysql: image: 'mysql/mysql-server:8.0' environment: MYSQL_ROOT_PASSWORD: root_password MYSQL_ROOT_HOST: '%' MYSQL_DATABASE: laravel MYSQL_USER: laravel MYSQL_PASSWORD: password MYSQL_ALLOW_EMPTY_PASSWORD: 1 volumes: - 'mysql:/var/lib/mysql' volumes: mysql: driver: local ``` ## suggested changes to laravel ### vite `/vite.config.js` ```diff import laravel from 'laravel-vite-plugin'; export default defineConfig({ + server: { + hmr: { + host: '[Server Domain or IP]' + }, + }, plugins: [ laravel({ input: [ ``` --- `/package.json` ```diff "private": true, "type": "module", "scripts": { - "dev": "vite", + "dev": "vite --host 0.0.0.0", "build": "vite build" }, "devDependencies": { ```