Add Docker-based dev/prod setup with zail helper scripts
This commit is contained in:
130
compose.yaml
Normal file
130
compose.yaml
Normal file
@@ -0,0 +1,130 @@
|
||||
services:
|
||||
php-fpm:
|
||||
container_name: "${APP_NAME_SLUG:-laravel-starter-kit}-php-fpm"
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./docker/common/php-fpm/Dockerfile
|
||||
target: development
|
||||
args:
|
||||
UID: ${UID:-1000}
|
||||
GID: ${GID:-1000}
|
||||
XDEBUG_ENABLED: ${XDEBUG_ENABLED:-true}
|
||||
XDEBUG_MODE: develop,coverage,debug,profile
|
||||
XDEBUG_HOST: ${XDEBUG_HOST:-host.docker.internal}
|
||||
XDEBUG_IDE_KEY: ${XDEBUG_IDE_KEY:-DOCKER}
|
||||
XDEBUG_LOG: /dev/stdout
|
||||
XDEBUG_LOG_LEVEL: 0
|
||||
env_file:
|
||||
- .env
|
||||
user: "${UID:-1000}:${GID:-1000}"
|
||||
volumes:
|
||||
- ./:/var/www
|
||||
networks:
|
||||
- web
|
||||
depends_on:
|
||||
- mariadb
|
||||
|
||||
workspace:
|
||||
container_name: "${APP_NAME_SLUG:-laravel-starter-kit}-workspace"
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./docker/workspace/Dockerfile
|
||||
args:
|
||||
UID: ${UID:-1000}
|
||||
GID: ${GID:-1000}
|
||||
XDEBUG_ENABLED: ${XDEBUG_ENABLED:-true}
|
||||
XDEBUG_MODE: develop,coverage,debug,profile
|
||||
XDEBUG_HOST: ${XDEBUG_HOST:-host.docker.internal}
|
||||
XDEBUG_IDE_KEY: ${XDEBUG_IDE_KEY:-DOCKER}
|
||||
XDEBUG_LOG: /dev/stdout
|
||||
XDEBUG_LOG_LEVEL: 0
|
||||
command: php artisan serve --host=0.0.0.0 --port=8000
|
||||
ports:
|
||||
- "8000:8000"
|
||||
- "${VITE_PORT:-5173}:5173"
|
||||
tty: true
|
||||
stdin_open: true
|
||||
env_file:
|
||||
- .env
|
||||
volumes:
|
||||
- ./:/var/www
|
||||
networks:
|
||||
- web
|
||||
depends_on:
|
||||
- mariadb
|
||||
|
||||
scheduler:
|
||||
container_name: "${APP_NAME_SLUG:-laravel-starter-kit}-scheduler"
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./docker/common/php-fpm/Dockerfile
|
||||
target: development
|
||||
args:
|
||||
UID: ${UID:-1000}
|
||||
GID: ${GID:-1000}
|
||||
XDEBUG_ENABLED: ${XDEBUG_ENABLED:-true}
|
||||
XDEBUG_MODE: develop,coverage,debug,profile
|
||||
XDEBUG_HOST: ${XDEBUG_HOST:-host.docker.internal}
|
||||
XDEBUG_IDE_KEY: ${XDEBUG_IDE_KEY:-DOCKER}
|
||||
XDEBUG_LOG: /dev/stdout
|
||||
XDEBUG_LOG_LEVEL: 0
|
||||
command: sh -c "sleep 5 && php artisan schedule:work"
|
||||
env_file:
|
||||
- .env
|
||||
user: "${UID:-1000}:${GID:-1000}"
|
||||
volumes:
|
||||
- ./:/var/www
|
||||
networks:
|
||||
- web
|
||||
depends_on:
|
||||
- mariadb
|
||||
|
||||
queue-worker:
|
||||
container_name: "${APP_NAME_SLUG:-laravel-starter-kit}-queue-worker"
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./docker/common/php-fpm/Dockerfile
|
||||
target: development
|
||||
args:
|
||||
UID: ${UID:-1000}
|
||||
GID: ${GID:-1000}
|
||||
XDEBUG_ENABLED: ${XDEBUG_ENABLED:-true}
|
||||
XDEBUG_MODE: develop,coverage,debug,profile
|
||||
XDEBUG_HOST: ${XDEBUG_HOST:-host.docker.internal}
|
||||
XDEBUG_IDE_KEY: ${XDEBUG_IDE_KEY:-DOCKER}
|
||||
XDEBUG_LOG: /dev/stdout
|
||||
XDEBUG_LOG_LEVEL: 0
|
||||
command: sh -c "sleep 5 && php artisan queue:listen --timeout=0 -v"
|
||||
env_file:
|
||||
- .env
|
||||
user: "${UID:-1000}:${GID:-1000}"
|
||||
volumes:
|
||||
- ./:/var/www
|
||||
networks:
|
||||
- web
|
||||
depends_on:
|
||||
- mariadb
|
||||
|
||||
mariadb:
|
||||
container_name: "${APP_NAME_SLUG:-laravel-starter-kit}-mariadb"
|
||||
image: mariadb:latest
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
MARIADB_DATABASE: ${DB_DATABASE:-laravel}
|
||||
MARIADB_USER: ${DB_USERNAME:-laravel}
|
||||
MARIADB_PASSWORD: ${DB_PASSWORD:-secret}
|
||||
MARIADB_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-root}
|
||||
volumes:
|
||||
- mariadb-data:/var/lib/mysql
|
||||
ports:
|
||||
- "${DB_PORT:-3306}:3306"
|
||||
networks:
|
||||
- web
|
||||
|
||||
networks:
|
||||
web:
|
||||
external: true
|
||||
name: web
|
||||
|
||||
volumes:
|
||||
mariadb-data:
|
||||
Reference in New Issue
Block a user