- Install Laravel 12 with Breeze (Vue stack + Inertia.js) - Configure Pest testing framework (5 tests passing) - Add Docker multi-stage build (PHP 8.3 + LibreOffice + ImageMagick) - Create docker-compose.yml with app + node services - Configure Vite for Docker hot-reload - Set app locale to 'de' (German) - Add Vue packages: @vueuse/core, vue-draggable-plus, vue3-dropzone - Update .env.example with all project vars - Relocate spike files: src/Cts/ → app/Cts/ (Laravel autoload) - Tests: 5 passed (14 assertions) - Vite build: successful - Docker: app container running Task: T1 - Laravel Scaffolding + Breeze Vue + Docker
75 lines
1.7 KiB
YAML
75 lines
1.7 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: cts-presenter-app
|
|
restart: unless-stopped
|
|
working_dir: /app
|
|
environment:
|
|
- APP_ENV=${APP_ENV}
|
|
- APP_DEBUG=${APP_DEBUG}
|
|
- APP_KEY=${APP_KEY}
|
|
- APP_URL=${APP_URL}
|
|
- DB_CONNECTION=${DB_CONNECTION}
|
|
- CTS_API_URL=${CTS_API_URL}
|
|
- CTS_API_TOKEN=${CTS_API_TOKEN}
|
|
- CHURCHTOOLS_URL=${CHURCHTOOLS_URL}
|
|
- CHURCHTOOLS_CLIENT_ID=${CHURCHTOOLS_CLIENT_ID}
|
|
- CHURCHTOOLS_CLIENT_SECRET=${CHURCHTOOLS_CLIENT_SECRET}
|
|
- CHURCHTOOLS_REDIRECT_URI=${CHURCHTOOLS_REDIRECT_URI}
|
|
volumes:
|
|
- ./:/app
|
|
- /app/node_modules
|
|
- /app/vendor
|
|
ports:
|
|
- "8000:8000"
|
|
networks:
|
|
- cts-network
|
|
depends_on:
|
|
- node
|
|
|
|
node:
|
|
image: node:20-alpine
|
|
container_name: cts-presenter-node
|
|
restart: unless-stopped
|
|
working_dir: /app
|
|
environment:
|
|
- NODE_ENV=development
|
|
volumes:
|
|
- ./:/app
|
|
- /app/node_modules
|
|
ports:
|
|
- "5173:5173"
|
|
networks:
|
|
- cts-network
|
|
command: npm run dev
|
|
|
|
# Optional: SQLite database service (for reference, SQLite runs in-process)
|
|
# For MySQL, uncomment and configure:
|
|
# mysql:
|
|
# image: mysql:8.0
|
|
# container_name: cts-presenter-mysql
|
|
# restart: unless-stopped
|
|
# environment:
|
|
# MYSQL_DATABASE: ${DB_DATABASE}
|
|
# MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
|
|
# MYSQL_PASSWORD: ${DB_PASSWORD}
|
|
# MYSQL_USER: ${DB_USERNAME}
|
|
# volumes:
|
|
# - mysql_data:/var/lib/mysql
|
|
# ports:
|
|
# - "3306:3306"
|
|
# networks:
|
|
# - cts-network
|
|
|
|
networks:
|
|
cts-network:
|
|
driver: bridge
|
|
|
|
# volumes:
|
|
# mysql_data:
|
|
# driver: local
|