| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- version: '3.8'
- services:
- # Backend PHP Service
- backend:
- build:
- context: .
- dockerfile: Dockerfile
- container_name: inventory-backend
- ports:
- - "${BACKEND_PORT:-8080}:80"
- environment:
- - DB_HOST=${DB_HOST}
- - DB_PORT=${DB_PORT}
- - DB_NAME=${DB_NAME}
- - DB_USER=${DB_USER}
- - DB_PASS=${DB_PASS}
- - COMPANY_NAME=${COMPANY_NAME:-Inventory Management}
- - COMPANY_ADDRESS=${COMPANY_ADDRESS:-123 Business St}
- - COMPANY_CITY=${COMPANY_CITY:-Helsinki}
- - COMPANY_POSTAL_CODE=${COMPANY_POSTAL_CODE:-00100}
- - COMPANY_COUNTRY=${COMPANY_COUNTRY:-Finland}
- - COMPANY_PHONE=${COMPANY_PHONE:-+358 123 456 789}
- - COMPANY_EMAIL=${COMPANY_EMAIL:-info@company.com}
- - COMPANY_Y_TUNNUS=${COMPANY_Y_TUNNUS:-1234567-8}
- - UPLOAD_MAX_SIZE=${UPLOAD_MAX_SIZE:-10M}
- - ALLOWED_FILE_TYPES=${ALLOWED_FILE_TYPES:-pdf,doc,docx,xls,xlsx,jpg,jpeg,png,gif}
- volumes:
- - uploads_data:/var/www/html/uploads
- - ./backend:/var/www/html
- networks:
- - inventory-network
- restart: unless-stopped
- # Frontend Vue.js Service
- frontend:
- build:
- context: ./frontend
- dockerfile: Dockerfile
- container_name: inventory-frontend
- ports:
- - "${FRONTEND_PORT:-3000}:80"
- environment:
- - VUE_APP_API_URL=${VUE_APP_API_URL:-http://localhost:8080}
- depends_on:
- - backend
- networks:
- - inventory-network
- restart: unless-stopped
- # Redis Cache Service (Optional)
- redis:
- image: redis:7-alpine
- container_name: inventory-redis
- ports:
- - "${REDIS_PORT:-6379}:6379"
- volumes:
- - redis_data:/data
- networks:
- - inventory-network
- restart: unless-stopped
- command: redis-server --appendonly yes
- volumes:
- redis_data:
- driver: local
- uploads_data:
- driver: local
- driver_opts:
- type: none
- o: bind
- device: ${UPLOADS_PATH:-./uploads}
- networks:
- inventory-network:
- driver: bridge
|