97 lines
2.8 KiB
Markdown
97 lines
2.8 KiB
Markdown
[](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": {
|
|
|
|
``` |